[Lenny400] [Mipsbook-devel] Reviewing the Ingenic board initialisation code
Dr. H. Nikolaus Schaller
hns at goldelico.com
Tue Jun 9 19:21:00 CEST 2015
Am 09.06.2015 um 18:36 schrieb Paul Boddie <paul at boddie.org.uk>:
> On Tuesday 9. June 2015 17.26.07 Dr. H. Nikolaus Schaller wrote:
>> I have to correct myself.
>> Yesterday, JZ4740 DT support has found its way into linux-next:
>> So we definitvely will see it as part of the 4.2-rc series :)
> Yes, it looks like the beginning of full device tree support, at least.
And it is a good basis to start our new JZ4730 work on. Bugs and regressions
will appear of course, but much less than earlier.
>> A minor problem will be how to boot a DT kernel… We can’t easily modify
>> U-Boot to load the .dtb and pass its address to the bootm command.
>> But it is usually possible to append the DTB before using mkimage to build
>> an uImage. Then, the kernel startup code will scan the kernel binary for a
>> I hope this mechanism exists for MIPS as well and not only for ARM. It
>> needs some CONFIG to be enabled.
>> We also use this method for the GTA04 if we boot from NAND. There we also
>> can’t load a separate DTB (because we have no dedicated partition for it).
>> Here is the code that merges an existing uImage and some DTB into a
>> bootable thing:
> I imagine that booting a single payload with appended DT information is
> probably desirable in many different environments. Indeed, I thought that this
> was being widely done on the supported platforms already.
Well, in my experience it is easier to have a common binary uImage that
fits all devices and just change the device tree file that is loaded by u-boot.
This avoids the step of making and publishing n different uImages for n devices.
Just n different small DTB files. And, DTB should become stable, i.e. survive
kernel upgrades so that only the uImage needs to be swapped.
Finally, the file name of the DTB can match the device name.Since U-Boot is
usually also device specific it is easier to distribute an U-Boot+DTB bundle
and a separate kernel image.
But in practice both approaches can be found.
More information about the Lenny400