[U-Boot] [PATCH] arm: dts: socfpga: fix DTC unit name warnings

Heiko Schocher hs at denx.de
Mon Apr 18 08:07:47 CEST 2016


Hello Pavel,

Am 17.04.2016 um 23:55 schrieb Pavel Machek:
> Hi!
>
>> Warning (unit_address_vs_reg): Node /soc/usbphy at 0 has a unit name,
>>   but no reg property
>
> I don't know who produces the warnings, but perhaps fix the tool,
> instead?

This warnigns poping up with new DTC compilers, introduced from dtc
commit:

commit c9d9121683b35281239305e15adddfff2b462cf9
Author: Stephen Warren <swarren at nvidia.com>
Date:   Fri Feb 19 15:59:29 2016 +1100

     Warn on node name unit-address presence/absence mismatch

     ePAPR 1.1 section 2.2.1.1 "Node Name Requirements" specifies that any
     node that has a reg property must include a unit address in its name
     with value matching the first entry in its reg property. Conversely, if
     a node does not have a reg property, the node name must not include a
     unit address. Also allow ranges property as it is deemed valid, but ePAPR
     is not clear about it.

     Implement a check for this. The code doesn't validate the format of the
     unit address; ePAPR implies this may vary from (containing bus) binding
     to binding, so doing so would be much more complex.

So, the DTS are wrong, and need fixing ...

>> @@ -9,5 +9,5 @@
>>   	#size-cells = <1>;
>>   	chosen { };
>>   	aliases { };
>> -	memory { device_type = "memory"; reg = <0 0>; };
>> +	memory at 0 { device_type = "memory"; reg = <0 0>; };
>>   };
>
> This does not look like an improvement to me...
>
>> @@ -128,7 +128,7 @@
>>   						compatible = "fixed-clock";
>>   					};
>>
>> -					main_pll: main_pll {
>> +					main_pll: main_pll at 40 {
>>   						#address-cells = <1>;
>>   						#size-cells = <0>;
>>   						#clock-cells = <0>;
>> @@ -136,7 +136,7 @@
>>   						clocks = <&osc1>;
>>   						reg = <0x40>;
>>
>> -						mpuclk: mpuclk {
>> +						mpuclk: mpuclk at 48 {
>>   							#clock-cells = <0>;
>>   							compatible = "altr,socfpga-perip-clk";
>>   							clocks = <&main_pll>;
>
> Neither do these, actually. So we have clock at fixed addresses. Why
> is it wrong?

see commit message ...

>> @@ -742,7 +742,7 @@
>>   			reg = <0xffd05000 0x1000>;
>>   		};
>>
>> -		usbphy0: usbphy at 0 {
>> +		usbphy0: usbphy {
>>   			#phy-cells = <0>;
>>   			compatible = "usb-nop-xceiv";
>>   			status = "okay";
>
> And this sounds like a bug waiting to happen..

Better fix would be to add the reg property .. could you help me?

bye,
Heiko
-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list