Skip to content

Commit c9a5aa0

Browse files
committed
Merge tag 'riscv-dt-for-v6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/dt
RISC-V Devicetrees for v6.5 StarFive: Watchdog nodes for both the JH7110 & its forerunner, the JH7100. PMU, P being power, support for the JH7110. PMIC and frequency scaling support for the JH7110 equipped VisionFive 2. Most of the DT bits for the JH7110, and the SBCs using it, are pending support for one of the clock controllers, so it's a smaller set of changes than I would have hoped for. Misc: Pick up some dt-binding cleanup that Palmer assigned to me & had no uptake from the respective maintainers. My powers of estimation failed me again, with part of my motivation for picking them up being the addition of new platforms that ended up not making it. Hopefully next window for those, as they were relatively close. Exclude the Allwinner and Renesas subdirectories from the Misc. MAINTAINERS entry, since I do not take care of those. Signed-off-by: Conor Dooley <conor.dooley@microchip.com> * tag 'riscv-dt-for-v6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux: riscv: dts: starfive: Add cpu scaling for JH7110 SoC riscv: dts: starfive: Enable axp15060 pmic for cpufreq dt-bindings: interrupt-controller: sifive,plic: Sort compatible values dt-bindings: timer: sifive,clint: Clean up compatible value section riscv: dts: starfive: jh7110: Add watchdog node riscv: dts: starfive: jh7100: Add watchdog node riscv: dts: starfive: Add PMU controller node MAINTAINERS: exclude maintained subdirs in RISC-V misc DT entry Link: https://lore.kernel.org/r/20230612-fasting-floss-0bc05a08bc7a@spud Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 1210961 + e2c510d commit c9a5aa0

6 files changed

Lines changed: 104 additions & 14 deletions

File tree

Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,10 @@ properties:
5757
- const: andestech,nceplic100
5858
- items:
5959
- enum:
60+
- canaan,k210-plic
6061
- sifive,fu540-c000-plic
6162
- starfive,jh7100-plic
6263
- starfive,jh7110-plic
63-
- canaan,k210-plic
6464
- const: sifive,plic-1.0.0
6565
- items:
6666
- enum:

Documentation/devicetree/bindings/timer/sifive,clint.yaml

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ properties:
2929
oneOf:
3030
- items:
3131
- enum:
32-
- sifive,fu540-c000-clint
33-
- starfive,jh7100-clint
34-
- starfive,jh7110-clint
35-
- canaan,k210-clint
36-
- const: sifive,clint0
32+
- canaan,k210-clint # Canaan Kendryte K210
33+
- sifive,fu540-c000-clint # SiFive FU540
34+
- starfive,jh7100-clint # StarFive JH7100
35+
- starfive,jh7110-clint # StarFive JH7110
36+
- const: sifive,clint0 # SiFive CLINT v0 IP block
3737
- items:
3838
- enum:
3939
- allwinner,sun20i-d1-clint
@@ -45,14 +45,9 @@ properties:
4545
description: For the QEMU virt machine only
4646

4747
description:
48-
Should be "<vendor>,<chip>-clint" and "sifive,clint<version>".
49-
Supported compatible strings are -
50-
"sifive,fu540-c000-clint" for the SiFive CLINT v0 as integrated
51-
onto the SiFive FU540 chip, "canaan,k210-clint" for the SiFive
52-
CLINT v0 as integrated onto the Canaan Kendryte K210 chip, and
53-
"sifive,clint0" for the SiFive CLINT v0 IP block with no chip
54-
integration tweaks.
55-
Please refer to sifive-blocks-ip-versioning.txt for details
48+
Should be "<vendor>,<chip>-clint", followed by "sifive,clint<version>"
49+
when compatible with a SiFive CLINT. Please refer to
50+
sifive-blocks-ip-versioning.txt for details regarding the latter.
5651

5752
reg:
5853
maxItems: 1

MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18150,6 +18150,8 @@ Q: https://patchwork.kernel.org/project/linux-riscv/list/
1815018150
T: git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
1815118151
F: Documentation/devicetree/bindings/riscv/
1815218152
F: arch/riscv/boot/dts/
18153+
X: arch/riscv/boot/dts/allwinner/
18154+
X: arch/riscv/boot/dts/renesas/
1815318155

1815418156
RISC-V PMU DRIVERS
1815518157
M: Atish Patra <atishp@atishpatra.org>

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,5 +238,15 @@
238238
#size-cells = <0>;
239239
status = "disabled";
240240
};
241+
242+
watchdog@12480000 {
243+
compatible = "starfive,jh7100-wdt";
244+
reg = <0x0 0x12480000 0x0 0x10000>;
245+
clocks = <&clkgen JH7100_CLK_WDTIMER_APB>,
246+
<&clkgen JH7100_CLK_WDT_CORE>;
247+
clock-names = "apb", "core";
248+
resets = <&rstgen JH7100_RSTN_WDTIMER_APB>,
249+
<&rstgen JH7100_RSTN_WDT>;
250+
};
241251
};
242252
};

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

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,23 @@
114114
pinctrl-names = "default";
115115
pinctrl-0 = <&i2c5_pins>;
116116
status = "okay";
117+
118+
axp15060: pmic@36 {
119+
compatible = "x-powers,axp15060";
120+
reg = <0x36>;
121+
interrupts = <0>;
122+
interrupt-controller;
123+
#interrupt-cells = <1>;
124+
125+
regulators {
126+
vdd_cpu: dcdc2 {
127+
regulator-always-on;
128+
regulator-min-microvolt = <500000>;
129+
regulator-max-microvolt = <1540000>;
130+
regulator-name = "vdd-cpu";
131+
};
132+
};
133+
};
117134
};
118135

119136
&i2c6 {
@@ -213,3 +230,19 @@
213230
pinctrl-0 = <&uart0_pins>;
214231
status = "okay";
215232
};
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: 50 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";
@@ -469,6 +502,16 @@
469502
#gpio-cells = <2>;
470503
};
471504

505+
watchdog@13070000 {
506+
compatible = "starfive,jh7110-wdt";
507+
reg = <0x0 0x13070000 0x0 0x10000>;
508+
clocks = <&syscrg JH7110_SYSCLK_WDT_APB>,
509+
<&syscrg JH7110_SYSCLK_WDT_CORE>;
510+
clock-names = "apb", "core";
511+
resets = <&syscrg JH7110_SYSRST_WDT_APB>,
512+
<&syscrg JH7110_SYSRST_WDT_CORE>;
513+
};
514+
472515
aoncrg: clock-controller@17000000 {
473516
compatible = "starfive,jh7110-aoncrg";
474517
reg = <0x0 0x17000000 0x0 0x10000>;
@@ -496,5 +539,12 @@
496539
gpio-controller;
497540
#gpio-cells = <2>;
498541
};
542+
543+
pwrc: power-controller@17030000 {
544+
compatible = "starfive,jh7110-pmu";
545+
reg = <0x0 0x17030000 0x0 0x10000>;
546+
interrupts = <111>;
547+
#power-domain-cells = <1>;
548+
};
499549
};
500550
};

0 commit comments

Comments
 (0)