Re: [PATCH] arm64: dts: imx8mq-nitrogen: add USB support

From: Gary Bisson
Date: Thu Jan 28 2021 - 08:31:37 EST


Hi Adrien,

Thanks for improving Nitrogen upstream, much appreciated.

On Tue, Jan 26, 2021 at 10:55:11PM +0100, Adrien Grassein wrote:
> 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 <adrien.grassein@xxxxxxxxx>
> ---
> .../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.

> +};
> +
> +&usb3_phy0 {
> + vbus-supply = <&reg_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]?

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.

Regards,
Gary

[1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1374834384-8071-1-git-send-email-p.zabel@xxxxxxxxxxxxxx/