arm64: dts: imx8mp-debix: add USB host support

This adds support for the 4 USB3 host ports on the board, which are
connected to the i.MX8MP SoC via a Realtek RTS5411 hub.

As the schematic for the board is not available, I could not validate
that this really reflects the reality, but I modeled things after the
hacked in usage of the GPIOs in the downstream kernel.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
Lucas Stach
2023-02-28 18:02:47 +01:00
committed by Shawn Guo
parent 09220adf9c
commit 0253e1cb63

View File

@@ -43,6 +43,17 @@
gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
reg_usb_hub: regulator-usb-hub {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reg_usb_hub>;
regulator-name = "USB_HUB";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio4 26 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
}; };
&A53_0 { &A53_0 {
@@ -254,6 +265,41 @@
status = "okay"; status = "okay";
}; };
&usb3_phy1 {
status = "okay";
};
&usb3_1 {
status = "okay";
};
&usb_dwc3_1 {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb1>;
dr_mode = "host";
status = "okay";
/* 2.x hub on port 1 */
usb_hub_2_x: hub@1 {
compatible = "usbbda,5411";
reg = <1>;
reset-gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
vdd-supply = <&reg_usb_hub>;
peer-hub = <&usb_hub_3_x>;
};
/* 3.x hub on port 2 */
usb_hub_3_x: hub@2 {
compatible = "usbbda,411";
reg = <2>;
reset-gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
vdd-supply = <&reg_usb_hub>;
peer-hub = <&usb_hub_2_x>;
};
};
/* SD Card */ /* SD Card */
&usdhc2 { &usdhc2 {
pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-names = "default", "state_100mhz", "state_200mhz";
@@ -384,6 +430,12 @@
>; >;
}; };
pinctrl_reg_usb_hub: regusbhubgrp {
fsl,pins = <
MX8MP_IOMUXC_SAI2_TXD0__GPIO4_IO26 0x19
>;
};
pinctrl_rtc_int: rtcintgrp { pinctrl_rtc_int: rtcintgrp {
fsl,pins = < fsl,pins = <
MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x140 MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x140
@@ -411,6 +463,13 @@
>; >;
}; };
pinctrl_usb1: usb1grp {
fsl,pins = <
MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR 0x10
MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25 0x19
>;
};
pinctrl_usdhc2: usdhc2grp { pinctrl_usdhc2: usdhc2grp {
fsl,pins = < fsl,pins = <
MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190 MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190