[U-Boot] [PATCH 0/7] Fix incorrect usage of the (FIT) DT node unit address
Masahiro Yamada
yamada.masahiro at socionext.com
Tue Dec 12 04:50:50 UTC 2017
Hi Simon,
2017-12-12 13:38 GMT+09:00 Simon Glass <sjg at chromium.org>:
> Hi Andre,
>
> On 3 December 2017 at 19:05, Andre Przywara <andre.przywara at arm.com> wrote:
>> The DT spec[1] demands a unit-address in a node name (name at address) to
>> match the "reg" property inside that node:
>> uart0: serial at 1c28000 {
>> reg = <0x01c28000 0x400>;
>> ....
>> If there is no reg property in a node, there must not be a unit address
>> in the node name as well (so no '@' sign at all).
>>
>> Newer version of the device tree compiler (dtc) will warn about violations
>> of this rule:
>> ....
>> <stdout>: Warning (unit_address_vs_reg): Node /images/fdt at 1 has a unit name,
>> but no reg property
>> ....
>>
>> To avoid those warnings, but still keep enumerable node names, we replace
>> the "@" sign with a dash ("-"), which does not have a specical meaning,
>> but is a valid node name character. So the first fdt file (as referenced
>> above in the warning message) would be called "fdt-1" instead.
>>
>> This affects mostly documenation files and some examples of FIT image
>> files, but also some code which actually generates FIT images:
>> - The first four patches fix documentation, example files and comments,
>> they should not affect actual generated code or files.
>> In places where having multiple instances of a node is normal (fdt,
>> hash, signature), I simply replaced the '@' sign with the dash.
>> Where one would expect only one instance (kernel, initrd), I removed the
>> bogus '@1' completely, so a "kernel" just goes by just this very name.
>> - Patch 5/7 fixes the usage in the Allwinner SPL FIT image files, this has
>> been on the list before.
>> - Patch 6/7 fixes the usage when the mkimage tool (auto-)generates FIT images.
>> - The final patch 7/7 fixes the usage for the ARMv8 secure firmware image
>> handling. I am a bit unsure about this one, as this seems to *look* for
>> a specific node name, which sounds a bit dodgy to me. I think DT parsers
>> should never rely on a certain node name, but either use references or look
>> inside nodes to find a matching one. Also I am not sure who actually
>> generates those FIT image files this code gets to read. Any input would
>> be welcome here.
>>
>> Please let me know if this makes some sense or not.
>
> I thought I read somewhere that there is a dtc option to turn off
> these warnings?
>
I think -Wno-unit_address_vs_reg is the one,
but I prefer to fix the root cause by replacing @
instead of hiding it.
--
Best Regards
Masahiro Yamada
More information about the U-Boot
mailing list