1 From 4cfd9d9350a57fc3ced240dbf61ca2f444283c50 Mon Sep 17 00:00:00 2001
2 From: Andre Przywara <andre.przywara@arm.com>
3 Date: Wed, 16 Jun 2021 18:20:47 +0100
4 Subject: [PATCH 5004/5006] arm64: dts: allwinner: h616: Add USB nodes
6 Add the nodes for the MUSB and the four USB host controllers to the SoC
7 .dtsi, along with the PHY node needed to bind all of them together.
9 EHCI/OHCI and MUSB are compatible to previous SoCs, but the PHY requires
10 some quirks (handled in the driver).
12 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
14 .../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 160 ++++++++++++++++++
15 1 file changed, 160 insertions(+)
17 --- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
18 +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
23 + usbotg: usb@5100000 {
24 + compatible = "allwinner,sun50i-h616-musb",
25 + "allwinner,sun8i-h3-musb";
26 + reg = <0x05100000 0x0400>;
27 + clocks = <&ccu CLK_BUS_OTG>;
28 + resets = <&ccu RST_BUS_OTG>;
29 + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
30 + interrupt-names = "mc";
33 + extcon = <&usbphy 0>;
34 + status = "disabled";
37 + usbphy: phy@5100400 {
38 + compatible = "allwinner,sun50i-h616-usb-phy";
39 + reg = <0x05100400 0x24>,
44 + reg-names = "phy_ctrl",
49 + clocks = <&ccu CLK_USB_PHY0>,
50 + <&ccu CLK_USB_PHY1>,
51 + <&ccu CLK_USB_PHY2>,
52 + <&ccu CLK_USB_PHY3>,
53 + <&ccu CLK_BUS_EHCI2>;
54 + clock-names = "usb0_phy",
59 + resets = <&ccu RST_USB_PHY0>,
60 + <&ccu RST_USB_PHY1>,
61 + <&ccu RST_USB_PHY2>,
62 + <&ccu RST_USB_PHY3>;
63 + reset-names = "usb0_reset",
67 + status = "disabled";
71 + ehci0: usb@5101000 {
72 + compatible = "allwinner,sun50i-h616-ehci",
74 + reg = <0x05101000 0x100>;
75 + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
76 + clocks = <&ccu CLK_BUS_OHCI0>,
77 + <&ccu CLK_BUS_EHCI0>,
78 + <&ccu CLK_USB_OHCI0>;
79 + resets = <&ccu RST_BUS_OHCI0>,
80 + <&ccu RST_BUS_EHCI0>;
83 + status = "disabled";
86 + ohci0: usb@5101400 {
87 + compatible = "allwinner,sun50i-h616-ohci",
89 + reg = <0x05101400 0x100>;
90 + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
91 + clocks = <&ccu CLK_BUS_OHCI0>,
92 + <&ccu CLK_USB_OHCI0>;
93 + resets = <&ccu RST_BUS_OHCI0>;
96 + status = "disabled";
99 + ehci1: usb@5200000 {
100 + compatible = "allwinner,sun50i-h616-ehci",
102 + reg = <0x05200000 0x100>;
103 + interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
104 + clocks = <&ccu CLK_BUS_OHCI1>,
105 + <&ccu CLK_BUS_EHCI1>,
106 + <&ccu CLK_USB_OHCI1>;
107 + resets = <&ccu RST_BUS_OHCI1>,
108 + <&ccu RST_BUS_EHCI1>;
109 + phys = <&usbphy 1>;
111 + status = "disabled";
114 + ohci1: usb@5200400 {
115 + compatible = "allwinner,sun50i-h616-ohci",
117 + reg = <0x05200400 0x100>;
118 + interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
119 + clocks = <&ccu CLK_BUS_OHCI1>,
120 + <&ccu CLK_USB_OHCI1>;
121 + resets = <&ccu RST_BUS_OHCI1>;
122 + phys = <&usbphy 1>;
124 + status = "disabled";
127 + ehci2: usb@5310000 {
128 + compatible = "allwinner,sun50i-h616-ehci",
130 + reg = <0x05310000 0x100>;
131 + interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
132 + clocks = <&ccu CLK_BUS_OHCI2>,
133 + <&ccu CLK_BUS_EHCI2>,
134 + <&ccu CLK_USB_OHCI2>;
135 + resets = <&ccu RST_BUS_OHCI2>,
136 + <&ccu RST_BUS_EHCI2>;
137 + phys = <&usbphy 2>;
139 + status = "disabled";
142 + ohci2: usb@5310400 {
143 + compatible = "allwinner,sun50i-h616-ohci",
145 + reg = <0x05310400 0x100>;
146 + interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
147 + clocks = <&ccu CLK_BUS_OHCI2>,
148 + <&ccu CLK_USB_OHCI2>;
149 + resets = <&ccu RST_BUS_OHCI2>;
150 + phys = <&usbphy 2>;
152 + status = "disabled";
155 + ehci3: usb@5311000 {
156 + compatible = "allwinner,sun50i-h616-ehci",
158 + reg = <0x05311000 0x100>;
159 + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
160 + clocks = <&ccu CLK_BUS_OHCI3>,
161 + <&ccu CLK_BUS_EHCI3>,
162 + <&ccu CLK_USB_OHCI3>;
163 + resets = <&ccu RST_BUS_OHCI3>,
164 + <&ccu RST_BUS_EHCI3>;
165 + phys = <&usbphy 3>;
167 + status = "disabled";
170 + ohci3: usb@5311400 {
171 + compatible = "allwinner,sun50i-h616-ohci",
173 + reg = <0x05311400 0x100>;
174 + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
175 + clocks = <&ccu CLK_BUS_OHCI3>,
176 + <&ccu CLK_USB_OHCI3>;
177 + resets = <&ccu RST_BUS_OHCI3>;
178 + phys = <&usbphy 3>;
180 + status = "disabled";
184 compatible = "allwinner,sun50i-h616-rtc";
185 reg = <0x07000000 0x400>;