Re: [PATCH 10/10] arm64: dts: allwinner: h5: Add CPU Operating Performance Points table

From: Chen-Yu Tsai
Date: Wed Jan 30 2019 - 04:41:35 EST


On Wed, Jan 30, 2019 at 5:29 PM Maxime Ripard <maxime.ripard@xxxxxxxxxxx> wrote:
>
> On Wed, Jan 30, 2019 at 04:42:03PM +0800, Chen-Yu Tsai wrote:
> > enable-method = "psci";
> > clocks = <&ccu CLK_CPUX>;
> > clock-latency-ns = <244144>; /* 8 32k periods */
> > + operating-points-v2 = <&cpu_opp_table>;
> > + #cooling-cells = <2>;
> > + };
> > + };
> > +
> > + cpu_opp_table: opp_table {
> > + compatible = "operating-points-v2";
> > + opp-shared;
> > +
> > + opp@408000000 {
> > + opp-hz = /bits/ 64 <408000000>;
> > + opp-microvolt = <1000000 1000000 1310000>;
> > + clock-latency-ns = <244144>; /* 8 32k periods */
> > + };
> > +
> > + opp@648000000 {
> > + opp-hz = /bits/ 64 <648000000>;
> > + opp-microvolt = <1040000 1040000 1310000>;
> > + clock-latency-ns = <244144>; /* 8 32k periods */
> > + };
> > +
> > + opp@816000000 {
> > + opp-hz = /bits/ 64 <816000000>;
> > + opp-microvolt = <1080000 1080000 1310000>;
> > + clock-latency-ns = <244144>; /* 8 32k periods */
> > + };
> > +
> > + opp@912000000 {
> > + opp-hz = /bits/ 64 <912000000>;
> > + opp-microvolt = <1120000 1120000 1310000>;
> > + clock-latency-ns = <244144>; /* 8 32k periods */
> > + };
> > +
> > + opp@960000000 {
> > + opp-hz = /bits/ 64 <960000000>;
> > + opp-microvolt = <1160000 1160000 1310000>;
> > + clock-latency-ns = <244144>; /* 8 32k periods */
> > + };
> > +
> > + opp@1008000000 {
> > + opp-hz = /bits/ 64 <1008000000>;
> > + opp-microvolt = <1200000 1200000 1310000>;
> > + clock-latency-ns = <244144>; /* 8 32k periods */
> > + };
> > +
> > + opp@1056000000 {
> > + opp-hz = /bits/ 64 <1056000000>;
> > + opp-microvolt = <1240000 1240000 1310000>;
> > + clock-latency-ns = <244144>; /* 8 32k periods */
> > + };
> > +
> > + opp@1104000000 {
> > + opp-hz = /bits/ 64 <1104000000>;
> > + opp-microvolt = <1260000 1260000 1310000>;
> > + clock-latency-ns = <244144>; /* 8 32k periods */
> > + };
> > +
> > + opp@1152000000 {
> > + opp-hz = /bits/ 64 <1152000000>;
> > + opp-microvolt = <1300000 1300000 1310000>;
> > + clock-latency-ns = <244144>; /* 8 32k periods */
>
> What is the frequency and voltage that U-Boot sets up?

1008 MHz, and whatever voltage the board design defaults to (typically
the higher setting).

> We've had the issue with the A33 that it's started at 1008MHz, with
> the matching voltage, and ramping up the frequency to 1.2GHz on boards
> without PMIC support would increase the frequency but not the voltage,
> resulting in a brownout.

Which is why I added the regulator to all boards before this patch. At
least for Linux, once the regulator supply is described in the device
tree, if the driver is missing, regulator_get_* and thus cpufreq should
fail with -EPROBE_DEFER.

Or we could drop the extra OPPs.


ChenYu