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 89fc3858b7bb31c200923cd00c707688f18abb84..262bd8d25f22df3e7209e7ecf40b6acd56047eac 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>;
 };