Explorar o código

lantiq: fritz7320: enable USB power supply

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 <[email protected]>
Mathias Kresin %!s(int64=4) %!d(string=hai) anos
pai
achega
ba07cc0cbb

+ 46 - 0
target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_avm_fritz7320.dts

@@ -69,6 +69,30 @@
 			gpios = <&gpio 45 GPIO_ACTIVE_LOW>;
 			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;
+	};
 };
 };
 
 
 &gsw {
 &gsw {
@@ -77,6 +101,26 @@
 	mtd-mac-address-increment = <(-2)>;
 	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 {
 &localbus {
 	flash@0 {
 	flash@0 {
 		compatible = "lantiq,nor";
 		compatible = "lantiq,nor";
@@ -142,8 +186,10 @@
 
 
 &usb0 {
 &usb0 {
 	status = "okay";
 	status = "okay";
+	vbus-supply = <&usb0_vbus>;
 };
 };
 
 
 &usb1 {
 &usb1 {
 	status = "okay";
 	status = "okay";
+	vbus-supply = <&usb1_vbus>;
 };
 };