1 From f40cf244c3feb4e1a442f8029b691add2c65b3ab Mon Sep 17 00:00:00 2001
2 From: Andre Przywara <andre.przywara@arm.com>
3 Date: Mon, 31 Oct 2022 11:13:56 +0000
4 Subject: [PATCH] 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>
13 Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
14 Link: https://lore.kernel.org/r/20221031111358.3387297-6-andre.przywara@arm.com
15 Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
17 .../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 160 ++++++++++++++++++
18 1 file changed, 160 insertions(+)
20 --- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
21 +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
26 + usbotg: usb@5100000 {
27 + compatible = "allwinner,sun50i-h616-musb",
28 + "allwinner,sun8i-h3-musb";
29 + reg = <0x05100000 0x0400>;
30 + clocks = <&ccu CLK_BUS_OTG>;
31 + resets = <&ccu RST_BUS_OTG>;
32 + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
33 + interrupt-names = "mc";
36 + extcon = <&usbphy 0>;
37 + status = "disabled";
40 + usbphy: phy@5100400 {
41 + compatible = "allwinner,sun50i-h616-usb-phy";
42 + reg = <0x05100400 0x24>,
47 + reg-names = "phy_ctrl",
52 + clocks = <&ccu CLK_USB_PHY0>,
53 + <&ccu CLK_USB_PHY1>,
54 + <&ccu CLK_USB_PHY2>,
55 + <&ccu CLK_USB_PHY3>,
56 + <&ccu CLK_BUS_EHCI2>;
57 + clock-names = "usb0_phy",
62 + resets = <&ccu RST_USB_PHY0>,
63 + <&ccu RST_USB_PHY1>,
64 + <&ccu RST_USB_PHY2>,
65 + <&ccu RST_USB_PHY3>;
66 + reset-names = "usb0_reset",
70 + status = "disabled";
74 + ehci0: usb@5101000 {
75 + compatible = "allwinner,sun50i-h616-ehci",
77 + reg = <0x05101000 0x100>;
78 + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
79 + clocks = <&ccu CLK_BUS_OHCI0>,
80 + <&ccu CLK_BUS_EHCI0>,
81 + <&ccu CLK_USB_OHCI0>;
82 + resets = <&ccu RST_BUS_OHCI0>,
83 + <&ccu RST_BUS_EHCI0>;
86 + status = "disabled";
89 + ohci0: usb@5101400 {
90 + compatible = "allwinner,sun50i-h616-ohci",
92 + reg = <0x05101400 0x100>;
93 + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
94 + clocks = <&ccu CLK_BUS_OHCI0>,
95 + <&ccu CLK_USB_OHCI0>;
96 + resets = <&ccu RST_BUS_OHCI0>;
99 + status = "disabled";
102 + ehci1: usb@5200000 {
103 + compatible = "allwinner,sun50i-h616-ehci",
105 + reg = <0x05200000 0x100>;
106 + interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
107 + clocks = <&ccu CLK_BUS_OHCI1>,
108 + <&ccu CLK_BUS_EHCI1>,
109 + <&ccu CLK_USB_OHCI1>;
110 + resets = <&ccu RST_BUS_OHCI1>,
111 + <&ccu RST_BUS_EHCI1>;
112 + phys = <&usbphy 1>;
114 + status = "disabled";
117 + ohci1: usb@5200400 {
118 + compatible = "allwinner,sun50i-h616-ohci",
120 + reg = <0x05200400 0x100>;
121 + interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
122 + clocks = <&ccu CLK_BUS_OHCI1>,
123 + <&ccu CLK_USB_OHCI1>;
124 + resets = <&ccu RST_BUS_OHCI1>;
125 + phys = <&usbphy 1>;
127 + status = "disabled";
130 + ehci2: usb@5310000 {
131 + compatible = "allwinner,sun50i-h616-ehci",
133 + reg = <0x05310000 0x100>;
134 + interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
135 + clocks = <&ccu CLK_BUS_OHCI2>,
136 + <&ccu CLK_BUS_EHCI2>,
137 + <&ccu CLK_USB_OHCI2>;
138 + resets = <&ccu RST_BUS_OHCI2>,
139 + <&ccu RST_BUS_EHCI2>;
140 + phys = <&usbphy 2>;
142 + status = "disabled";
145 + ohci2: usb@5310400 {
146 + compatible = "allwinner,sun50i-h616-ohci",
148 + reg = <0x05310400 0x100>;
149 + interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
150 + clocks = <&ccu CLK_BUS_OHCI2>,
151 + <&ccu CLK_USB_OHCI2>;
152 + resets = <&ccu RST_BUS_OHCI2>;
153 + phys = <&usbphy 2>;
155 + status = "disabled";
158 + ehci3: usb@5311000 {
159 + compatible = "allwinner,sun50i-h616-ehci",
161 + reg = <0x05311000 0x100>;
162 + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
163 + clocks = <&ccu CLK_BUS_OHCI3>,
164 + <&ccu CLK_BUS_EHCI3>,
165 + <&ccu CLK_USB_OHCI3>;
166 + resets = <&ccu RST_BUS_OHCI3>,
167 + <&ccu RST_BUS_EHCI3>;
168 + phys = <&usbphy 3>;
170 + status = "disabled";
173 + ohci3: usb@5311400 {
174 + compatible = "allwinner,sun50i-h616-ohci",
176 + reg = <0x05311400 0x100>;
177 + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
178 + clocks = <&ccu CLK_BUS_OHCI3>,
179 + <&ccu CLK_USB_OHCI3>;
180 + resets = <&ccu RST_BUS_OHCI3>;
181 + phys = <&usbphy 3>;
183 + status = "disabled";
187 compatible = "allwinner,sun50i-h616-rtc";
188 reg = <0x07000000 0x400>;