Re: [PATCH] arm64: dts: imx8mq-nitrogen: add USB support
From: Adrien Grassein <hidden>
Date: 2021-01-28 15:43:35
Also in:
linux-devicetree, lkml
Hi Gary, Le jeu. 28 janv. 2021 à 14:30, Gary Bisson [off-list ref] a écrit :
Hi Adrien, Thanks for improving Nitrogen upstream, much appreciated. On Tue, Jan 26, 2021 at 10:55:11PM +0100, Adrien Grassein wrote:quoted
add USB support for imx8mq-nitrogen. It consists in 2 phys: OTG and host. The OTG port uses a dedicated regulator for vbus. Signed-off-by: Adrien Grassein <redacted> --- .../boot/dts/freescale/imx8mq-nitrogen.dts | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+)diff --git a/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts b/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts index 81d269296610..fb8acd83a280 100644 --- a/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts +++ b/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts@@ -34,6 +34,17 @@ power { }; }; + reg_usb_otg_vbus: regulator-usb-otg-vbus { + compatible = "regulator-fixed"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_reg_usbotg_vbus>; + regulator-name = "usb_otg_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + reg_vref_0v9: regulator-vref-0v9 { compatible = "regulator-fixed"; regulator-name = "vref-0v9";@@ -190,6 +201,25 @@ &uart2 { status = "okay"; }; +&usb_dwc3_0 { + dr_mode = "otg"; + status = "okay";Please add a pinctrl here to mux GPIO1_IO13 as over current pin. But I confirm the port is working.
OK, I will do a new version of the patch.
quoted
+}; + +&usb3_phy0 { + vbus-supply = <®_usb_otg_vbus>; + status = "okay"; +}; + +&usb_dwc3_1 { + dr_mode = "host"; + status = "okay"; +};The Host port doesn't work for me. This is because of the missing reset signal. Maybe it's time to revive the gpio-reset driver [1]?
On my side, all the ports are working correctly without any intervention from the user. (I have a Nitrogen 8M rev 3.0 and I test with a simple keyboard).
Anyway, here is how to fix the USB Host ports: # gpioset 0 14=1 I guess it'd be best to have a proper reset solution before merging the host port addition.
Maybe I can add the reset signal to the DW3 driver? I guess that Boundary is not the only board maker to use a resettable USB HUB.
Regards, Gary [1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1374834384-8071-1-git-send-email-p.zabel@pengutronix.de/
Thanks, Adrien _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel