Message ID | 20160625034511.7966-14-megous@megous.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sat, Jun 25, 2016 at 05:45:10AM +0200, megous@megous.com wrote: > From: Ondrej Jirman <megous@megous.com> > > Xulong Orange Pi One uses GPIO based regulator that > switches between two voltages: 1.1V and 1.3V. The > regulator is controlled from the PL6 pin. > > Signed-off-by: Ondrej Jirman <megous@megous.com> > --- > v2 > - add missing pinctrl-names for gpio-regulator > --- > arch/arm/boot/dts/sun8i-h3-orangepi-one.dts | 26 ++++++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts > index 0adf932..b1bd6b0 100644 > --- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts > +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts > @@ -88,6 +88,25 @@ > gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; > }; > }; > + > + vdd_soc: gpio-regulator { > + compatible = "regulator-gpio"; > + pinctrl-names = "default"; > + pinctrl-0 = <&vdd_reg_r_opc>; > + > + regulator-name = "soc-vdd-supply"; > + regulator-min-microvolt = <1100000>; > + regulator-max-microvolt = <1300000>; > + regulator-boot-on; > + regulator-type = "voltage"; It should be marked as always-on. Otherwise, if the cpufreq driver is not enabled, the regulator will be shutdown, which is not that great :) Maxime
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts index 0adf932..b1bd6b0 100644 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts @@ -88,6 +88,25 @@ gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; }; }; + + vdd_soc: gpio-regulator { + compatible = "regulator-gpio"; + pinctrl-names = "default"; + pinctrl-0 = <&vdd_reg_r_opc>; + + regulator-name = "soc-vdd-supply"; + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1300000>; + regulator-boot-on; + regulator-type = "voltage"; + + gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; + states = <1100000 0x0 + 1300000 0x1>; + + startup-delay-us = <100000>; + enable-active-high; + }; }; &ehci1 { @@ -131,6 +150,13 @@ allwinner,drive = <SUN4I_PINCTRL_10_MA>; allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; }; + + vdd_reg_r_opc: regulator_pins@0 { + allwinner,pins = "PL6"; + allwinner,function = "gpio_out"; + allwinner,drive = <SUN4I_PINCTRL_10_MA>; + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; + }; }; &uart0 {