ARM: dts: imx6qdl-nitrogen6x: fix USB PHY reset
authorGary Bisson <gary.bisson@boundarydevices.com>
Mon, 24 Jul 2017 12:59:58 +0000 (14:59 +0200)
committerShawn Guo <shawnguo@kernel.org>
Wed, 26 Jul 2017 02:39:28 +0000 (10:39 +0800)
Declared as a regulator since the driver doesn't have a reset-gpios
property for this.

This ensures that the PHY is woken up, not depending on the state the
second stage bootloader leaves the pin.

This is a workaround until a proper mechanism is provided to reset such
devices like the pwrseq library [1] for instance.

[1] https://lkml.org/lkml/2017/2/10/779

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi

index f22e5879340bc41c7f722c9d3314a41935070a11..d309a4d0eb08b38c0ba551ee3652549421538eb5 100644 (file)
                        startup-delay-us = <70000>;
                        enable-active-high;
                };
+
+               reg_usb_h1_vbus: regulator@5 {
+                       compatible = "regulator-fixed";
+                       reg = <5>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_usbh1>;
+                       regulator-name = "usb_h1_vbus";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+               };
        };
 
        gpio-keys {
                        >;
                };
 
+               pinctrl_usbh1: usbh1grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_17__GPIO7_IO12          0x030b0
+                       >;
+               };
+
                pinctrl_usbotg: usbotggrp {
                        fsl,pins = <
                                MX6QDL_PAD_GPIO_1__USB_OTG_ID   0x17059
 };
 
 &usbh1 {
+       vbus-supply = <&reg_usb_h1_vbus>;
        status = "okay";
 };