diff --git a/target/linux/ath79/dts/ar9331_hak5_wifi-pineapple-nano.dts b/target/linux/ath79/dts/ar9331_hak5_wifi-pineapple-nano.dts
index a2b6edbd5e7..4a4f455acf0 100644
--- a/target/linux/ath79/dts/ar9331_hak5_wifi-pineapple-nano.dts
+++ b/target/linux/ath79/dts/ar9331_hak5_wifi-pineapple-nano.dts
@@ -29,12 +29,6 @@
 			gpio-export,name = "usb-alarm";
 			gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
 		};
-
-		usb-power {
-			gpio-export,name = "usb-power";
-			gpio-export,output = <0>;
-			gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
-		};
 	};
 
 	keys {
@@ -57,6 +51,14 @@
 			linux,default-trigger = "phy0tpt";
 		};
 	};
+
+	reg_power_usb: regulator {
+		compatible = "regulator-fixed";
+		regulator-name = "power_usb";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
+	};
 };
 
 &eth0 {
@@ -123,6 +125,8 @@
 
 &usb {
 	status = "okay";
+
+	vbus-supply = <&reg_power_usb>;
 };
 
 &usb_phy {