On Wed, Apr 05, 2017 at 02:15:43PM +0800, Icenowy Zheng wrote: > > 2017年4月5日 14:13于 Maxime Ripard 写道: > > > > On Wed, Apr 05, 2017 at 02:01:44AM +0800, Icenowy Zheng wrote: > > > Add support of AXP803 regulators in the Pine64 device tree, in order to > > > enable many future functionalities, e.g. Wi-Fi. > > > > > > Signed-off-by: Icenowy Zheng > > > --- > > >  .../arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 109 +++++++++++++++++++++ > > >  1 file changed, 109 insertions(+) > > > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts > > > index 2132d8e6cb3d..7da074f95065 100644 > > > --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts > > > @@ -106,6 +106,115 @@ > > >  }; > > >  }; > > >  > > > +#include "axp803.dtsi" > > > + > > > +®_aldo1 { > > > + regulator-min-microvolt = <2800000>; > > > + regulator-max-microvolt = <2800000>; > > > + regulator-name = "vcc-csi"; > > > +}; > > > + > > > +®_aldo2 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <1800000>; > > > + regulator-max-microvolt = <3300000>; > > > + regulator-name = "vcc-pl"; > > > +}; > > > + > > > +®_aldo3 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <2700000>; > > > + regulator-max-microvolt = <3300000>; > > > + regulator-name = "vcc-pll-avcc"; > > > +}; > > > + > > > +®_dc1sw { > > > + regulator-name = "vcc-phy"; > > > +}; > > > + > > > +®_dcdc1 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <3300000>; > > > + regulator-max-microvolt = <3300000>; > > > + regulator-name = "vcc-3v3"; > > > +}; > > > + > > > +®_dcdc2 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <1000000>; > > > + regulator-max-microvolt = <1300000>; > > > + regulator-name = "vdd-cpux"; > > > +}; > > > + > > > +/* DCDC3 is polyphased with DCDC2 */ > > > + > > > +®_dcdc5 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <1500000>; > > > + regulator-max-microvolt = <1500000>; > > > + regulator-name = "vcc-dram"; > > > +}; > > > + > > > +®_dcdc6 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <1100000>; > > > + regulator-max-microvolt = <1100000>; > > > + regulator-name = "vdd-sys"; > > > +}; > > > + > > > +®_dldo1 { > > > + regulator-min-microvolt = <3300000>; > > > + regulator-max-microvolt = <3300000>; > > > + regulator-name = "vcc-hdmi"; > > > +}; > > > + > > > +®_dldo2 { > > > + regulator-min-microvolt = <3300000>; > > > + regulator-max-microvolt = <3300000>; > > > + regulator-name = "vcc-mipi"; > > > +}; > > > + > > > +®_dldo3 { > > > + regulator-min-microvolt = <3300000>; > > > + regulator-max-microvolt = <3300000>; > > > + regulator-name = "avdd-csi"; > > > +}; > > > + > > > +®_dldo4 { > > > + regulator-min-microvolt = <3300000>; > > > + regulator-max-microvolt = <3300000>; > > > + regulator-name = "vcc-wifi"; > > > +}; > > > + > > > +®_eldo1 { > > > + regulator-min-microvolt = <1800000>; > > > + regulator-max-microvolt = <1800000>; > > > + regulator-name = "cpvdd"; > > > +}; > > > + > > > +®_eldo3 { > > > + regulator-min-microvolt = <1800000>; > > > + regulator-max-microvolt = <1800000>; > > > + regulator-name = "vdd-1v8-csi"; > > > +}; > > > + > > > +®_fldo1 { > > > + regulator-min-microvolt = <1200000>; > > > + regulator-max-microvolt = <1200000>; > > > + regulator-name = "vcc-1v2-hsic"; > > > +}; > > > + > > > +®_fldo2 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <1100000>; > > > + regulator-max-microvolt = <1100000>; > > > + regulator-name = "vdd-cpus"; > > > +}; > > > > Why do you need to always power the AR100 on? > > It's for CPUS power domain, not the AR100 processor. > > Kill it will lead to instantly system hang. What are you calling CPUS then? Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com