lantiq: fritz7320: enable USB power supply
authorMathias Kresin <dev@kresin.me>
Wed, 17 Feb 2021 22:37:54 +0000 (23:37 +0100)
committerMathias Kresin <dev@kresin.me>
Wed, 17 Feb 2021 23:21:30 +0000 (00:21 +0100)
The USB ports if a FRIZZ!Box 7320 do not supply power to connected
devices.

Add the GPIOs enabling USB power as regulator, to enable USB power
supply as soon as the USB driver is loaded.

Fixes FS#3624

Signed-off-by: Mathias Kresin <dev@kresin.me>
(cherry picked from commit 6e4e97b2256327bb380ee2a83da9a1ddf657e395)

target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7320.dts

index 89fc385..262bd8d 100644 (file)
                        gpios = <&gpio 45 GPIO_ACTIVE_LOW>;
                };
        };
+
+       usb0_vbus: regulator-usb0-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB0_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 50 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       usb1_vbus: regulator-usb1-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB1_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 51 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpio {
        mtd-mac-address-increment = <(-2)>;
 };
 
+&gpio {
+       pinctrl-names = "default";
+       pinctrl-0 = <&state_default>;
+
+       state_default: pinmux {
+               usb0_vbus {
+                       lantiq,pins = "io50";
+                       lantiq,pull = <0>;
+                       lantiq,open-drain = <0>;
+                       lantiq,output = <1>;
+               };
+               usb1_vbus {
+                       lantiq,pins = "io51";
+                       lantiq,pull = <0>;
+                       lantiq,open-drain = <0>;
+                       lantiq,output = <1>;
+               };
+       };
+};
+
 &localbus {
        nor@0 {
                compatible = "lantiq,nor";
 
 &usb0 {
        status = "okay";
+       vbus-supply = <&usb0_vbus>;
 };
 
 &usb1 {
        status = "okay";
+       vbus-supply = <&usb1_vbus>;
 };