]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: renesas: r9a09g057: Add OPP table
authorLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Tue, 8 Oct 2024 16:49:35 +0000 (17:49 +0100)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 25 Oct 2024 08:40:08 +0000 (10:40 +0200)
Add OPP table for RZ/V2H(P) SoC.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20241008164935.335043-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
arch/arm64/boot/dts/renesas/r9a09g057.dtsi

index 1ad5a1b6917fee3e11203a5a62350d8c824bc73a..4bbe75b81f54544640451bca424e6b6962d86890 100644 (file)
                clock-frequency = <0>;
        };
 
+       /*
+        * The default cluster table is based on the assumption that the PLLCA55 clock
+        * frequency is set to 1.7GHz. The PLLCA55 clock frequency can be set to
+        * 1.7/1.6/1.5/1.1 GHz based on the BOOTPLLCA_0/1 pins (and additionally can be
+        * clocked to 1.8GHz as well). The table below should be overridden in the board
+        * DTS based on the PLLCA55 clock frequency.
+        */
+       cluster0_opp: opp-table-0 {
+               compatible = "operating-points-v2";
+
+               opp-1700000000 {
+                       opp-hz = /bits/ 64 <1700000000>;
+                       opp-microvolt = <900000>;
+                       clock-latency-ns = <300000>;
+               };
+               opp-850000000 {
+                       opp-hz = /bits/ 64 <850000000>;
+                       opp-microvolt = <800000>;
+                       clock-latency-ns = <300000>;
+               };
+               opp-425000000 {
+                       opp-hz = /bits/ 64 <425000000>;
+                       opp-microvolt = <800000>;
+                       clock-latency-ns = <300000>;
+               };
+               opp-212500000 {
+                       opp-hz = /bits/ 64 <212500000>;
+                       opp-microvolt = <800000>;
+                       clock-latency-ns = <300000>;
+                       opp-suspend;
+               };
+       };
+
        cpus {
                #address-cells = <1>;
                #size-cells = <0>;
@@ -30,6 +63,8 @@
                        device_type = "cpu";
                        next-level-cache = <&L3_CA55>;
                        enable-method = "psci";
+                       clocks = <&cpg CPG_CORE R9A09G057_CA55_0_CORE_CLK0>;
+                       operating-points-v2 = <&cluster0_opp>;
                };
 
                cpu1: cpu@100 {
@@ -38,6 +73,8 @@
                        device_type = "cpu";
                        next-level-cache = <&L3_CA55>;
                        enable-method = "psci";
+                       clocks = <&cpg CPG_CORE R9A09G057_CA55_0_CORE_CLK1>;
+                       operating-points-v2 = <&cluster0_opp>;
                };
 
                cpu2: cpu@200 {
@@ -46,6 +83,8 @@
                        device_type = "cpu";
                        next-level-cache = <&L3_CA55>;
                        enable-method = "psci";
+                       clocks = <&cpg CPG_CORE R9A09G057_CA55_0_CORE_CLK2>;
+                       operating-points-v2 = <&cluster0_opp>;
                };
 
                cpu3: cpu@300 {
@@ -54,6 +93,8 @@
                        device_type = "cpu";
                        next-level-cache = <&L3_CA55>;
                        enable-method = "psci";
+                       clocks = <&cpg CPG_CORE R9A09G057_CA55_0_CORE_CLK3>;
+                       operating-points-v2 = <&cluster0_opp>;
                };
 
                L3_CA55: cache-controller-0 {