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

Heiko Schocher
2016-04-18T06:07:47Z

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@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