Skip to content

Commit 25ed1e9

Browse files
committed
Merge tag 'riscv-dt-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/dt
RISC-V Devicetrees for v6.20 (or v7.0) Anlogic: Minor change to the extension information, to add the "b" extension that's a catch-all for 3 of the extensions already in the dts. Starfive: Append the jh7110 compatible to jh7110s devicetrees, as that will enable OpenSBI etc to run without adding support for this minor variant. The "s" device differs from the non "s" device only in thermal limits and voltage/frequency characteristics. Microchip: Redo the mpfs clock setup yet again, to something approaching correct. The original binding conjured up for the platform was wildly inaccurate, and even with the original improvements, a bigger change to using syscons was required to support several peripherals that also inhabit the memory regions that the clocks lie in. The damage to the dts isn't that bad in the end, and of course the whole thing has been done in a backwards compatible manner, with the code changes being merged a cycle or two ago in the kernel and like a year ago in U-Boot (the only other user that I am aware of). Generic: Additions to extensions.yaml, mainly for things in the "rva23" profile that appear for the first time on the Spacemit K3 SoC. Signed-off-by: Conor Dooley <conor.dooley@microchip.com> * tag 'riscv-dt-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux: riscv: dts: anlogic: dr1v90: Add "b" ISA extension dt-bindings: riscv: extensions: Drop unnecessary select schema dt-bindings: riscv: Add Sha and its comprised extensions dt-bindings: riscv: Add Ssccptr, Sscounterenw, Sstvala, Sstvecd, Ssu64xl dt-bindings: riscv: Add descriptions for Za64rs, Ziccamoa, Ziccif, and Zicclsm dt-bindings: riscv: Add B ISA extension description dt-bindings: riscv: update ratified version of h, svinval, svnapot, svpbmt riscv: dts: starfive: Append JH-7110 SoC compatible to VisionFive 2 Lite eMMC board riscv: dts: starfive: Append JH-7110 SoC compatible to VisionFive 2 Lite board dt-bindings: riscv: starfive: Append JH-7110 SoC compatible to VisionFive 2 Lite board riscv: dts: microchip: convert clock and reset to use syscon riscv: dts: microchip: fix mailbox description Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents b095c27 + 18649ff commit 25ed1e9

6 files changed

Lines changed: 210 additions & 28 deletions

File tree

Documentation/devicetree/bindings/riscv/extensions.yaml

Lines changed: 180 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,6 @@ description: |
2424
ratified states, with the exception of the I, Zicntr & Zihpm extensions.
2525
See the "i" property for more information.
2626
27-
select:
28-
properties:
29-
compatible:
30-
contains:
31-
const: riscv
32-
3327
properties:
3428
riscv,isa:
3529
description:
@@ -109,6 +103,13 @@ properties:
109103
The standard C extension for compressed instructions, as ratified in
110104
the 20191213 version of the unprivileged ISA specification.
111105

106+
- const: b
107+
description:
108+
The standard B extension for bit manipulation instructions, as
109+
ratified in the 20240411 version of the unprivileged ISA
110+
specification. The B standard extension comprises instructions
111+
provided by the Zba, Zbb, and Zbs extensions.
112+
112113
- const: v
113114
description:
114115
The standard V extension for vector operations, as ratified
@@ -117,10 +118,62 @@ properties:
117118

118119
- const: h
119120
description:
120-
The standard H extension for hypervisors as ratified in the 20191213
121-
version of the privileged ISA specification.
121+
The standard H extension for hypervisors as ratified in the RISC-V
122+
Instruction Set Manual, Volume II Privileged Architecture,
123+
Document Version 20211203.
122124

