Skip to content

Commit e2c510d

Browse files
masonhuoConchuOD
authored andcommitted
riscv: dts: starfive: Add cpu scaling for JH7110 SoC
Add the operating-points-v2 to support cpu scaling on StarFive JH7110 SoC. It supports up to 4 cpu frequency loads. Signed-off-by: Mason Huo <mason.huo@starfivetech.com> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
1 parent 2378341 commit e2c510d

2 files changed

Lines changed: 49 additions & 0 deletions

File tree

arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,3 +230,19 @@
230230
pinctrl-0 = <&uart0_pins>;
231231
status = "okay";
232232
};
233+
234+
&U74_1 {
235+
cpu-supply = <&vdd_cpu>;
236+
};
237+
238+
&U74_2 {
239+
cpu-supply = <&vdd_cpu>;
240+
};
241+
242+
&U74_3 {
243+
cpu-supply = <&vdd_cpu>;
244+
};
245+
246+
&U74_4 {
247+
cpu-supply = <&vdd_cpu>;
248+
};

arch/riscv/boot/dts/starfive/jh7110.dtsi

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@
5353
next-level-cache = <&ccache>;
5454
riscv,isa = "rv64imafdc_zba_zbb";
5555
tlb-split;
56+
operating-points-v2 = <&cpu_opp>;
57+
clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
58+
clock-names = "cpu";
5659

5760
cpu1_intc: interrupt-controller {
5861
compatible = "riscv,cpu-intc";
@@ -79,6 +82,9 @@
7982
next-level-cache = <&ccache>;
8083
riscv,isa = "rv64imafdc_zba_zbb";
8184
tlb-split;
85+
operating-points-v2 = <&cpu_opp>;
86+
clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
87+
clock-names = "cpu";
8288

8389
cpu2_intc: interrupt-controller {
8490
compatible = "riscv,cpu-intc";
@@ -105,6 +111,9 @@
105111
next-level-cache = <&ccache>;
106112
riscv,isa = "rv64imafdc_zba_zbb";
107113
tlb-split;
114+
operating-points-v2 = <&cpu_opp>;
115+
clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
116+
clock-names = "cpu";
108117

109118
cpu3_intc: interrupt-controller {
110119
compatible = "riscv,cpu-intc";
@@ -131,6 +140,9 @@
131140
next-level-cache = <&ccache>;
132141
riscv,isa = "rv64imafdc_zba_zbb";
133142
tlb-split;
143+
operating-points-v2 = <&cpu_opp>;
144+
clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
145+
clock-names = "cpu";
134146

135147
cpu4_intc: interrupt-controller {
136148
compatible = "riscv,cpu-intc";
@@ -164,6 +176,27 @@
164176
};
165177
};
166178

179+
cpu_opp: opp-table-0 {
180+
compatible = "operating-points-v2";
181+
opp-shared;
182+
opp-375000000 {
183+
opp-hz = /bits/ 64 <375000000>;
184+
opp-microvolt = <800000>;
185+
};
186+
opp-500000000 {
187+
opp-hz = /bits/ 64 <500000000>;
188+
opp-microvolt = <800000>;
189+
};
190+
opp-750000000 {
191+
opp-hz = /bits/ 64 <750000000>;
192+
opp-microvolt = <800000>;
193+
};
194+
opp-1500000000 {
195+
opp-hz = /bits/ 64 <1500000000>;
196+
opp-microvolt = <1040000>;
197+
};
198+
};
199+
167200
gmac0_rgmii_rxin: gmac0-rgmii-rxin-clock {
168201
compatible = "fixed-clock";
169202
clock-output-names = "gmac0_rgmii_rxin";

0 commit comments

Comments
 (0)