arm64: dts: imx8mp-venice-gw74xx: add USB DR support
authorTim Harvey <tharvey@gateworks.com>
Thu, 8 Sep 2022 15:42:27 +0000 (08:42 -0700)
committerShawn Guo <shawnguo@kernel.org>
Sat, 17 Sep 2022 08:34:54 +0000 (16:34 +0800)
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 <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts

index 521215520a0f40acb3a9310f82eef1354328ee7c..d3f7cc66bab80d42b71e2bc3399f2cefa3c4c264 100644 (file)
 };
 
 /* 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 */
        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
                >;
        };