123125
# multi-letter extensions, sorted alphanumerically
126+
- const: sha
127+
description: |
128+
The standard Sha extension for augmented hypervisor extension as
129+
ratified in RVA23 Profiles Version 1.0, with commit 0273f3c921b6
130+
("rva23/rvb23 ratified").
131+
132+
Sha captures the full set of features that are mandated to be
133+
supported along with the H extension. Sha comprises the following
134+
extensions: H, Shcounterenw, Shgatpa, Shtvala, Shvsatpa, Shvstvala,
135+
Shvstvecd, and Ssstateen.
136+
137+
- const: shcounterenw
138+
description: |
139+
The standard Shcounterenw extension for support writable enables
140+
in hcounteren for any supported counter, as ratified in RISC-V
141+
Profiles Version 1.0, with commit b1d806605f87 ("Updated to
142+
ratified state.")
143+
144+
- const: shgatpa
145+
description: |
146+
The standard Shgatpa extension indicates that for each supported
147+
virtual memory scheme SvNN supported in satp, the corresponding
148+
hgatp SvNNx4 mode must be supported. The hgatp mode Bare must
149+
also be supported. It is ratified in RISC-V Profiles Version 1.0,
150+
with commit b1d806605f87 ("Updated to ratified state.")
151+
152+
- const: shtvala
153+
description: |
154+
The standard Shtvala extension for htval be written with the
155+
faulting guest physical address in all circumstances permitted by
156+
the ISA. It is ratified in RISC-V Profiles Version 1.0, with
157+
commit b1d806605f87 ("Updated to ratified state.")
158+
159+
- const: shvsatpa
160+
description: |
161+
The standard Shvsatpa extension for vsatp supporting all translation
162+
modes supported in satp, as ratified in RISC-V Profiles Version 1.0,
163+
with commit b1d806605f87 ("Updated to ratified state.")
164+
165+
- const: shvstvala
166+
description: |
167+
The standard Shvstvala extension for vstval provides all needed
168+
values as ratified in RISC-V Profiles Version 1.0, with commit
169+
b1d806605f87 ("Updated to ratified state.")
170+
171+
- const: shvstvecd
172+
description: |
173+
The standard Shvstvecd extension for vstvec supporting Direct mode,
174+
as ratified in RISC-V Profiles Version 1.0, with commit b1d806605f87
175+
("Updated to ratified state.")
176+
124177
- const: smaia
125178
description: |
126179
The standard Smaia supervisor-level extension for the advanced
@@ -153,24 +206,62 @@ properties:
153206
behavioural changes to interrupts as frozen at commit ccbddab
154207
("Merge pull request #42 from riscv/jhauser-2023-RC4") of riscv-aia.
155208
209+
- const: ssccptr
210+
description: |
211+
The standard Ssccptr extension for main memory (cacheability and
212+
coherence) hardware page-table reads, as ratified in RISC-V
213+
Profiles Version 1.0, with commit b1d806605f87 ("Updated to
214+
ratified state.")
215+
156216
- const: sscofpmf
157217
description: |
158218
The standard Sscofpmf supervisor-level extension for count overflow
159219
and mode-based filtering as ratified at commit 01d1df0 ("Add ability
160220
to manually trigger workflow. (#2)") of riscv-count-overflow.
161221
222+
- const: sscounterenw
223+
description: |
224+
The standard Sscounterenw extension for support writable enables
225+
in scounteren for any supported counter, as ratified in RISC-V
226+
Profiles Version 1.0, with commit b1d806605f87 ("Updated to
227+
ratified state.")
228+
162229
- const: ssnpm
163230
description: |
164231
The standard Ssnpm extension for next-mode pointer masking as
165232
ratified at commit d70011dde6c2 ("Update to ratified state")
166233
of riscv-j-extension.
167234
235+
- const: ssstateen
236+
description: |
237+
The standard Ssstateen extension for supervisor-mode view of the
238+
state-enable extension, as ratified in RISC-V Profiles Version 1.0,
239+
with commit b1d806605f87 ("Updated to ratified state.")
240+
168241
- const: sstc
169242
description: |
170243
The standard Sstc supervisor-level extension for time compare as
171244
ratified at commit 3f9ed34 ("Add ability to manually trigger
172245
workflow. (#2)") of riscv-time-compare.
173246
247+
- const: sstvala
248+
description: |
249+
The standard Sstvala extension for stval provides all needed values
250+
as ratified in RISC-V Profiles Version 1.0, with commit b1d806605f87
251+
("Updated to ratified state.")
252+
253+
- const: sstvecd
254+
description: |
255+
The standard Sstvecd extension for stvec supports Direct mode as
256+
ratified in RISC-V Profiles Version 1.0, with commit b1d806605f87
257+
("Updated to ratified state.")
258+
259+
- const: ssu64xl
260+
description: |
261+
The standard Ssu64xl extension for UXLEN=64 must be supported, as
262+
ratified in RISC-V Profiles Version 1.0, with commit b1d806605f87
263+
("Updated to ratified state.")
264+
174265
- const: svade
175266
description: |
176267
The standard Svade supervisor-level extension for SW-managed PTE A/D
@@ -202,20 +293,22 @@ properties:
202293
- const: svinval
203294
description:
204295
The standard Svinval supervisor-level extension for fine-grained
205-
address-translation cache invalidation as ratified in the 20191213
206-
version of the privileged ISA specification.
296+
address-translation cache invalidation as ratified in the RISC-V
297+
Instruction Set Manual, Volume II Privileged Architecture,
298+
Document Version 20211203.
207299

208300
- const: svnapot
209301
description:
210302
The standard Svnapot supervisor-level extensions for napot
211-
translation contiguity as ratified in the 20191213 version of the
212-
privileged ISA specification.
303+
translation contiguity as ratified in the RISC-V Instruction Set
304+
Manual, Volume II Privileged Architecture, Document Version
305+
20211203.
213306

214307
- const: svpbmt
215308
description:
216309
The standard Svpbmt supervisor-level extensions for page-based
217-
memory types as ratified in the 20191213 version of the privileged
218-
ISA specification.
310+
memory types as ratified in the RISC-V Instruction Set Manual,
311+
Volume II Privileged Architecture, Document Version 20211203.
219312

220313
- const: svrsw60t59b
221314
description:
@@ -230,6 +323,12 @@ properties:
230323
as ratified at commit 4a69197e5617 ("Update to ratified state") of
231324
riscv-svvptc.
232325

326+
- const: za64rs
327+
description:
328+
The standard Za64rs extension for reservation set size of at most
329+
64 bytes, as ratified in RISC-V Profiles Version 1.0, with commit
330+
b1d806605f87 ("Updated to ratified state.")
331+
233332
- const: zaamo
234333
description: |
235334
The standard Zaamo extension for atomic memory operations as
@@ -371,6 +470,27 @@ properties:
371470
in commit 64074bc ("Update version numbers for Zfh/Zfinx") of
372471
riscv-isa-manual.
373472

473+
- const: ziccamoa
474+
description:
475+
The standard Ziccamoa extension for main memory (cacheability and
476+
coherence) must support all atomics in A, as ratified in RISC-V
477+
Profiles Version 1.0, with commit b1d806605f87 ("Updated to
478+
ratified state.")
479+
480+
- const: ziccif
481+
description:
482+
The standard Ziccif extension for main memory (cacheability and
483+
coherence) instruction fetch atomicity, as ratified in RISC-V
484+
Profiles Version 1.0, with commit b1d806605f87 ("Updated to
485+
ratified state.")
486+
487+
- const: zicclsm
488+
description:
489+
The standard Zicclsm extension for main memory (cacheability and
490+
coherence) must support misaligned loads and stores, as ratified
491+
in RISC-V Profiles Version 1.0, with commit b1d806605f87 ("Updated
492+
to ratified state.")
493+
374494
- const: ziccrse
375495
description:
376496
The standard Ziccrse extension which provides forward progress
@@ -749,6 +869,42 @@ properties:
749869
then:
750870
contains:
751871
const: f
872+
# B comprises Zba, Zbb, and Zbs
873+
- if:
874+
contains:
875+
const: b
876+
then:
877+
allOf:
878+
- contains:
879+
const: zba
880+
- contains:
881+
const: zbb
882+
- contains:
883+
const: zbs
884+
# Zba, Zbb, Zbs together require B
885+
- if:
886+
allOf:
887+
- contains:
888+
const: zba
889+
- contains:
890+
const: zbb
891+
- contains:
892+
const: zbs
893+
then:
894+
contains:
895+
const: b
896+
# Za64rs and Ziccrse depend on Zalrsc or A
897+
- if:
898+
contains:
899+
anyOf:
900+
- const: za64rs
901+
- const: ziccrse
902+
then:
903+
oneOf:
904+
- contains:
905+
const: zalrsc
906+
- contains:
907+
const: a
752908
# Zcb depends on Zca
753909
- if:
754910
contains:
@@ -790,6 +946,16 @@ properties:
790946
then:
791947
contains:
792948
const: f
949+
# Ziccamoa depends on Zaamo or A
950+
- if:
951+
contains:
952+
const: ziccamoa
953+
then:
954+
oneOf:
955+
- contains:
956+
const: zaamo
957+
- contains:
958+
const: a
793959
# Zvfbfmin depends on V or Zve32f
794960
- if:
795961
contains:

Documentation/devicetree/bindings/riscv/starfive.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ properties:
4141
- starfive,visionfive-2-lite
4242
- starfive,visionfive-2-lite-emmc
4343
- const: starfive,jh7110s
44+
- const: starfive,jh7110
4445

4546
additionalProperties: true
4647

arch/riscv/boot/dts/anlogic/dr1v90.dtsi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@
2727
mmu-type = "riscv,sv39";
2828
reg = <0>;
2929
riscv,isa-base = "rv64i";
30-
riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zbc",
31-
"zbkc", "zbs", "zicntr", "zicsr", "zifencei",
30+
riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b",
31+
"zba", "zbb", "zbc", "zbkc", "zbs",
32+
"zicntr", "zicsr", "zifencei",
3233
"zihintpause", "zihpm";
3334

3435
cpu0_intc: interrupt-controller {

arch/riscv/boot/dts/microchip/mpfs.dtsi

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -251,14 +251,17 @@
251251
#dma-cells = <1>;
252252
};
253253

254-
clkcfg: clkcfg@20002000 {
255-
compatible = "microchip,mpfs-clkcfg";
256-
reg = <0x0 0x20002000 0x0 0x1000>, <0x0 0x3E001000 0x0 0x1000>;
257-
clocks = <&refclk>;
258-
#clock-cells = <1>;
254+
mss_top_sysreg: syscon@20002000 {
255+
compatible = "microchip,mpfs-mss-top-sysreg", "syscon", "simple-mfd";
256+
reg = <0x0 0x20002000 0x0 0x1000>;
259257
#reset-cells = <1>;
260258
};
261259

260+
sysreg_scb: syscon@20003000 {
261+
compatible = "microchip,mpfs-sysreg-scb", "syscon";
262+
reg = <0x0 0x20003000 0x0 0x1000>;
263+
};
264+
262265
ccc_se: clock-controller@38010000 {
263266
compatible = "microchip,mpfs-ccc";
264267
reg = <0x0 0x38010000 0x0 0x1000>, <0x0 0x38020000 0x0 0x1000>,
@@ -447,7 +450,7 @@
447450
local-mac-address = [00 00 00 00 00 00];
448451
clocks = <&clkcfg CLK_MAC0>, <&clkcfg CLK_AHB>;
449452
clock-names = "pclk", "hclk";
450-
resets = <&clkcfg CLK_MAC0>;
453+
resets = <&mss_top_sysreg CLK_MAC0>;
451454
status = "disabled";
452455
};
453456

@@ -461,7 +464,7 @@
461464
local-mac-address = [00 00 00 00 00 00];
462465
clocks = <&clkcfg CLK_MAC1>, <&clkcfg CLK_AHB>;
463466
clock-names = "pclk", "hclk";
464-
resets = <&clkcfg CLK_MAC1>;
467+
resets = <&mss_top_sysreg CLK_MAC1>;
465468
status = "disabled";
466469
};
467470

@@ -521,10 +524,14 @@
521524
status = "disabled";
522525
};
523526

524-
mbox: mailbox@37020000 {
527+
control_scb: syscon@37020000 {
528+
compatible = "microchip,mpfs-control-scb", "syscon";
529+
reg = <0x0 0x37020000 0x0 0x100>;
530+
};
531+
532+
mbox: mailbox@37020800 {
525533
compatible = "microchip,mpfs-mailbox";
526-
reg = <0x0 0x37020000 0x0 0x58>, <0x0 0x2000318C 0x0 0x40>,
527-
<0x0 0x37020800 0x0 0x100>;
534+
reg = <0x0 0x37020800 0x0 0x1000>;
528535
interrupt-parent = <&plic>;
529536
interrupts = <96>;
530537
#mbox-cells = <1>;
@@ -541,5 +548,12 @@
541548
clocks = <&scbclk>;
542549
status = "disabled";
543550
};
551+
552+
clkcfg: clkcfg@3e001000 {
553+
compatible = "microchip,mpfs-clkcfg";
554+
reg = <0x0 0x3e001000 0x0 0x1000>;
555+
clocks = <&refclk>;
556+
#clock-cells = <1>;
557+
};
544558
};
545559
};

arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
/ {
1111
model = "StarFive VisionFive 2 Lite eMMC";
12-
compatible = "starfive,visionfive-2-lite-emmc", "starfive,jh7110s";
12+
compatible = "starfive,visionfive-2-lite-emmc", "starfive,jh7110s", "starfive,jh7110";
1313
};
1414

1515
&mmc0 {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
/ {
1111
model = "StarFive VisionFive 2 Lite";
12-
compatible = "starfive,visionfive-2-lite", "starfive,jh7110s";
12+
compatible = "starfive,visionfive-2-lite", "starfive,jh7110s", "starfive,jh7110";
1313
};
1414

1515
&mmc0 {

0 commit comments

Comments
 (0)