arm64: dts: renesas: r8a774a1: Add CPU capacity-dmips-mhz
authorBiju Das <biju.das@bp.renesas.com>
Wed, 12 Jun 2019 14:20:53 +0000 (15:20 +0100)
committerSimon Horman <horms+renesas@verge.net.au>
Tue, 18 Jun 2019 10:42:02 +0000 (12:42 +0200)
Set the capacity-dmips-mhz for RZ/G2M(r8a774a1) SoC, that is based on
dhrystone.

Based on work done by Gaku Inami <gaku.inami.xw@bp.renesas.com> for
r8a7796 SoC.

The average dhrystone result for 5 iterations is as below:

r8a774a1 SoC (CA57x2 + CA53x4)
  CPU   max-freq   dhrystone
  ---------------------------------
  CA57   1500 MHz  11428571 lps/s
  CA53   1200 MHz   5000000 lps/s

From this, CPU capacity-dmips-mhz for CA57 and CA53 are calculated
as follows:

r8a774a1 SoC
  CA57 : 1024 / (11428571 / 1500) * (11428571 / 1500) = 1024
  CA53 : 1024 / (11428571 / 1500) * ( 5000000 / 1200) =  560

Since each CPUs have different max frequencies, the final CPU
capacities of A53 scaled by the above difference is as below

$ cat /sys/devices/system/cpu/cpu*/cpu_capacity
1024
1024
448
448
448
448

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm64/boot/dts/renesas/r8a774a1.dtsi

index b06d7149e5faea9e6bb53d9d9d477af1da76ffe9..21fb7919d3bb4d82ddcfd3b90f58210058925b7f 100644 (file)
                        enable-method = "psci";
                        clocks = <&cpg CPG_CORE R8A774A1_CLK_Z>;
                        operating-points-v2 = <&cluster0_opp>;
+                       capacity-dmips-mhz = <1024>;
                };
 
                a57_1: cpu@1 {
                        enable-method = "psci";
                        clocks = <&cpg CPG_CORE R8A774A1_CLK_Z>;
                        operating-points-v2 = <&cluster0_opp>;
+                       capacity-dmips-mhz = <1024>;
                };
 
                a53_0: cpu@100 {
                        enable-method = "psci";
                        clocks = <&cpg CPG_CORE R8A774A1_CLK_Z2>;
                        operating-points-v2 = <&cluster1_opp>;
+                       capacity-dmips-mhz = <560>;
                };
 
                a53_1: cpu@101 {
                        enable-method = "psci";
                        clocks = <&cpg CPG_CORE R8A774A1_CLK_Z2>;
                        operating-points-v2 = <&cluster1_opp>;
+                       capacity-dmips-mhz = <560>;
                };
 
                a53_2: cpu@102 {
                        enable-method = "psci";
                        clocks = <&cpg CPG_CORE R8A774A1_CLK_Z2>;
                        operating-points-v2 = <&cluster1_opp>;
+                       capacity-dmips-mhz = <560>;
                };
 
                a53_3: cpu@103 {
                        enable-method = "psci";
                        clocks = <&cpg CPG_CORE R8A774A1_CLK_Z2>;
                        operating-points-v2 = <&cluster1_opp>;
+                       capacity-dmips-mhz = <560>;
                };
 
                L2_CA57: cache-controller-0 {