Re: [linux-sunxi] Re: [PATCH 10/11] arm64: allwinner: a64: enable AXP803 regulators for Pine64

2017-04-05 Thread Icenowy Zheng



在 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 Thread Icenowy Zheng



在 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 Thread 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?

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

2017-04-05 Thread 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?

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com


signature.asc
Description: PGP signature