2022-09-08 15:57:39

by Tim Harvey

[permalink] [raw]
Subject: [PATCH] arm64: dts: imx8mp-venice-gw74xx: add USB DR support

Add support for USB DR on USB1 interface. Host/Device detection is done
using the usb-role-switch connector with a GPIO as USB1_OTG_ID is not
connected internally.

Signed-off-by: Tim Harvey <[email protected]>
---
.../dts/freescale/imx8mp-venice-gw74xx.dts | 30 +++++++++++++++----
1 file changed, 25 insertions(+), 5 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts
index 9fb492a8b045..e0fe356b662d 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts
@@ -598,20 +598,35 @@ &uart4 {
};

/* USB1 - Type C front panel */
-&usb3_phy0 {
+&usb3_0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb1>;
+ fsl,over-current-active-low;
status = "okay";
};

-&usb3_0 {
- fsl,over-current-active-low;
+&usb3_phy0 {
status = "okay";
};

&usb_dwc3_0 {
- dr_mode = "host";
+ /* dual role is implemented but not a full featured OTG */
+ adp-disable;
+ hnp-disable;
+ srp-disable;
+ dr_mode = "otg";
+ usb-role-switch;
+ role-switch-default-mode = "peripheral";
status = "okay";
+
+ connector {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbcon1>;
+ compatible = "gpio-usb-b-connector", "usb-b-connector";
+ type = "micro";
+ label = "Type-C";
+ id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+ };
};

/* USB2 - USB3.0 Hub */
@@ -870,7 +885,12 @@ MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x140
pinctrl_usb1: usb1grp {
fsl,pins = <
MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC 0x140
- MX8MP_IOMUXC_GPIO1_IO10__USB1_OTG_ID 0x140
+ >;
+ };
+
+ pinctrl_usbcon1: usb1congrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10 0x140
>;
};

--
2.25.1


2022-09-13 02:29:27

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: imx8mp-venice-gw74xx: add USB DR support

On Thu, Sep 08, 2022 at 08:42:27AM -0700, Tim Harvey wrote:
> Add support for USB DR on USB1 interface. Host/Device detection is done
> using the usb-role-switch connector with a GPIO as USB1_OTG_ID is not
> connected internally.
>
> Signed-off-by: Tim Harvey <[email protected]>

Applied, thanks!