]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
ARM: dts: Add Aspeed SoC USB controllers to device-tree
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 13 Apr 2018 04:40:38 +0000 (14:40 +1000)
committerJoel Stanley <joel@jms.id.au>
Fri, 25 May 2018 04:27:30 +0000 (13:57 +0930)
This adds the USB controllers to the DT template of the
AST24xx and AST25xx SoCs.

This patch doesn't enable them by default on any board specific
.dts yet. This will be done when we have the necessary clock/reset
and pinmux support. In the meantime though, this will work if
u-boot configures things properly.

For the AST2400 I only added pinmux definition for port 1
which is dual USB1/USB2. There are additional USB1 only ports
that might require more work but I don't have HW to test at
hand so I'm leaving that to whoever cares.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Joel Stanley <joel@jms.id.au>
arch/arm/boot/dts/aspeed-g4.dtsi
arch/arm/boot/dts/aspeed-g5.dtsi

index 8d7303ad52735e8cb1bf405f192f3b45ba807f40..5e947ed496c2800a21e61e7e20952debc2c3581a 100644 (file)
                        status = "disabled";
                };
 
+               ehci0: usb@1e6a1000 {
+                       compatible = "aspeed,ast2400-ehci", "generic-ehci";
+                       reg = <0x1e6a1000 0x100>;
+                       interrupts = <5>;
+                       clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>;
+                       status = "disabled";
+               };
+
+               uhci: usb@1e6b0000 {
+                       compatible = "aspeed,ast2400-uhci", "generic-uhci";
+                       reg = <0x1e6b0000 0x100>;
+                       interrupts = <14>;
+                       #ports = <3>;
+                       clocks = <&syscon ASPEED_CLK_GATE_USBUHCICLK>;
+                       status = "disabled";
+               };
+
                apb {
                        compatible = "simple-bus";
                        #address-cells = <1>;
                groups = "USBCKI";
        };
 
+       pinctrl_usb2h_default: usb2h_default {
+               function = "USB2H1";
+               groups = "USB2H1";
+       };
+
+       pinctrl_usb2d_default: usb2d_default {
+               function = "USB2D1";
+               groups = "USB2D1";
+       };
+
        pinctrl_vgabios_rom_default: vgabios_rom_default {
                function = "VGABIOS_ROM";
                groups = "VGABIOS_ROM";
index c4a20d590e47de05a4805724bc0a7778a79e97b6..24eec00c4a95235701809b47098c88ae1ab1aad4 100644 (file)
                        status = "disabled";
                };
 
+               ehci0: usb@1e6a1000 {
+                       compatible = "aspeed,ast2500-ehci", "generic-ehci";
+                       reg = <0x1e6a1000 0x100>;
+                       interrupts = <5>;
+                       clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>;
+                       status = "disabled";
+               };
+
+               ehci1: usb@1e6a3000 {
+                       compatible = "aspeed,ast2500-ehci", "generic-ehci";
+                       reg = <0x1e6a3000 0x100>;
+                       interrupts = <13>;
+                       clocks = <&syscon ASPEED_CLK_GATE_USBPORT2CLK>;
+                       status = "disabled";
+               };
+
+               uhci: usb@1e6b0000 {
+                       compatible = "aspeed,ast2500-uhci", "generic-uhci";
+                       reg = <0x1e6b0000 0x100>;
+                       interrupts = <14>;
+                       #ports = <2>;
+                       clocks = <&syscon ASPEED_CLK_GATE_USBUHCICLK>;
+                       status = "disabled";
+               };
+
                apb {
                        compatible = "simple-bus";
                        #address-cells = <1>;
                groups = "USBCKI";
        };
 
+       pinctrl_usb2ah_default: usb2ah_default {
+               function = "USB2AH";
+               groups = "USB2AH";
+       };
+
+       pinctrl_usb11bhid_default: usb11bhid_default {
+               function = "USB11BHID";
+               groups = "USB11BHID";
+       };
+
+       pinctrl_usb2bh_default: usb2bh_default {
+               function = "USB2BH";
+               groups = "USB2BH";
+       };
+
        pinctrl_vgabiosrom_default: vgabiosrom_default {
                function = "VGABIOSROM";
                groups = "VGABIOSROM";