Commit a3576e471f71e8e7559fa85ef503b2278d9b04a1

Authored by Fabio Estevam
Committed by Greg Kroah-Hartman
1 parent 1fb91db57f

ARM: dts: imx51-babbage: Fix ULPI PHY reset modelling

commit 7a9f0604bd56936b2b18f49824e0e392dc7878c3 upstream.

GPIO2_5 is the reset GPIO for the USB3317 ULPI PHY. Instead of modelling it as
a regulator, the correct approach is to use the 'reset_gpios' property of the
"usb-nop-xceiv" node.

GPIO1_7 is the reset GPIO for the USB2517 USB hub. As we currently don't have
dt bindings to describe a HUB reset, let's keep using the regulator approach.

Rename the regulator to 'reg_hub_reset' to better describe its function and bind
it with the USB host1 port instead.

USB host support has been introduced by commit 9bf206a9d13be3 ("ARM: dts:
imx51-babbage: Add USB Host1 support"), which landed in 3.16 and it seems that
USB has only been functional due to previous bootloader initialization.

With this patch applied we can get USB host to work without relying on the
bootloader.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Showing 1 changed file with 5 additions and 17 deletions Side-by-side Diff

arch/arm/boot/dts/imx51-babbage.dts
... ... @@ -127,26 +127,14 @@
127 127 #address-cells = <1>;
128 128 #size-cells = <0>;
129 129  
130   - reg_usbh1_vbus: regulator@0 {
  130 + reg_hub_reset: regulator@0 {
131 131 compatible = "regulator-fixed";
132 132 pinctrl-names = "default";
133   - pinctrl-0 = <&pinctrl_usbh1reg>;
  133 + pinctrl-0 = <&pinctrl_usbotgreg>;
134 134 reg = <0>;
135   - regulator-name = "usbh1_vbus";
  135 + regulator-name = "hub_reset";
136 136 regulator-min-microvolt = <5000000>;
137 137 regulator-max-microvolt = <5000000>;
138   - gpio = <&gpio2 5 GPIO_ACTIVE_HIGH>;
139   - enable-active-high;
140   - };
141   -
142   - reg_usbotg_vbus: regulator@1 {
143   - compatible = "regulator-fixed";
144   - pinctrl-names = "default";
145   - pinctrl-0 = <&pinctrl_usbotgreg>;
146   - reg = <1>;
147   - regulator-name = "usbotg_vbus";
148   - regulator-min-microvolt = <5000000>;
149   - regulator-max-microvolt = <5000000>;
150 138 gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>;
151 139 enable-active-high;
152 140 };
... ... @@ -176,6 +164,7 @@
176 164 reg = <0>;
177 165 clocks = <&clks IMX5_CLK_DUMMY>;
178 166 clock-names = "main_clk";
  167 + reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
179 168 };
180 169 };
181 170 };
... ... @@ -419,7 +408,7 @@
419 408 &usbh1 {
420 409 pinctrl-names = "default";
421 410 pinctrl-0 = <&pinctrl_usbh1>;
422   - vbus-supply = <&reg_usbh1_vbus>;
  411 + vbus-supply = <&reg_hub_reset>;
423 412 fsl,usbphy = <&usbh1phy>;
424 413 phy_type = "ulpi";
425 414 status = "okay";
... ... @@ -429,7 +418,6 @@
429 418 dr_mode = "otg";
430 419 disable-over-current;
431 420 phy_type = "utmi_wide";
432   - vbus-supply = <&reg_usbotg_vbus>;
433 421 status = "okay";
434 422 };
435 423