From: Kevin Darbyshire-Bryant Date: Thu, 7 Jun 2018 16:33:57 +0000 (+0000) Subject: ramips: mir3g dts define usb port Vcc volt regulator GPIO X-Git-Tag: v19.07.0-rc1~3506 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8110bf18f4c1d04e8dfe94438caeadf78ceac892;p=oweals%2Fopenwrt.git 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 --- diff --git a/target/linux/ramips/dts/MIR3G.dts b/target/linux/ramips/dts/MIR3G.dts index efe98b0e10..44dfc1796c 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 3a5cd4296a..c19d735e5c 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