Re: strange dtc errors after adding sram node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Saturday 23 April 2016 09:46:07 Stefan Wahren wrote:
> -       ahb@80080000 {
> +       ahb@00000000 {
>                 compatible = "simple-bus";
>                 #address-cells = <1>;
>                 #size-cells = <1>;
> -               reg = <0x80080000 0x80000>;
> +               reg = <0x00000000 0x20000>, <0x80080000 0x80000>;
>                 ranges;
> 
> +               ocram: sram@00000000 {
> +                       compatible = "mmio-sram";
> +                       reg = <0x00000000 0x20000>;
> +               };
> +
>                 usb0: usb@80080000 {
>                         compatible = "fsl,imx28-usb", "fsl,imx27-usb";
>                         reg = <0x80080000 0x10000>;

Something odd about this is that you have duplicated addresses:
The sram node has the same "reg" property as the "ahb" node, 
and also the  existing address (0x80080000) overlaps with that of
the usb node.

The registers of a device should generally be non-overlapping
with registers of other devices.

Further, the binding of "simple-bus" doesn't specify any particular
register layout for its internal register set.

My best guess is that the author of the original dts file confused
the 'reg' property of the ahb node with a 'ranges' property that should
list which address range gets translated into what child addresses.

I don't see how that could lead to the dtc error you get, but it's
probably worth fixing anyway.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux