[PATCH v2 8/8] arm: dts: lpc32xx: move USB controller subdevices into own device node

Rob Herring robh at kernel.org
Fri Nov 20 11:47:37 PST 2015


On Sat, Oct 17, 2015 at 4:35 PM, Vladimir Zapolskiy <vz at mleia.com> wrote:
> NXP LPC32xx SoC has one USB OTG controller, which is supposed to work
> with an external phy (default is NXP ISP1301).
>
> Practically the USB controller contains 5 subdevices:
> - host controller   0x3102 0000 -- 0x3102 00FF
> - OTG controller    0x3102 0100 -- 0x3102 01FF
> - device controller 0x3102 0200 -- 0x3102 02FF
> - I2C controller    0x3102 0300 -- 0x3102 03FF
> - clock controller  0x3102 0F00 -- 0x3102 0FFF

[...]

> -               /*
> -                * Enable either ohci or usbd (gadget)!
> -                */
> -               ohci: ohci at 31020000 {
> -                       compatible = "nxp,ohci-nxp", "usb-ohci";
> -                       reg = <0x31020000 0x300>;
> -                       interrupts = <0x3b 0>;
> -                       status = "disabled";
> -               };
> +               usb {
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       compatible = "simple-bus";
> +                       ranges = <0x0 0x31020000 0x00001000>;
>
> -               usbd: usbd at 31020000 {
> -                       compatible = "nxp,lpc3220-udc";
> -                       reg = <0x31020000 0x300>;
> -                       interrupts = <0x3d 0>, <0x3e 0>, <0x3c 0>, <0x3a 0>;
> -                       status = "disabled";
> +                       /*
> +                        * Enable either ohci or usbd (gadget)!
> +                        */
> +                       ohci: ohci at 0 {
> +                               compatible = "nxp,ohci-nxp", "usb-ohci";
> +                               reg = <0x0 0x300>;
> +                               interrupts = <0x3b 0>;
> +                               status = "disabled";
> +                       };
> +
> +                       usbd: usbd at 0 {
> +                               compatible = "nxp,lpc3220-udc";
> +                               reg = <0x0 0x300>;

Not a result of this change, but you are overlapping addresses. Please
don't do that. It causes problems adding device resources into the
resource tree (i.e. request_resource).

Rob



More information about the linux-arm-kernel mailing list