From 8110bf18f4c1d04e8dfe94438caeadf78ceac892 Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Thu, 7 Jun 2018 16:33:57 +0000 Subject: [PATCH] ramips: mir3g dts define usb port Vcc volt regulator GPIO Define USB port power on/off GPO as voltage regulator type instead of exposing as a normal GPIO. The GPO is now controlled by the USB driver via the voltage regulator definition. The regulator is of fixed output type (5V for USB) hence the GPO switches power on/off to USB pin 1 (Vcc) USB port power is enabled on driver load and disabled on driver unload. Enable kernel support for fixed voltage regulator types on mt7621. Signed-off-by: Kevin Darbyshire-Bryant --- target/linux/ramips/dts/MIR3G.dts | 21 ++++++++++++--------- target/linux/ramips/mt7621/config-4.14 | 2 ++ 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/target/linux/ramips/dts/MIR3G.dts b/target/linux/ramips/dts/MIR3G.dts index efe98b0e100..44dfc1796c2 100644 --- a/target/linux/ramips/dts/MIR3G.dts +++ b/target/linux/ramips/dts/MIR3G.dts @@ -66,16 +66,19 @@ }; }; - gpio_export { - compatible = "gpio-export"; - #size-cells = <0>; - - usbpower { - gpio-export,name = "usbpower"; - gpio-export,output = <1>; - gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; - }; + reg_usb_vbus: reg_usb_vbus { + compatible = "regulator-fixed"; + regulator-name = "usb_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>; + enable-active-high; }; + +}; + +&xhci { + vbus-supply = <®_usb_vbus>; }; &nand { diff --git a/target/linux/ramips/mt7621/config-4.14 b/target/linux/ramips/mt7621/config-4.14 index 3a5cd4296ae..c19d735e5cf 100644 --- a/target/linux/ramips/mt7621/config-4.14 +++ b/target/linux/ramips/mt7621/config-4.14 @@ -227,6 +227,8 @@ CONFIG_RCU_STALL_COMMON=y CONFIG_REGMAP=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_SPI=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_RESET_CONTROLLER=y CONFIG_RFS_ACCEL=y CONFIG_RPS=y -- 2.30.2