Skip to content

Commit a8bd7f1

Browse files
nxpfrankliShawn Guo
authored andcommitted
arm64: dts: imx8qxp: add cadence usb3 support
There are cadence usb3.0 controller in 8qxp and 8qm. Add usb3 node at common connect subsystem. Signed-off-by: Frank Li <Frank.Li@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
1 parent 2858e62 commit a8bd7f1

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,53 @@ conn_subsys: bus@5b000000 {
138138
status = "disabled";
139139
};
140140

141+
usbotg3: usb@5b110000 {
142+
compatible = "fsl,imx8qm-usb3";
143+
reg = <0x5b110000 0x10000>;
144+
#address-cells = <1>;
145+
#size-cells = <1>;
146+
ranges;
147+
clocks = <&usb3_lpcg IMX_LPCG_CLK_1>,
148+
<&usb3_lpcg IMX_LPCG_CLK_0>,
149+
<&usb3_lpcg IMX_LPCG_CLK_7>,
150+
<&usb3_lpcg IMX_LPCG_CLK_4>,
151+
<&usb3_lpcg IMX_LPCG_CLK_5>;
152+
clock-names = "lpm", "bus", "aclk", "ipg", "core";
153+
assigned-clocks = <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MST_BUS>;
154+
assigned-clock-rates = <250000000>;
155+
power-domains = <&pd IMX_SC_R_USB_2>;
156+
status = "disabled";
157+
158+
usbotg3_cdns3: usb@5b120000 {
159+
compatible = "cdns,usb3";
160+
reg = <0x5b130000 0x10000>, /* memory area for HOST registers */
161+
<0x5b140000 0x10000>, /* memory area for DEVICE registers */
162+
<0x5b120000 0x10000>; /* memory area for OTG/DRD registers */
163+
reg-names = "xhci", "dev", "otg";
164+
#address-cells = <1>;
165+
#size-cells = <1>;
166+
interrupt-parent = <&gic>;
167+
interrupts = <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
168+
<GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
169+
<GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
170+
<GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>;
171+
interrupt-names = "host", "peripheral", "otg", "wakeup";
172+
phys = <&usb3_phy>;
173+
phy-names = "cdns3,usb3-phy";
174+
status = "disabled";
175+
};
176+
};
177+
178+
usb3_phy: usb-phy@5b160000 {
179+
compatible = "nxp,salvo-phy";
180+
reg = <0x5b160000 0x40000>;
181+
clocks = <&usb3_lpcg IMX_LPCG_CLK_6>;
182+
clock-names = "salvo_phy_clk";
183+
power-domains = <&pd IMX_SC_R_USB_2_PHY>;
184+
#phy-cells = <0>;
185+
status = "disabled";
186+
};
187+
141188
/* LPCG clocks */
142189
sdhc0_lpcg: clock-controller@5b200000 {
143190
compatible = "fsl,imx8qxp-lpcg";
@@ -234,4 +281,26 @@ conn_subsys: bus@5b000000 {
234281
clock-output-names = "usboh3_ahb_clk", "usboh3_phy_ipg_clk";
235282
power-domains = <&pd IMX_SC_R_USB_0_PHY>;
236283
};
284+
285+
usb3_lpcg: clock-controller@5b280000 {
286+
compatible = "fsl,imx8qxp-lpcg";
287+
reg = <0x5b280000 0x10000>;
288+
#clock-cells = <1>;
289+
clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_1>,
290+
<IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>,
291+
<IMX_LPCG_CLK_6>, <IMX_LPCG_CLK_7>;
292+
clocks = <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_PER>,
293+
<&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MISC>,
294+
<&conn_ipg_clk>,
295+
<&conn_ipg_clk>,
296+
<&conn_ipg_clk>,
297+
<&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MST_BUS>;
298+
clock-output-names = "usb3_app_clk",
299+
"usb3_lpm_clk",
300+
"usb3_ipg_clk",
301+
"usb3_core_pclk",
302+
"usb3_phy_clk",
303+
"usb3_aclk";
304+
power-domains = <&pd IMX_SC_R_USB_2_PHY>;
305+
};
237306
};

0 commit comments

Comments
 (0)