arm64: dts: imx8mm-venice-gw7901: add support for USB hub subload
authorTim Harvey <tharvey@gateworks.com>
Tue, 27 Jul 2021 16:11:00 +0000 (09:11 -0700)
committerShawn Guo <shawnguo@kernel.org>
Sat, 14 Aug 2021 04:39:27 +0000 (12:39 +0800)
The USB hub has it's reset as GPIO4_IO17 but can be sub-loaded and
VBUS provided by a VBUS regulator with GPIO4_IO2 as the enable and
GPIO1_IO15 as the active-low over-current.

Enable pull-up for GPIO4_IO17 to keep hub out of reset and move VBUS
enable to GPIO4_IO2. Additionally enable pull-up on GPIO1_IO15 so that
if the hub is loaded it never over-currents.

This allows USB to work in both configurations without a device-tree
change.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts

index f0fe1e1..efab0a7 100644 (file)
                pinctrl-0 = <&pinctrl_reg_usb2>;
                compatible = "regulator-fixed";
                regulator-name = "usb_usb2_vbus";
-               gpio = <&gpio4 17 GPIO_ACTIVE_HIGH>;
+               gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>;
                enable-active-high;
                regulator-min-microvolt = <5000000>;
                regulator-max-microvolt = <5000000>;
 
        pinctrl_reg_usb2: regusb1grp {
                fsl,pins = <
-                       MX8MM_IOMUXC_SAI1_TXD5_GPIO4_IO17       0x41
-                       MX8MM_IOMUXC_GPIO1_IO15_USB2_OTG_OC     0x41
+                       MX8MM_IOMUXC_SAI1_RXD0_GPIO4_IO2        0x41
+                       MX8MM_IOMUXC_SAI1_TXD5_GPIO4_IO17       0x140
+                       MX8MM_IOMUXC_GPIO1_IO15_USB2_OTG_OC     0x140
                >;
        };