Thread (3 messages) 3 messages, 2 authors, 2016-12-19

Re: [PATCH v2] ARM: dts: sun8i: add opp-v2 table for A33

From: Quentin Schulz <hidden>
Date: 2016-12-19 14:31:10
Also in: linux-arm-kernel, linux-clk, lkml

On 19/12/2016 15:06, Icenowy Zheng wrote:

19.12.2016, 16:54, "Chen-Yu Tsai" [off-list ref]:
quoted
On Mon, Dec 19, 2016 at 4:46 PM, Maxime Ripard
[off-list ref] wrote:
quoted
 On Fri, Dec 16, 2016 at 02:27:54AM +0800, Icenowy Zheng wrote:
quoted
 An operating point table is needed for the cpu frequency adjusting to
 work.

 The operating point table is converted from the common value in
 extracted script.fex from many A33 board/tablets.

 Signed-off-by: Icenowy Zheng [off-list ref]
 ---
 Changes since v1:
 - Fix format problem (blank lines).
 - Removed the 1.344GHz operating point, as it's overvoltage and overclocked.

 This patch depends on the following patchset:

 http://lists.infradead.org/pipermail/linux-arm-kernel/2016-December/473962.html

 It's the v2 of the [PATCH 4/6] in this patchset.

 I think this operating point table may also apply to A23, as there's no
 difference except the points over 1.2GHz between A23 and A33's stock dvfs table.

 But as A23 CCU may not have the necessary fixes, I won't add the table to A23
 now.

 Chen-Yu, could you test the CCU fixes I described in the patchset above on A23,
 then test this operating points table?

 If it's necessary, you can send out the CCU fixes and add one more patch that
 moves this opp-v2 table to sun8i-a23-a33.dtsi .

  arch/arm/boot/dts/sun8i-a33.dtsi | 35 +++++++++++++++++++++++++++++++++++
  1 file changed, 35 insertions(+)

 diff --git a/arch/arm/boot/dts/sun8i-a33.dtsi b/arch/arm/boot/dts/sun8i-a33.dtsi
 index 504996cbee29..0f5b2af72981 100644
 --- a/arch/arm/boot/dts/sun8i-a33.dtsi
 +++ b/arch/arm/boot/dts/sun8i-a33.dtsi
 @@ -46,7 +46,42 @@
  #include <dt-bindings/dma/sun4i-a10.h>

  / {
 + cpu0_opp_table: opp_table0 {
 + compatible = "operating-points-v2";
 + opp-shared;
 +
 + opp@648000000 {
 + opp-hz = /bits/ 64 <648000000>;
 + opp-microvolt = <1040000>;
 + clock-latency-ns = <244144>; /* 8 32k periods */
 + };
 +
 + opp@816000000 {
 + opp-hz = /bits/ 64 <816000000>;
 + opp-microvolt = <1100000>;
 + clock-latency-ns = <244144>; /* 8 32k periods */
 + };
 +
 + opp@1008000000 {
 + opp-hz = /bits/ 64 <1008000000>;
 + opp-microvolt = <1200000>;
 + clock-latency-ns = <244144>; /* 8 32k periods */
 + };
 +
 + opp@1200000000 {
 + opp-hz = /bits/ 64 <1200000000>;
 + opp-microvolt = <1320000>;
 + clock-latency-ns = <244144>; /* 8 32k periods */
 + };
 + };
 +
Also, there are a lot more operating points for the A33, see:
https://github.com/QSchulz/linux/blob/v4.9-rc4_adc_a31_v7/cpufreq_a33/arch/arm/boot/dts/sun8i-a33.dtsi#L323-L340

They are present in the Allwinner Linux source code and in the fex of
all A33-based boards.

Is there a reason for not adding all opp?

Quentin

-- 
Quentin Schulz, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help