Re: [linux-sunxi] [PATCH 10/10] ARM: dts: sun8i: Add SY8106A regulator to Orange Pi PC

From: icenowy
Date: Wed Jul 26 2017 - 03:36:35 EST


å 2017-07-26 15:30ïChen-Yu Tsai åéï
On Wed, Jul 26, 2017 at 3:16 PM, Icenowy Zheng <icenowy@xxxxxxx> wrote:


ä 2017å7æ26æ GMT+08:00 äå3:08:06, Chen-Yu Tsai <wens@xxxxxxxx> åå:
On Sun, Jul 23, 2017 at 6:27 PM, Icenowy Zheng <icenowy@xxxxxxx> wrote:
From: Ondrej Jirman <megous@xxxxxxxxxx>

Add SY8106A regulator to r_i2c bus and enable the r_i2c bus on
Orange Pi PC, then set the power supply of the ARM cores to this
regulator, in order to enable DVFS.

Signed-off-by: Ondrej Jirman <megous@xxxxxxxxxx>
[Icenowy: Enable DVFS in this patch, slight changes and change commit
message]
Signed-off-by: Icenowy Zheng <icenowy@xxxxxxx>
---
arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
index 998b60f8d295..d855f8b6254e 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
@@ -98,6 +98,10 @@
status = "okay";
};

+&cpu0 {
+ cpu-supply = <&reg_sy8106a>;
+};
+
&ehci0 {
status = "okay";
};
@@ -160,6 +164,21 @@
};
};

+&r_i2c {
+ status = "okay";
+
+ reg_sy8106a: regulator@65 {
+ compatible = "silergy,sy8106a";
+ reg = <0x65>;
+ regulator-name = "vdd-cpux";
+ regulator-min-microvolt = <1000000>;

According to the H3 datasheet, the minimum voltage is 1.1V, not 1V.

But the Armbian OPP table for H3 contains several
OPP under 1.1V...

Can you provide a link?

If Armbian users have actually field tested this (a big if),
then I would like to see some evidence of the SoC running
stably at those OPPs with those lower voltages under full load.

See [1].

[1] https://github.com/armbian/build/blob/master/config/fex/orangepipc.fex#L736


Even then you should still leave a note describing why we allow
voltages below the recommended range.

ChenYu



Otherwse

+ regulator-max-microvolt = <1400000>;
+ regulator-ramp-delay = <200>;

Is this an actual constraint of the SoC? Or is it a characteristic
of the regulator? If it is the latter, it belongs in the driver.
AFAIK the regulator supports varying the ramp delay (slew rate).

I don't know...

Maybe I should ask Ondrej?


ChenYu

+ regulator-boot-on;
+ regulator-always-on;
+ };
+};
+
&r_pio {
leds_r_opc: led_pins@0 {
pins = "PL10";
--
2.13.0