[PATCH v1 2/4] arm64: dts: imx8mq-nitrogen: add USB HOST support

Adrien Grassein adrien.grassein at gmail.com
Tue Mar 30 09:35:12 BST 2021


Add the description for the USB host port.
At this time, the port will not work directly from the
kernel because it's connected through a resettable hub
that is not handle in the kernel. It should be controlled
in the bootloader or in the userspace.

In the case of the Boundary's u-boot, this is done on the
boot script:
"
starting USB...
Bus usb at 38100000: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
Bus usb at 38200000: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb at 38100000 for devices... 1 USB Device(s) found
scanning bus usb at 38200000 for devices... 3 USB Device(s) found
"

Signed-off-by: Adrien Grassein <adrien.grassein at gmail.com>
---
 .../boot/dts/freescale/imx8mq-nitrogen.dts    | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts b/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
index b46f45a82be1..7a52e247c527 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
@@ -213,6 +213,22 @@ &usb3_phy0 {
 	status = "okay";
 };
 
+&usb_dwc3_1 {
+	dr_mode = "host";
+	status = "okay";
+};
+
+/*
+ * On this board, USB host is connected to a resettable hub.
+ * The reset signal is connected to the GPIO <&gpio1 14 GPIO_ACTIVE_LOW>.
+ * You need to activate it in the bootloader or in the userspace.
+ */
+&usb3_phy1 {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usb3_1>;
+};
+
 &usdhc1 {
 	assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>;
 	assigned-clock-rates = <400000000>;
@@ -388,6 +404,12 @@ MX8MQ_IOMUXC_GPIO1_IO13_USB1_OTG_OC		0x16
 		>;
 	};
 
+	pinctrl_usb3_1: usb3-1grp {
+		fsl,pins = <
+			MX8MQ_IOMUXC_GPIO1_IO14_GPIO1_IO14		0x16
+		>;
+	};
+
 	pinctrl_usdhc1: usdhc1grp {
 		fsl,pins = <
 			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x83
-- 
2.25.1




More information about the linux-arm-kernel mailing list