Re: [linux-sunxi] Re: [PATCH 10/11] arm64: allwinner: a64: enable AXP803 regulators for Pine64
在 2017年04月05日 16:08, Maxime Ripard 写道: 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 = <280>; + regulator-max-microvolt = <280>; + regulator-name = "vcc-csi"; +}; + +_aldo2 { + regulator-always-on; + regulator-min-microvolt = <180>; + regulator-max-microvolt = <330>; + regulator-name = "vcc-pl"; +}; + +_aldo3 { + regulator-always-on; + regulator-min-microvolt = <270>; + regulator-max-microvolt = <330>; + regulator-name = "vcc-pll-avcc"; +}; + +_dc1sw { + regulator-name = "vcc-phy"; +}; + +_dcdc1 { + regulator-always-on; + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + regulator-name = "vcc-3v3"; +}; + +_dcdc2 { + regulator-always-on; + regulator-min-microvolt = <100>; + regulator-max-microvolt = <130>; + regulator-name = "vdd-cpux"; +}; + +/* DCDC3 is polyphased with DCDC2 */ + +_dcdc5 { + regulator-always-on; + regulator-min-microvolt = <150>; + regulator-max-microvolt = <150>; + regulator-name = "vcc-dram"; +}; + +_dcdc6 { + regulator-always-on; + regulator-min-microvolt = <110>; + regulator-max-microvolt = <110>; + regulator-name = "vdd-sys"; +}; + +_dldo1 { + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + regulator-name = "vcc-hdmi"; +}; + +_dldo2 { + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + regulator-name = "vcc-mipi"; +}; + +_dldo3 { + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + regulator-name = "avdd-csi"; +}; + +_dldo4 { + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + regulator-name = "vcc-wifi"; +}; + +_eldo1 { + regulator-min-microvolt = <180>; + regulator-max-microvolt = <180>; + regulator-name = "cpvdd"; +}; + +_eldo3 { + regulator-min-microvolt = <180>; + regulator-max-microvolt = <180>; + regulator-name = "vdd-1v8-csi"; +}; + +_fldo1 { + regulator-min-microvolt = <120>; + regulator-max-microvolt = <120>; + regulator-name = "vcc-1v2-hsic"; +}; + +_fldo2 { + regulator-always-on; + regulator-min-microvolt = <110>; + regulator-max-microvolt = <110>; + 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? I think it's the full zone after 0x01f0 (all R_ peripherals) In A23/A33 we also called this "vdd-cpus" and it should be always-on. Maxime
Re: [linux-sunxi] Re: [PATCH 10/11] arm64: allwinner: a64: enable AXP803 regulators for Pine64
在 2017年04月05日 16:08, Maxime Ripard 写道: 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 = <280>; + regulator-max-microvolt = <280>; + regulator-name = "vcc-csi"; +}; + +_aldo2 { + regulator-always-on; + regulator-min-microvolt = <180>; + regulator-max-microvolt = <330>; + regulator-name = "vcc-pl"; +}; + +_aldo3 { + regulator-always-on; + regulator-min-microvolt = <270>; + regulator-max-microvolt = <330>; + regulator-name = "vcc-pll-avcc"; +}; + +_dc1sw { + regulator-name = "vcc-phy"; +}; + +_dcdc1 { + regulator-always-on; + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + regulator-name = "vcc-3v3"; +}; + +_dcdc2 { + regulator-always-on; + regulator-min-microvolt = <100>; + regulator-max-microvolt = <130>; + regulator-name = "vdd-cpux"; +}; + +/* DCDC3 is polyphased with DCDC2 */ + +_dcdc5 { + regulator-always-on; + regulator-min-microvolt = <150>; + regulator-max-microvolt = <150>; + regulator-name = "vcc-dram"; +}; + +_dcdc6 { + regulator-always-on; + regulator-min-microvolt = <110>; + regulator-max-microvolt = <110>; + regulator-name = "vdd-sys"; +}; + +_dldo1 { + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + regulator-name = "vcc-hdmi"; +}; + +_dldo2 { + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + regulator-name = "vcc-mipi"; +}; + +_dldo3 { + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + regulator-name = "avdd-csi"; +}; + +_dldo4 { + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + regulator-name = "vcc-wifi"; +}; + +_eldo1 { + regulator-min-microvolt = <180>; + regulator-max-microvolt = <180>; + regulator-name = "cpvdd"; +}; + +_eldo3 { + regulator-min-microvolt = <180>; + regulator-max-microvolt = <180>; + regulator-name = "vdd-1v8-csi"; +}; + +_fldo1 { + regulator-min-microvolt = <120>; + regulator-max-microvolt = <120>; + regulator-name = "vcc-1v2-hsic"; +}; + +_fldo2 { + regulator-always-on; + regulator-min-microvolt = <110>; + regulator-max-microvolt = <110>; + 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? I think it's the full zone after 0x01f0 (all R_ peripherals) In A23/A33 we also called this "vdd-cpus" and it should be always-on. Maxime
Re: [linux-sunxi] Re: [PATCH 10/11] arm64: allwinner: a64: enable AXP803 regulators for Pine64
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 = <280>; > > > + regulator-max-microvolt = <280>; > > > + regulator-name = "vcc-csi"; > > > +}; > > > + > > > +_aldo2 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <180>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "vcc-pl"; > > > +}; > > > + > > > +_aldo3 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <270>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "vcc-pll-avcc"; > > > +}; > > > + > > > +_dc1sw { > > > + regulator-name = "vcc-phy"; > > > +}; > > > + > > > +_dcdc1 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <330>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "vcc-3v3"; > > > +}; > > > + > > > +_dcdc2 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <100>; > > > + regulator-max-microvolt = <130>; > > > + regulator-name = "vdd-cpux"; > > > +}; > > > + > > > +/* DCDC3 is polyphased with DCDC2 */ > > > + > > > +_dcdc5 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <150>; > > > + regulator-max-microvolt = <150>; > > > + regulator-name = "vcc-dram"; > > > +}; > > > + > > > +_dcdc6 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <110>; > > > + regulator-max-microvolt = <110>; > > > + regulator-name = "vdd-sys"; > > > +}; > > > + > > > +_dldo1 { > > > + regulator-min-microvolt = <330>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "vcc-hdmi"; > > > +}; > > > + > > > +_dldo2 { > > > + regulator-min-microvolt = <330>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "vcc-mipi"; > > > +}; > > > + > > > +_dldo3 { > > > + regulator-min-microvolt = <330>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "avdd-csi"; > > > +}; > > > + > > > +_dldo4 { > > > + regulator-min-microvolt = <330>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "vcc-wifi"; > > > +}; > > > + > > > +_eldo1 { > > > + regulator-min-microvolt = <180>; > > > + regulator-max-microvolt = <180>; > > > + regulator-name = "cpvdd"; > > > +}; > > > + > > > +_eldo3 { > > > + regulator-min-microvolt = <180>; > > > + regulator-max-microvolt = <180>; > > > + regulator-name = "vdd-1v8-csi"; > > > +}; > > > + > > > +_fldo1 { > > > + regulator-min-microvolt = <120>; > > > + regulator-max-microvolt = <120>; > > > + regulator-name = "vcc-1v2-hsic"; > > > +}; > > > + > > > +_fldo2 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <110>; > > > + regulator-max-microvolt = <110>; > > > + 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 signature.asc Description: PGP signature
Re: [linux-sunxi] Re: [PATCH 10/11] arm64: allwinner: a64: enable AXP803 regulators for Pine64
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 = <280>; > > > + regulator-max-microvolt = <280>; > > > + regulator-name = "vcc-csi"; > > > +}; > > > + > > > +_aldo2 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <180>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "vcc-pl"; > > > +}; > > > + > > > +_aldo3 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <270>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "vcc-pll-avcc"; > > > +}; > > > + > > > +_dc1sw { > > > + regulator-name = "vcc-phy"; > > > +}; > > > + > > > +_dcdc1 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <330>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "vcc-3v3"; > > > +}; > > > + > > > +_dcdc2 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <100>; > > > + regulator-max-microvolt = <130>; > > > + regulator-name = "vdd-cpux"; > > > +}; > > > + > > > +/* DCDC3 is polyphased with DCDC2 */ > > > + > > > +_dcdc5 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <150>; > > > + regulator-max-microvolt = <150>; > > > + regulator-name = "vcc-dram"; > > > +}; > > > + > > > +_dcdc6 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <110>; > > > + regulator-max-microvolt = <110>; > > > + regulator-name = "vdd-sys"; > > > +}; > > > + > > > +_dldo1 { > > > + regulator-min-microvolt = <330>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "vcc-hdmi"; > > > +}; > > > + > > > +_dldo2 { > > > + regulator-min-microvolt = <330>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "vcc-mipi"; > > > +}; > > > + > > > +_dldo3 { > > > + regulator-min-microvolt = <330>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "avdd-csi"; > > > +}; > > > + > > > +_dldo4 { > > > + regulator-min-microvolt = <330>; > > > + regulator-max-microvolt = <330>; > > > + regulator-name = "vcc-wifi"; > > > +}; > > > + > > > +_eldo1 { > > > + regulator-min-microvolt = <180>; > > > + regulator-max-microvolt = <180>; > > > + regulator-name = "cpvdd"; > > > +}; > > > + > > > +_eldo3 { > > > + regulator-min-microvolt = <180>; > > > + regulator-max-microvolt = <180>; > > > + regulator-name = "vdd-1v8-csi"; > > > +}; > > > + > > > +_fldo1 { > > > + regulator-min-microvolt = <120>; > > > + regulator-max-microvolt = <120>; > > > + regulator-name = "vcc-1v2-hsic"; > > > +}; > > > + > > > +_fldo2 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <110>; > > > + regulator-max-microvolt = <110>; > > > + 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 signature.asc Description: PGP signature