* [PATCH v3 00/11] riscv: spacemit: Add SpacemiT K3 SoC and K3 Pico-ITX board
@ 2026-01-08 12:25 Guodong Xu
2026-01-08 12:25 ` [PATCH v3 01/11] dt-bindings: riscv: add SpacemiT X100 CPU compatible Guodong Xu
` (10 more replies)
0 siblings, 11 replies; 19+ messages in thread
From: Guodong Xu @ 2026-01-08 12:25 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan,
Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel,
Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen
Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt,
Kevin Meng Zhang, Anup Patel, Andrew Jones, devicetree,
linux-riscv, linux-kernel, spacemit, linux-serial, Guodong Xu,
Krzysztof Kozlowski, Heinrich Schuchardt, Conor Dooley
This series introduces basic support for the SpacemiT K3 SoC and the
K3 Pico-ITX evaluation board.
This series (starting from v2) also adds descriptions about ISA extensions
mandated by the RVA23 Profile Version 1.0 into riscv/extensions.yaml.
There are extensive discussions about how to handle these new extensions
in v2. In v3, here is my best understading of what I think we have reached
consensus on.
The SpacemiT K3 is an SoC featuring 8 SpacemiT X100 RISC-V cores.
The X100 is a 4-issue, out-of-order core compliant with the RVA23
profile, targeting high-performance scenarios. [1]
The K3 Pico-ITX is an evaluation board built around the K3 SoC.
From an RVA23 profile compliance perspective, the X100 supports all
mandatory extensions required by RVA23U64 and RVA23S64.
Hi, Conor
For the binding riscv/extensions.ymal, here's what changed in v3:
1. Dropped the patch of adding "supm" into extensions.yaml. At the same time,
I will start another patchset which implements the strategy outlined
by Conor in Link [2]. I understand there could be different opinions
and anyway, let's move the discussion about "supm" into a patchset of
its own.
2. Dropped the dependency checks for "sha" on "h", "shcounterenw", and
6 others. "sha" implies these extensions, and it should be allowed
to be declared independently.
3. Enchanced the dependency check of "ziccamoa" on "a". Sepcifically,
- added the dependecy check of "ziccamoa" on "zaamo" or on "a".
- added the dependency check of "za64rs" on "zalrsc" or on "a".
- added the dependency check of "ziccrse" on "zalrsc" or "a".
The commit message of this patch is updated too, to better explain the
relationship between "ziccamoa", "za64rs", "ziccrse" and "a".
4. Enhanced checking dependency of "b" and "zba", "zbb", "zbs", making the
dependency check in both directions.
Thank you for your review.
Other Changes in v3 include:
- Patch 1:
Acked-by: Krzysztof Kozlowski
- Patch 4:
Acked-by: Krzysztof Kozlowski
- Dropped Patch 5 "dt-bindings: serial: 8250: add SpacemiT K3 UART compatible"
as it has been applied to tty-next.
The entire series now rebased on top of tty-next (tty.git), which now merged
with v6.19-rc3.
Link: https://www.spacemit.com/en/spacemit-x100-core/ [1]
Link: https://lore.kernel.org/lkml/20260101-legume-engraved-0fae8282cfbe@spud/ [2]
Link to v2: https://lore.kernel.org/r/20251222-k3-basic-dt-v2-0-3af3f3cd0f8a@riscstar.com
Changes in v2:
- Patch 1:
Fixed alphanumeric sorting order of compatible strings (swapped x100 and
x60) as per Krzysztof's feedback.
Update commit message with more information about X100 featurs per
Yixun's feedback.
- Patch 4:
Fixed the order to keep things alphabetically.
- Patch 6:
Use "one blank space" between name and email address.
- Patch 7 ~ 11:
New patches. Add description of RVA23 mandatory extensions into riscv
binding YAML file.
- Patch 12 (Patch 7 in v1):
Removed aliases node.
Updated 'riscv,isa-extensions' with new extension strings available
- Patch 13 (Patch 8 in v1):
Updated the memory address to the hardware truth.
Added aliases node in board dts.
- Patch 1,2,3,5: Add Reviewed-by and Acked-by collected.
Link to v1: https://lore.kernel.org/r/20251216-k3-basic-dt-v1-0-a0d256c9dc92@riscstar.com
Signed-off-by: Guodong Xu <guodong@riscstar.com>
---
Guodong Xu (11):
dt-bindings: riscv: add SpacemiT X100 CPU compatible
dt-bindings: timer: add SpacemiT K3 CLINT
dt-bindings: interrupt-controller: add SpacemiT K3 APLIC
dt-bindings: interrupt-controller: add SpacemiT K3 IMSIC
dt-bindings: riscv: spacemit: add K3 and Pico-ITX board bindings
dt-bindings: riscv: Add B ISA extension description
dt-bindings: riscv: Add descriptions for Za64rs, Ziccamoa, Ziccif, and Zicclsm
dt-bindings: riscv: Add Ssccptr, Sscounterenw, Sstvala, Sstvecd, Ssu64xl
dt-bindings: riscv: Add Sha and its comprised extensions
riscv: dts: spacemit: add initial device tree of SpacemiT K3 SoC
riscv: dts: spacemit: add SpacemiT K3 Pico-ITX board device tree
.../bindings/interrupt-controller/riscv,aplic.yaml | 1 +
.../interrupt-controller/riscv,imsics.yaml | 1 +
Documentation/devicetree/bindings/riscv/cpus.yaml | 1 +
.../devicetree/bindings/riscv/extensions.yaml | 169 +++++++
.../devicetree/bindings/riscv/spacemit.yaml | 4 +
.../devicetree/bindings/timer/sifive,clint.yaml | 1 +
arch/riscv/boot/dts/spacemit/Makefile | 1 +
arch/riscv/boot/dts/spacemit/k3-pico-itx.dts | 38 ++
arch/riscv/boot/dts/spacemit/k3.dtsi | 548 +++++++++++++++++++++
9 files changed, 764 insertions(+)
---
base-commit: 322fc12949d2658da8c6b2866fffcb1daa7da019
change-id: 20251216-k3-basic-dt-cd9540061989
Best regards,
--
Guodong Xu <guodong@riscstar.com>
^ permalink raw reply [flat|nested] 19+ messages in thread* [PATCH v3 01/11] dt-bindings: riscv: add SpacemiT X100 CPU compatible 2026-01-08 12:25 [PATCH v3 00/11] riscv: spacemit: Add SpacemiT K3 SoC and K3 Pico-ITX board Guodong Xu @ 2026-01-08 12:25 ` Guodong Xu 2026-01-14 23:17 ` Paul Walmsley 2026-01-08 12:25 ` [PATCH v3 02/11] dt-bindings: timer: add SpacemiT K3 CLINT Guodong Xu ` (9 subsequent siblings) 10 siblings, 1 reply; 19+ messages in thread From: Guodong Xu @ 2026-01-08 12:25 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Anup Patel, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Guodong Xu, Krzysztof Kozlowski, Heinrich Schuchardt Add compatible string for the SpacemiT X100 core. [1] The X100 is a 64-bit RVA23-compliant RISC-V core from SpacemiT. X100 supports the RISC-V vector and hypervisor extensions and all mandatory extersions as required by the RVA23U64 and RVA23S64 profiles, per the definition in 'RVA23 Profile, Version 1.0'. [2] From a microarchieture viewpoint, the X100 features a 4-issue out-of-order pipeline. X100 is used in SpacemiT K3 SoC. Link: https://www.spacemit.com/en/spacemit-x100-core/ [1] Link: https://docs.riscv.org/reference/profiles/rva23/_attachments/rva23-profile.pdf [2] Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Reviewed-by: Yixun Lan <dlan@gentoo.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Signed-off-by: Guodong Xu <guodong@riscstar.com> --- v3: Added Acked-by from Krzysztof. v2: Fixed alphanumeric sorting of compatible strings, put x100 before x60, as per Krzysztof's feedback. Added reviewed-by from Yixun and Heinrich. Updated the commit message to provide more information about X100. --- Documentation/devicetree/bindings/riscv/cpus.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/riscv/cpus.yaml b/Documentation/devicetree/bindings/riscv/cpus.yaml index d733c0bd534fb63ed7c0eada97c42832431f1fc1..5feeb2203050ae1f1404100ab7ba93e224f72d97 100644 --- a/Documentation/devicetree/bindings/riscv/cpus.yaml +++ b/Documentation/devicetree/bindings/riscv/cpus.yaml @@ -61,6 +61,7 @@ properties: - sifive,u7 - sifive,u74 - sifive,u74-mc + - spacemit,x100 - spacemit,x60 - thead,c906 - thead,c908 -- 2.43.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH v3 01/11] dt-bindings: riscv: add SpacemiT X100 CPU compatible 2026-01-08 12:25 ` [PATCH v3 01/11] dt-bindings: riscv: add SpacemiT X100 CPU compatible Guodong Xu @ 2026-01-14 23:17 ` Paul Walmsley 0 siblings, 0 replies; 19+ messages in thread From: Paul Walmsley @ 2026-01-14 23:17 UTC (permalink / raw) To: Guodong Xu Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen, Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Krzysztof Kozlowski, Heinrich Schuchardt On Thu, 8 Jan 2026, Guodong Xu wrote: > Add compatible string for the SpacemiT X100 core. [1] > > The X100 is a 64-bit RVA23-compliant RISC-V core from SpacemiT. X100 > supports the RISC-V vector and hypervisor extensions and all mandatory > extersions as required by the RVA23U64 and RVA23S64 profiles, per the > definition in 'RVA23 Profile, Version 1.0'. [2] > > >From a microarchieture viewpoint, the X100 features a 4-issue > out-of-order pipeline. > > X100 is used in SpacemiT K3 SoC. > > Link: https://www.spacemit.com/en/spacemit-x100-core/ [1] > Link: https://docs.riscv.org/reference/profiles/rva23/_attachments/rva23-profile.pdf [2] > Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> > Reviewed-by: Yixun Lan <dlan@gentoo.org> > Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> > Signed-off-by: Guodong Xu <guodong@riscstar.com> I think Yixun Lan is going to pick this up, so Acked-by: Paul Walmsley <pjw@kernel.org> - Paul ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v3 02/11] dt-bindings: timer: add SpacemiT K3 CLINT 2026-01-08 12:25 [PATCH v3 00/11] riscv: spacemit: Add SpacemiT K3 SoC and K3 Pico-ITX board Guodong Xu 2026-01-08 12:25 ` [PATCH v3 01/11] dt-bindings: riscv: add SpacemiT X100 CPU compatible Guodong Xu @ 2026-01-08 12:25 ` Guodong Xu 2026-01-08 12:25 ` [PATCH v3 03/11] dt-bindings: interrupt-controller: add SpacemiT K3 APLIC Guodong Xu ` (8 subsequent siblings) 10 siblings, 0 replies; 19+ messages in thread From: Guodong Xu @ 2026-01-08 12:25 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Anup Patel, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Guodong Xu, Conor Dooley Add compatible string for SpacemiT K3 CLINT. Acked-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Guodong Xu <guodong@riscstar.com> --- v3: No change. v2: Add Conor's Acked-by. --- Documentation/devicetree/bindings/timer/sifive,clint.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/timer/sifive,clint.yaml b/Documentation/devicetree/bindings/timer/sifive,clint.yaml index 0d3b8dc362ba7e8d0ca6d0cea692ceddc5e1f89e..3bab40500df9bc2ba4f7d6f1bf340c8cbc06f9de 100644 --- a/Documentation/devicetree/bindings/timer/sifive,clint.yaml +++ b/Documentation/devicetree/bindings/timer/sifive,clint.yaml @@ -33,6 +33,7 @@ properties: - eswin,eic7700-clint # ESWIN EIC7700 - sifive,fu540-c000-clint # SiFive FU540 - spacemit,k1-clint # SpacemiT K1 + - spacemit,k3-clint # SpacemiT K3 - starfive,jh7100-clint # StarFive JH7100 - starfive,jh7110-clint # StarFive JH7110 - starfive,jh8100-clint # StarFive JH8100 -- 2.43.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v3 03/11] dt-bindings: interrupt-controller: add SpacemiT K3 APLIC 2026-01-08 12:25 [PATCH v3 00/11] riscv: spacemit: Add SpacemiT K3 SoC and K3 Pico-ITX board Guodong Xu 2026-01-08 12:25 ` [PATCH v3 01/11] dt-bindings: riscv: add SpacemiT X100 CPU compatible Guodong Xu 2026-01-08 12:25 ` [PATCH v3 02/11] dt-bindings: timer: add SpacemiT K3 CLINT Guodong Xu @ 2026-01-08 12:25 ` Guodong Xu 2026-01-08 12:25 ` [PATCH v3 04/11] dt-bindings: interrupt-controller: add SpacemiT K3 IMSIC Guodong Xu ` (7 subsequent siblings) 10 siblings, 0 replies; 19+ messages in thread From: Guodong Xu @ 2026-01-08 12:25 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Anup Patel, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Guodong Xu, Conor Dooley Add compatible string for SpacemiT K3 APLIC. Acked-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Guodong Xu <guodong@riscstar.com> --- v3: No change. v2: Add Conor's Acked-by. --- Documentation/devicetree/bindings/interrupt-controller/riscv,aplic.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/interrupt-controller/riscv,aplic.yaml b/Documentation/devicetree/bindings/interrupt-controller/riscv,aplic.yaml index bef00521d5dacc002d24c50843ebe6380a7d5524..0718071444d29fbfa36283fc9666e8cecd6f77e7 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/riscv,aplic.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/riscv,aplic.yaml @@ -28,6 +28,7 @@ properties: items: - enum: - qemu,aplic + - spacemit,k3-aplic - const: riscv,aplic reg: -- 2.43.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v3 04/11] dt-bindings: interrupt-controller: add SpacemiT K3 IMSIC 2026-01-08 12:25 [PATCH v3 00/11] riscv: spacemit: Add SpacemiT K3 SoC and K3 Pico-ITX board Guodong Xu ` (2 preceding siblings ...) 2026-01-08 12:25 ` [PATCH v3 03/11] dt-bindings: interrupt-controller: add SpacemiT K3 APLIC Guodong Xu @ 2026-01-08 12:25 ` Guodong Xu 2026-01-08 12:25 ` [PATCH v3 05/11] dt-bindings: riscv: spacemit: add K3 and Pico-ITX board bindings Guodong Xu ` (6 subsequent siblings) 10 siblings, 0 replies; 19+ messages in thread From: Guodong Xu @ 2026-01-08 12:25 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Anup Patel, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Guodong Xu, Krzysztof Kozlowski Add compatible string for SpacemiT K3 IMSIC. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Guodong Xu <guodong@riscstar.com> --- v3: Add Acked-by from Krzysztof. v2: Fix the order to keep things alphabetically. --- Documentation/devicetree/bindings/interrupt-controller/riscv,imsics.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/interrupt-controller/riscv,imsics.yaml b/Documentation/devicetree/bindings/interrupt-controller/riscv,imsics.yaml index c23b5c09fdb90baccece03708f4a381084b22049..feec122bddde1f82cbd29b8f3597d6af1a16cb23 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/riscv,imsics.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/riscv,imsics.yaml @@ -48,6 +48,7 @@ properties: items: - enum: - qemu,imsics + - spacemit,k3-imsics - const: riscv,imsics reg: -- 2.43.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v3 05/11] dt-bindings: riscv: spacemit: add K3 and Pico-ITX board bindings 2026-01-08 12:25 [PATCH v3 00/11] riscv: spacemit: Add SpacemiT K3 SoC and K3 Pico-ITX board Guodong Xu ` (3 preceding siblings ...) 2026-01-08 12:25 ` [PATCH v3 04/11] dt-bindings: interrupt-controller: add SpacemiT K3 IMSIC Guodong Xu @ 2026-01-08 12:25 ` Guodong Xu 2026-01-09 3:36 ` Yixun Lan 2026-01-08 12:25 ` [PATCH v3 06/11] dt-bindings: riscv: Add B ISA extension description Guodong Xu ` (5 subsequent siblings) 10 siblings, 1 reply; 19+ messages in thread From: Guodong Xu @ 2026-01-08 12:25 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Anup Patel, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Guodong Xu Add DT binding documentation for the SpacemiT K3 SoC and the board Pico-ITX which is a 2.5-inch single-board computer. Signed-off-by: Guodong Xu <guodong@riscstar.com> --- v3: No change. v2: Use one-blank-space between name and email address. --- Documentation/devicetree/bindings/riscv/spacemit.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/spacemit.yaml b/Documentation/devicetree/bindings/riscv/spacemit.yaml index 9c49482002f768cd0cc59be6db02659a43fa31ce..fe62971c9d1f4a7470eabc0e84e8a747f84baf0d 100644 --- a/Documentation/devicetree/bindings/riscv/spacemit.yaml +++ b/Documentation/devicetree/bindings/riscv/spacemit.yaml @@ -9,6 +9,7 @@ title: SpacemiT SoC-based boards maintainers: - Yangyu Chen <cyy@cyyself.name> - Yixun Lan <dlan@gentoo.org> + - Guodong Xu <guodong@riscstar.com> description: SpacemiT SoC-based boards @@ -26,6 +27,9 @@ properties: - xunlong,orangepi-r2s - xunlong,orangepi-rv2 - const: spacemit,k1 + - items: + - const: spacemit,k3-pico-itx + - const: spacemit,k3 additionalProperties: true -- 2.43.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH v3 05/11] dt-bindings: riscv: spacemit: add K3 and Pico-ITX board bindings 2026-01-08 12:25 ` [PATCH v3 05/11] dt-bindings: riscv: spacemit: add K3 and Pico-ITX board bindings Guodong Xu @ 2026-01-09 3:36 ` Yixun Lan 2026-01-09 10:12 ` Guodong Xu 0 siblings, 1 reply; 19+ messages in thread From: Yixun Lan @ 2026-01-09 3:36 UTC (permalink / raw) To: Guodong Xu Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen, Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial Hi Guodong, On 20:25 Thu 08 Jan , Guodong Xu wrote: > Add DT binding documentation for the SpacemiT K3 SoC and the board Pico-ITX > which is a 2.5-inch single-board computer. > > Signed-off-by: Guodong Xu <guodong@riscstar.com> > --- > v3: No change. > v2: Use one-blank-space between name and email address. > --- > Documentation/devicetree/bindings/riscv/spacemit.yaml | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/Documentation/devicetree/bindings/riscv/spacemit.yaml b/Documentation/devicetree/bindings/riscv/spacemit.yaml > index 9c49482002f768cd0cc59be6db02659a43fa31ce..fe62971c9d1f4a7470eabc0e84e8a747f84baf0d 100644 > --- a/Documentation/devicetree/bindings/riscv/spacemit.yaml > +++ b/Documentation/devicetree/bindings/riscv/spacemit.yaml > @@ -9,6 +9,7 @@ title: SpacemiT SoC-based boards > maintainers: > - Yangyu Chen <cyy@cyyself.name> > - Yixun Lan <dlan@gentoo.org> > + - Guodong Xu <guodong@riscstar.com> > sort by alphabet letter of first name? > description: > SpacemiT SoC-based boards > @@ -26,6 +27,9 @@ properties: > - xunlong,orangepi-r2s > - xunlong,orangepi-rv2 > - const: spacemit,k1 > + - items: .. > + - const: spacemit,k3-pico-itx if DT mainainer has no objection, I'd suggest to change to enum - enum: - spacemit,k3-pico-itx although single enum is effectively equivalent to const, but easy for adding more boards in future (no change to previous code).. > + - const: spacemit,k3 > > additionalProperties: true > > > -- > 2.43.0 > -- Yixun Lan (dlan) ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v3 05/11] dt-bindings: riscv: spacemit: add K3 and Pico-ITX board bindings 2026-01-09 3:36 ` Yixun Lan @ 2026-01-09 10:12 ` Guodong Xu 0 siblings, 0 replies; 19+ messages in thread From: Guodong Xu @ 2026-01-09 10:12 UTC (permalink / raw) To: Yixun Lan Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen, Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial Hi, Yixun On Fri, Jan 9, 2026 at 11:36 AM Yixun Lan <dlan@gentoo.org> wrote: > > Hi Guodong, > > On 20:25 Thu 08 Jan , Guodong Xu wrote: > > Add DT binding documentation for the SpacemiT K3 SoC and the board Pico-ITX > > which is a 2.5-inch single-board computer. > > > > Signed-off-by: Guodong Xu <guodong@riscstar.com> > > --- > > v3: No change. > > v2: Use one-blank-space between name and email address. > > --- > > Documentation/devicetree/bindings/riscv/spacemit.yaml | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/riscv/spacemit.yaml b/Documentation/devicetree/bindings/riscv/spacemit.yaml > > index 9c49482002f768cd0cc59be6db02659a43fa31ce..fe62971c9d1f4a7470eabc0e84e8a747f84baf0d 100644 > > --- a/Documentation/devicetree/bindings/riscv/spacemit.yaml > > +++ b/Documentation/devicetree/bindings/riscv/spacemit.yaml > > @@ -9,6 +9,7 @@ title: SpacemiT SoC-based boards > > maintainers: > > - Yangyu Chen <cyy@cyyself.name> > > - Yixun Lan <dlan@gentoo.org> > > + - Guodong Xu <guodong@riscstar.com> > > > sort by alphabet letter of first name? Thanks for the review comments. Sure, I can do that. > > > description: > > SpacemiT SoC-based boards > > @@ -26,6 +27,9 @@ properties: > > - xunlong,orangepi-r2s > > - xunlong,orangepi-rv2 > > - const: spacemit,k1 > > + - items: > .. > > + - const: spacemit,k3-pico-itx > if DT mainainer has no objection, I'd suggest to change to enum > - enum: > - spacemit,k3-pico-itx > > although single enum is effectively equivalent to const, but easy for > adding more boards in future (no change to previous code).. > Ok, I see your point. I can find there are other yaml files doing the same style. If no other objection, I will change it to enum in next version. BR, Guodong Xu > > + - const: spacemit,k3 > > > > additionalProperties: true > > > > > > -- > > 2.43.0 > > > > -- > Yixun Lan (dlan) ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v3 06/11] dt-bindings: riscv: Add B ISA extension description 2026-01-08 12:25 [PATCH v3 00/11] riscv: spacemit: Add SpacemiT K3 SoC and K3 Pico-ITX board Guodong Xu ` (4 preceding siblings ...) 2026-01-08 12:25 ` [PATCH v3 05/11] dt-bindings: riscv: spacemit: add K3 and Pico-ITX board bindings Guodong Xu @ 2026-01-08 12:25 ` Guodong Xu 2026-01-08 12:25 ` [PATCH v3 07/11] dt-bindings: riscv: Add descriptions for Za64rs, Ziccamoa, Ziccif, and Zicclsm Guodong Xu ` (4 subsequent siblings) 10 siblings, 0 replies; 19+ messages in thread From: Guodong Xu @ 2026-01-08 12:25 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Anup Patel, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Guodong Xu Add description of the single-letter B extennsion for Bit Manipulation. B is mandatory for RVA23U64. The B extension is ratified in the 20240411 version of the unprivileged ISA specification. According to the ratified spec, the B standard extension comprises instructions provided by the Zba, Zbb, and Zbs extensions. Add two-way dependency check to enforce that B implies Zba/Zbb/Zbs; and when Zba/Zbb/Zbs (all of them) are specified, then B must be added too. The reason why B/Zba/Zbb/Zbs must coexist at the same time is that unlike other single-letter extensions, B was ratified (Apr/2024) much later than its component extensions Zba/Zbb/Zbs (Jun/2021). When "b" is specified, zba/zbb/zbs must also be present to ensure backward compatibility with existing software and kernels that only look for the explicit component strings. When all three components zba/zbb/zbs are specified, "b" should also be present. Making "b" mandatory when all three components are present. Existing devicetrees with zba/zbb/zbs but without "b" will generate warnings that can be fixed in follow-up patches. Signed-off-by: Guodong Xu <guodong@riscstar.com> --- v3: Update the commit message to explain the retionale why B and Zba/Zbb/Zbs should all exist in DT. v2: New patch. --- .../devicetree/bindings/riscv/extensions.yaml | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml index 5bab356addc848abf8240991ff525c619b9fc0dc..e026b366c8f5dbe7d6988d3ed374183c165de35a 100644 --- a/Documentation/devicetree/bindings/riscv/extensions.yaml +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml @@ -109,6 +109,13 @@ properties: The standard C extension for compressed instructions, as ratified in the 20191213 version of the unprivileged ISA specification. + - const: b + description: + The standard B extension for bit manipulation instructions, as + ratified in the 20240411 version of the unprivileged ISA + specification. The B standard extension comprises instructions + provided by the Zba, Zbb, and Zbs extensions. + - const: v description: The standard V extension for vector operations, as ratified @@ -749,6 +756,30 @@ properties: then: contains: const: f + # B comprises Zba, Zbb, and Zbs + - if: + contains: + const: b + then: + allOf: + - contains: + const: zba + - contains: + const: zbb + - contains: + const: zbs + # Zba, Zbb, Zbs together require B + - if: + allOf: + - contains: + const: zba + - contains: + const: zbb + - contains: + const: zbs + then: + contains: + const: b # Zcb depends on Zca - if: contains: -- 2.43.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v3 07/11] dt-bindings: riscv: Add descriptions for Za64rs, Ziccamoa, Ziccif, and Zicclsm 2026-01-08 12:25 [PATCH v3 00/11] riscv: spacemit: Add SpacemiT K3 SoC and K3 Pico-ITX board Guodong Xu ` (5 preceding siblings ...) 2026-01-08 12:25 ` [PATCH v3 06/11] dt-bindings: riscv: Add B ISA extension description Guodong Xu @ 2026-01-08 12:25 ` Guodong Xu 2026-01-08 12:25 ` [PATCH v3 08/11] dt-bindings: riscv: Add Ssccptr, Sscounterenw, Sstvala, Sstvecd, Ssu64xl Guodong Xu ` (3 subsequent siblings) 10 siblings, 0 replies; 19+ messages in thread From: Guodong Xu @ 2026-01-08 12:25 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Anup Patel, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Guodong Xu Add descriptions for four extensions: Za64rs, Ziccamoa, Ziccif, and Zicclsm. These extensions are ratified in RISC-V Profiles Version 1.0 (commit b1d806605f87 "Updated to ratified state."). They are introduced as new extension names for existing features and regulate implementation details for RISC-V Profile compliance. According to RISC-V Profiles Version 1.0 and RVA23 Profiles Version 1.0, they are mandatory for the following profiles: - za64rs: Mandatory in RVA22U64, RVA23U64 - ziccamoa: Mandatory in RVA20U64, RVA22U64, RVA23U64 - ziccif: Mandatory in RVA20U64, RVA22U64, RVA23U64 - zicclsm: Mandatory in RVA20U64, RVA22U64, RVA23U64 Ziccrse specifies the main memory must support "RsrvEventual", which is one (totally there are four) of the support level for Load-Reserved/ Store-Conditional (LR/SC) atomic instructions. Thus it depends on Zalrsc. Ziccamoa specifies the main memory must support AMOArithmetic, among the four levels of PMA support defined for AMOs in the A extension. Thus it depends on Zaamo. Za64rs defines reservation sets are contiguous, naturally aligned, and a maximum of 64 bytes. Za64rs is consumed by two extensions: Zalrsc and Zawrs. Zawrs itself depends on Zalrsc too. Based on the relationship that "A" = Zaamo + Zalrsc, add the following dependencies checks: Za64rs -> Zalrsc or A Ziccrse -> Zalrsc or A Ziccamoa -> Zaamo or A Signed-off-by: Guodong Xu <guodong@riscstar.com> --- v3: Update the commit message to explain the relationship of Za64rs, Ziccrse, Ziccamoa, Zalrsc and A. Add dependency checks. v2: New patch. --- .../devicetree/bindings/riscv/extensions.yaml | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml index e026b366c8f5dbe7d6988d3ed374183c165de35a..ee2cdd3856b91a5bbf486e8a2da0986269e82a2b 100644 --- a/Documentation/devicetree/bindings/riscv/extensions.yaml +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml @@ -237,6 +237,12 @@ properties: as ratified at commit 4a69197e5617 ("Update to ratified state") of riscv-svvptc. + - const: za64rs + description: + The standard Za64rs extension for reservation set size of at most + 64 bytes, as ratified in RISC-V Profiles Version 1.0, with commit + b1d806605f87 ("Updated to ratified state.") + - const: zaamo description: | The standard Zaamo extension for atomic memory operations as @@ -378,6 +384,27 @@ properties: in commit 64074bc ("Update version numbers for Zfh/Zfinx") of riscv-isa-manual. + - const: ziccamoa + description: + The standard Ziccamoa extension for main memory (cacheability and + coherence) must support all atomics in A, as ratified in RISC-V + Profiles Version 1.0, with commit b1d806605f87 ("Updated to + ratified state.") + + - const: ziccif + description: + The standard Ziccif extension for main memory (cacheability and + coherence) instruction fetch atomicity, as ratified in RISC-V + Profiles Version 1.0, with commit b1d806605f87 ("Updated to + ratified state.") + + - const: zicclsm + description: + The standard Zicclsm extension for main memory (cacheability and + coherence) must support misaligned loads and stores, as ratified + in RISC-V Profiles Version 1.0, with commit b1d806605f87 ("Updated + to ratified state.") + - const: ziccrse description: The standard Ziccrse extension which provides forward progress @@ -780,6 +807,18 @@ properties: then: contains: const: b + # Za64rs and Ziccrse depend on Zalrsc or A + - if: + contains: + anyOf: + - const: za64rs + - const: ziccrse + then: + oneOf: + - contains: + const: zalrsc + - contains: + const: a # Zcb depends on Zca - if: contains: @@ -821,6 +860,16 @@ properties: then: contains: const: f + # Ziccamoa depends on Zaamo or A + - if: + contains: + const: ziccamoa + then: + oneOf: + - contains: + const: zaamo + - contains: + const: a # Zvfbfmin depends on V or Zve32f - if: contains: -- 2.43.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v3 08/11] dt-bindings: riscv: Add Ssccptr, Sscounterenw, Sstvala, Sstvecd, Ssu64xl 2026-01-08 12:25 [PATCH v3 00/11] riscv: spacemit: Add SpacemiT K3 SoC and K3 Pico-ITX board Guodong Xu ` (6 preceding siblings ...) 2026-01-08 12:25 ` [PATCH v3 07/11] dt-bindings: riscv: Add descriptions for Za64rs, Ziccamoa, Ziccif, and Zicclsm Guodong Xu @ 2026-01-08 12:25 ` Guodong Xu 2026-01-08 12:26 ` [PATCH v3 09/11] dt-bindings: riscv: Add Sha and its comprised extensions Guodong Xu ` (2 subsequent siblings) 10 siblings, 0 replies; 19+ messages in thread From: Guodong Xu @ 2026-01-08 12:25 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Anup Patel, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Guodong Xu Add descriptions for five new extensions: Ssccptr, Sscounterenw, Sstvala, Sstvecd, and Ssu64xl. These extensions are ratified in RISC-V Profiles Version 1.0 (commit b1d806605f87 "Updated to ratified state."). They are introduced as new extension names for existing features and regulate implementation details for RISC-V Profile compliance. According to RISC-V Profiles Version 1.0 and RVA23 Profiles Version 1.0, their requirement status are: - Ssccptr: Mandatory in RVA20S64, RVA22S64, RVA23S64 - Sscounterenw: Mandatory in RVA22S64, RVA23S64 - Sstvala: Mandatory in RVA20S64, RVA22S64, RVA23S64 - Sstvecd: Mandatory in RVA20S64, RVA22S64, RVA23S64 - Ssu64xl: Optional in RVA20S64, RVA22S64; Mandatory in RVA23S64 Signed-off-by: Guodong Xu <guodong@riscstar.com> --- v3: No change. v2: New patch. --- .../devicetree/bindings/riscv/extensions.yaml | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml index ee2cdd3856b91a5bbf486e8a2da0986269e82a2b..78b75ab0a473b60508f72fc30d4809a797a2c40a 100644 --- a/Documentation/devicetree/bindings/riscv/extensions.yaml +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml @@ -160,12 +160,26 @@ properties: behavioural changes to interrupts as frozen at commit ccbddab ("Merge pull request #42 from riscv/jhauser-2023-RC4") of riscv-aia. + - const: ssccptr + description: | + The standard Ssccptr extension for main memory (cacheability and + coherence) hardware page-table reads, as ratified in RISC-V + Profiles Version 1.0, with commit b1d806605f87 ("Updated to + ratified state.") + - const: sscofpmf description: | The standard Sscofpmf supervisor-level extension for count overflow and mode-based filtering as ratified at commit 01d1df0 ("Add ability to manually trigger workflow. (#2)") of riscv-count-overflow. + - const: sscounterenw + description: | + The standard Sscounterenw extension for support writable enables + in scounteren for any supported counter, as ratified in RISC-V + Profiles Version 1.0, with commit b1d806605f87 ("Updated to + ratified state.") + - const: ssnpm description: | The standard Ssnpm extension for next-mode pointer masking as @@ -178,6 +192,24 @@ properties: ratified at commit 3f9ed34 ("Add ability to manually trigger workflow. (#2)") of riscv-time-compare. + - const: sstvala + description: | + The standard Sstvala extension for stval provides all needed values + as ratified in RISC-V Profiles Version 1.0, with commit b1d806605f87 + ("Updated to ratified state.") + + - const: sstvecd + description: | + The standard Sstvecd extension for stvec supports Direct mode as + ratified in RISC-V Profiles Version 1.0, with commit b1d806605f87 + ("Updated to ratified state.") + + - const: ssu64xl + description: | + The standard Ssu64xl extension for UXLEN=64 must be supported, as + ratified in RISC-V Profiles Version 1.0, with commit b1d806605f87 + ("Updated to ratified state.") + - const: svade description: | The standard Svade supervisor-level extension for SW-managed PTE A/D -- 2.43.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v3 09/11] dt-bindings: riscv: Add Sha and its comprised extensions 2026-01-08 12:25 [PATCH v3 00/11] riscv: spacemit: Add SpacemiT K3 SoC and K3 Pico-ITX board Guodong Xu ` (7 preceding siblings ...) 2026-01-08 12:25 ` [PATCH v3 08/11] dt-bindings: riscv: Add Ssccptr, Sscounterenw, Sstvala, Sstvecd, Ssu64xl Guodong Xu @ 2026-01-08 12:26 ` Guodong Xu 2026-01-08 12:26 ` [PATCH v3 10/11] riscv: dts: spacemit: add initial device tree of SpacemiT K3 SoC Guodong Xu 2026-01-08 12:26 ` [PATCH v3 11/11] riscv: dts: spacemit: add SpacemiT K3 Pico-ITX board device tree Guodong Xu 10 siblings, 0 replies; 19+ messages in thread From: Guodong Xu @ 2026-01-08 12:26 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Anup Patel, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Guodong Xu Add descriptions for the Sha extension and the seven extensions it comprises: Shcounterenw, Shgatpa, Shtvala, Shvsatpa, Shvstvala, Shvstvecd, and Ssstateen. Sha is ratified in the RVA23 Profiles Version 1.0 (commit 0273f3c921b6 "rva23/rvb23 ratified") as a new profile-defined extension that captures the full set of features that are mandated to be supported along with the H extension. Extensions Shcounterenw, Shgatpa, Shtvala, Shvsatpa, Shvstvala, Shvstvecd, and Ssstateen are ratified in the RISC-V Profiles Version 1.0 (commit b1d806605f87 "Updated to ratified state"). The requirement status for Sha and its comprised extension in RISC-V Profiles are: - Sha: Mandatory in RVA23S64 - H: Optional in RVA22S64; Mandatory in RVA23S64 - Shcounterenw: Optional in RVA22S64; Mandatory in RVA23S64 - Shgatpa: Optional in RVA22S64; Mandatory in RVA23S64 - Shtvala: Optional in RVA22S64; Mandatory in RVA23S64 - Shvsatpa: Optional in RVA22S64; Mandatory in RVA23S64 - Shvstvala: Optional in RVA22S64; Mandatory in RVA23S64 - Shvstvecd: Optional in RVA22S64; Mandatory in RVA23S64 - Ssstateen: Optional in RVA22S64; Mandatory in RVA23S64 Signed-off-by: Guodong Xu <guodong@riscstar.com> --- v3: Drop dependency check for Sha. Both Sha and the extensions it implies are allowed to co-exist in DT. v2: New patch. --- .../devicetree/bindings/riscv/extensions.yaml | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml index 78b75ab0a473b60508f72fc30d4809a797a2c40a..839f48503f8246864495f7cda93a572b01351b0c 100644 --- a/Documentation/devicetree/bindings/riscv/extensions.yaml +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml @@ -128,6 +128,57 @@ properties: version of the privileged ISA specification. # multi-letter extensions, sorted alphanumerically + - const: sha + description: | + The standard Sha extension for augmented hypervisor extension as + ratified in RVA23 Profiles Version 1.0, with commit 0273f3c921b6 + ("rva23/rvb23 ratified"). + + Sha captures the full set of features that are mandated to be + supported along with the H extension. Sha comprises the following + extensions: H, Shcounterenw, Shgatpa, Shtvala, Shvsatpa, Shvstvala, + Shvstvecd, and Ssstateen. + + - const: shcounterenw + description: | + The standard Shcounterenw extension for support writable enables + in hcounteren for any supported counter, as ratified in RISC-V + Profiles Version 1.0, with commit b1d806605f87 ("Updated to + ratified state.") + + - const: shgatpa + description: | + The standard Shgatpa extension indicates that for each supported + virtual memory scheme SvNN supported in satp, the corresponding + hgatp SvNNx4 mode must be supported. The hgatp mode Bare must + also be supported. It is ratified in RISC-V Profiles Version 1.0, + with commit b1d806605f87 ("Updated to ratified state.") + + - const: shtvala + description: | + The standard Shtvala extension for htval be written with the + faulting guest physical address in all circumstances permitted by + the ISA. It is ratified in RISC-V Profiles Version 1.0, with + commit b1d806605f87 ("Updated to ratified state.") + + - const: shvsatpa + description: | + The standard Shvsatpa extension for vsatp supporting all translation + modes supported in satp, as ratified in RISC-V Profiles Version 1.0, + with commit b1d806605f87 ("Updated to ratified state.") + + - const: shvstvala + description: | + The standard Shvstvala extension for vstval provides all needed + values as ratified in RISC-V Profiles Version 1.0, with commit + b1d806605f87 ("Updated to ratified state.") + + - const: shvstvecd + description: | + The standard Shvstvecd extension for vstvec supporting Direct mode, + as ratified in RISC-V Profiles Version 1.0, with commit b1d806605f87 + ("Updated to ratified state.") + - const: smaia description: | The standard Smaia supervisor-level extension for the advanced @@ -186,6 +237,12 @@ properties: ratified at commit d70011dde6c2 ("Update to ratified state") of riscv-j-extension. + - const: ssstateen + description: | + The standard Ssstateen extension for supervisor-mode view of the + state-enable extension, as ratified in RISC-V Profiles Version 1.0, + with commit b1d806605f87 ("Updated to ratified state.") + - const: sstc description: | The standard Sstc supervisor-level extension for time compare as -- 2.43.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v3 10/11] riscv: dts: spacemit: add initial device tree of SpacemiT K3 SoC 2026-01-08 12:25 [PATCH v3 00/11] riscv: spacemit: Add SpacemiT K3 SoC and K3 Pico-ITX board Guodong Xu ` (8 preceding siblings ...) 2026-01-08 12:26 ` [PATCH v3 09/11] dt-bindings: riscv: Add Sha and its comprised extensions Guodong Xu @ 2026-01-08 12:26 ` Guodong Xu 2026-01-08 18:19 ` Samuel Holland 2026-01-08 12:26 ` [PATCH v3 11/11] riscv: dts: spacemit: add SpacemiT K3 Pico-ITX board device tree Guodong Xu 10 siblings, 1 reply; 19+ messages in thread From: Guodong Xu @ 2026-01-08 12:26 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Anup Patel, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Guodong Xu SpacemiT K3 is equipped with 8 X100 cores, which are RVA23 compliant. Add nodes of uarts, timer and interrupt-controllers. Signed-off-by: Guodong Xu <guodong@riscstar.com> --- v3: Remove "supm" from the riscv,isa-extensions list. v2: Remove aliases from k3.dtsi, they should be in board DTS. Updated riscv,isa-extensions with new extensions from the extensions.yaml --- arch/riscv/boot/dts/spacemit/k3.dtsi | 548 +++++++++++++++++++++++++++++++++++ 1 file changed, 548 insertions(+) diff --git a/arch/riscv/boot/dts/spacemit/k3.dtsi b/arch/riscv/boot/dts/spacemit/k3.dtsi new file mode 100644 index 0000000000000000000000000000000000000000..be9335fba32cb9e81915b2b91cf08c55a5e96809 --- /dev/null +++ b/arch/riscv/boot/dts/spacemit/k3.dtsi @@ -0,0 +1,548 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright (c) 2025 SpacemiT (Hangzhou) Technology Co. Ltd + * Copyright (c) 2025 Guodong Xu <guodong@riscstar.com> + */ + +#include <dt-bindings/interrupt-controller/irq.h> + +/dts-v1/; + +/ { + #address-cells = <2>; + #size-cells = <2>; + model = "SpacemiT K3"; + compatible = "spacemit,k3"; + + cpus: cpus { + #address-cells = <1>; + #size-cells = <0>; + timebase-frequency = <24000000>; + + cpu_0: cpu@0 { + compatible = "spacemit,x100", "riscv"; + device_type = "cpu"; + reg = <0>; + riscv,isa-base = "rv64i"; + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", + "sha", "shcounterenw", "shgatpa", "shtvala", + "shvsatpa", "shvstvala", "shvstvecd", "smaia", + "smstateen", "ssaia", "ssccptr", "sscofpmf", + "sscounterenw", "ssnpm", "ssstateen", "sstc", + "sstvala", "sstvecd", "ssu64xl", "svade", + "svinval", "svnapot", "svpbmt", "za64rs", + "zawrs", "zba", "zbb", "zbc", "zbs", "zca", + "zcb", "zcd", "zcmop", "zfa", "zfbfmin", + "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", + "ziccamoa", "ziccif", "zicclsm", "zicntr", + "zicond", "zicsr", "zifencei", "zihintntl", + "zihintpause", "zihpm", "zimop", "zkt", "zvbb", + "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", + "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", + "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", + "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; + riscv,cbom-block-size = <64>; + riscv,cbop-block-size = <64>; + riscv,cboz-block-size = <64>; + i-cache-block-size = <64>; + i-cache-size = <65536>; + i-cache-sets = <256>; + d-cache-block-size = <64>; + d-cache-size = <65536>; + d-cache-sets = <256>; + next-level-cache = <&l2_cache0>; + mmu-type = "riscv,sv39"; + + cpu0_intc: interrupt-controller { + compatible = "riscv,cpu-intc"; + #interrupt-cells = <1>; + interrupt-controller; + }; + }; + + cpu_1: cpu@1 { + compatible = "spacemit,x100", "riscv"; + device_type = "cpu"; + reg = <1>; + riscv,isa-base = "rv64i"; + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", + "sha", "shcounterenw", "shgatpa", "shtvala", + "shvsatpa", "shvstvala", "shvstvecd", "smaia", + "smstateen", "ssaia", "ssccptr", "sscofpmf", + "sscounterenw", "ssnpm", "ssstateen", "sstc", + "sstvala", "sstvecd", "ssu64xl", "svade", + "svinval", "svnapot", "svpbmt", "za64rs", + "zawrs", "zba", "zbb", "zbc", "zbs", "zca", + "zcb", "zcd", "zcmop", "zfa", "zfbfmin", + "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", + "ziccamoa", "ziccif", "zicclsm", "zicntr", + "zicond", "zicsr", "zifencei", "zihintntl", + "zihintpause", "zihpm", "zimop", "zkt", "zvbb", + "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", + "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", + "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", + "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; + riscv,cbom-block-size = <64>; + riscv,cbop-block-size = <64>; + riscv,cboz-block-size = <64>; + i-cache-block-size = <64>; + i-cache-size = <65536>; + i-cache-sets = <256>; + d-cache-block-size = <64>; + d-cache-size = <65536>; + d-cache-sets = <256>; + next-level-cache = <&l2_cache0>; + mmu-type = "riscv,sv39"; + + cpu1_intc: interrupt-controller { + compatible = "riscv,cpu-intc"; + #interrupt-cells = <1>; + interrupt-controller; + }; + }; + + cpu_2: cpu@2 { + compatible = "spacemit,x100", "riscv"; + device_type = "cpu"; + reg = <2>; + riscv,isa-base = "rv64i"; + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", + "sha", "shcounterenw", "shgatpa", "shtvala", + "shvsatpa", "shvstvala", "shvstvecd", "smaia", + "smstateen", "ssaia", "ssccptr", "sscofpmf", + "sscounterenw", "ssnpm", "ssstateen", "sstc", + "sstvala", "sstvecd", "ssu64xl", "svade", + "svinval", "svnapot", "svpbmt", "za64rs", + "zawrs", "zba", "zbb", "zbc", "zbs", "zca", + "zcb", "zcd", "zcmop", "zfa", "zfbfmin", + "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", + "ziccamoa", "ziccif", "zicclsm", "zicntr", + "zicond", "zicsr", "zifencei", "zihintntl", + "zihintpause", "zihpm", "zimop", "zkt", "zvbb", + "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", + "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", + "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", + "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; + riscv,cbom-block-size = <64>; + riscv,cbop-block-size = <64>; + riscv,cboz-block-size = <64>; + i-cache-block-size = <64>; + i-cache-size = <65536>; + i-cache-sets = <256>; + d-cache-block-size = <64>; + d-cache-size = <65536>; + d-cache-sets = <256>; + next-level-cache = <&l2_cache0>; + mmu-type = "riscv,sv39"; + + cpu2_intc: interrupt-controller { + compatible = "riscv,cpu-intc"; + #interrupt-cells = <1>; + interrupt-controller; + }; + }; + + cpu_3: cpu@3 { + compatible = "spacemit,x100", "riscv"; + device_type = "cpu"; + reg = <3>; + riscv,isa-base = "rv64i"; + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", + "sha", "shcounterenw", "shgatpa", "shtvala", + "shvsatpa", "shvstvala", "shvstvecd", "smaia", + "smstateen", "ssaia", "ssccptr", "sscofpmf", + "sscounterenw", "ssnpm", "ssstateen", "sstc", + "sstvala", "sstvecd", "ssu64xl", "svade", + "svinval", "svnapot", "svpbmt", "za64rs", + "zawrs", "zba", "zbb", "zbc", "zbs", "zca", + "zcb", "zcd", "zcmop", "zfa", "zfbfmin", + "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", + "ziccamoa", "ziccif", "zicclsm", "zicntr", + "zicond", "zicsr", "zifencei", "zihintntl", + "zihintpause", "zihpm", "zimop", "zkt", "zvbb", + "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", + "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", + "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", + "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; + riscv,cbom-block-size = <64>; + riscv,cbop-block-size = <64>; + riscv,cboz-block-size = <64>; + i-cache-block-size = <64>; + i-cache-size = <65536>; + i-cache-sets = <256>; + d-cache-block-size = <64>; + d-cache-size = <65536>; + d-cache-sets = <256>; + next-level-cache = <&l2_cache0>; + mmu-type = "riscv,sv39"; + + cpu3_intc: interrupt-controller { + compatible = "riscv,cpu-intc"; + #interrupt-cells = <1>; + interrupt-controller; + }; + }; + + cpu_4: cpu@4 { + compatible = "spacemit,x100", "riscv"; + device_type = "cpu"; + reg = <4>; + riscv,isa-base = "rv64i"; + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", + "sha", "shcounterenw", "shgatpa", "shtvala", + "shvsatpa", "shvstvala", "shvstvecd", "smaia", + "smstateen", "ssaia", "ssccptr", "sscofpmf", + "sscounterenw", "ssnpm", "ssstateen", "sstc", + "sstvala", "sstvecd", "ssu64xl", "svade", + "svinval", "svnapot", "svpbmt", "za64rs", + "zawrs", "zba", "zbb", "zbc", "zbs", "zca", + "zcb", "zcd", "zcmop", "zfa", "zfbfmin", + "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", + "ziccamoa", "ziccif", "zicclsm", "zicntr", + "zicond", "zicsr", "zifencei", "zihintntl", + "zihintpause", "zihpm", "zimop", "zkt", "zvbb", + "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", + "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", + "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", + "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; + riscv,cbom-block-size = <64>; + riscv,cbop-block-size = <64>; + riscv,cboz-block-size = <64>; + i-cache-block-size = <64>; + i-cache-size = <65536>; + i-cache-sets = <256>; + d-cache-block-size = <64>; + d-cache-size = <65536>; + d-cache-sets = <256>; + next-level-cache = <&l2_cache1>; + mmu-type = "riscv,sv39"; + + cpu4_intc: interrupt-controller { + compatible = "riscv,cpu-intc"; + #interrupt-cells = <1>; + interrupt-controller; + }; + }; + + cpu_5: cpu@5 { + compatible = "spacemit,x100", "riscv"; + device_type = "cpu"; + reg = <5>; + riscv,isa-base = "rv64i"; + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", + "sha", "shcounterenw", "shgatpa", "shtvala", + "shvsatpa", "shvstvala", "shvstvecd", "smaia", + "smstateen", "ssaia", "ssccptr", "sscofpmf", + "sscounterenw", "ssnpm", "ssstateen", "sstc", + "sstvala", "sstvecd", "ssu64xl", "svade", + "svinval", "svnapot", "svpbmt", "za64rs", + "zawrs", "zba", "zbb", "zbc", "zbs", "zca", + "zcb", "zcd", "zcmop", "zfa", "zfbfmin", + "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", + "ziccamoa", "ziccif", "zicclsm", "zicntr", + "zicond", "zicsr", "zifencei", "zihintntl", + "zihintpause", "zihpm", "zimop", "zkt", "zvbb", + "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", + "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", + "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", + "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; + riscv,cbom-block-size = <64>; + riscv,cbop-block-size = <64>; + riscv,cboz-block-size = <64>; + i-cache-block-size = <64>; + i-cache-size = <65536>; + i-cache-sets = <256>; + d-cache-block-size = <64>; + d-cache-size = <65536>; + d-cache-sets = <256>; + next-level-cache = <&l2_cache1>; + mmu-type = "riscv,sv39"; + + cpu5_intc: interrupt-controller { + compatible = "riscv,cpu-intc"; + #interrupt-cells = <1>; + interrupt-controller; + }; + }; + + cpu_6: cpu@6 { + compatible = "spacemit,x100", "riscv"; + device_type = "cpu"; + reg = <6>; + riscv,isa-base = "rv64i"; + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", + "sha", "shcounterenw", "shgatpa", "shtvala", + "shvsatpa", "shvstvala", "shvstvecd", "smaia", + "smstateen", "ssaia", "ssccptr", "sscofpmf", + "sscounterenw", "ssnpm", "ssstateen", "sstc", + "sstvala", "sstvecd", "ssu64xl", "svade", + "svinval", "svnapot", "svpbmt", "za64rs", + "zawrs", "zba", "zbb", "zbc", "zbs", "zca", + "zcb", "zcd", "zcmop", "zfa", "zfbfmin", + "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", + "ziccamoa", "ziccif", "zicclsm", "zicntr", + "zicond", "zicsr", "zifencei", "zihintntl", + "zihintpause", "zihpm", "zimop", "zkt", "zvbb", + "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", + "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", + "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", + "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; + riscv,cbom-block-size = <64>; + riscv,cbop-block-size = <64>; + riscv,cboz-block-size = <64>; + i-cache-block-size = <64>; + i-cache-size = <65536>; + i-cache-sets = <256>; + d-cache-block-size = <64>; + d-cache-size = <65536>; + d-cache-sets = <256>; + next-level-cache = <&l2_cache1>; + mmu-type = "riscv,sv39"; + + cpu6_intc: interrupt-controller { + compatible = "riscv,cpu-intc"; + #interrupt-cells = <1>; + interrupt-controller; + }; + }; + + cpu_7: cpu@7 { + compatible = "spacemit,x100", "riscv"; + device_type = "cpu"; + reg = <7>; + riscv,isa-base = "rv64i"; + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", + "sha", "shcounterenw", "shgatpa", "shtvala", + "shvsatpa", "shvstvala", "shvstvecd", "smaia", + "smstateen", "ssaia", "ssccptr", "sscofpmf", + "sscounterenw", "ssnpm", "ssstateen", "sstc", + "sstvala", "sstvecd", "ssu64xl", "svade", + "svinval", "svnapot", "svpbmt", "za64rs", + "zawrs", "zba", "zbb", "zbc", "zbs", "zca", + "zcb", "zcd", "zcmop", "zfa", "zfbfmin", + "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", + "ziccamoa", "ziccif", "zicclsm", "zicntr", + "zicond", "zicsr", "zifencei", "zihintntl", + "zihintpause", "zihpm", "zimop", "zkt", "zvbb", + "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", + "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", + "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", + "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; + riscv,cbom-block-size = <64>; + riscv,cbop-block-size = <64>; + riscv,cboz-block-size = <64>; + i-cache-block-size = <64>; + i-cache-size = <65536>; + i-cache-sets = <256>; + d-cache-block-size = <64>; + d-cache-size = <65536>; + d-cache-sets = <256>; + next-level-cache = <&l2_cache1>; + mmu-type = "riscv,sv39"; + + cpu7_intc: interrupt-controller { + compatible = "riscv,cpu-intc"; + #interrupt-cells = <1>; + interrupt-controller; + }; + }; + + l2_cache0: cache-controller-0 { + compatible = "cache"; + cache-block-size = <64>; + cache-level = <2>; + cache-size = <4194304>; + cache-sets = <4096>; + cache-unified; + }; + + l2_cache1: cache-controller-1 { + compatible = "cache"; + cache-block-size = <64>; + cache-level = <2>; + cache-size = <4194304>; + cache-sets = <4096>; + cache-unified; + }; + + cpu-map { + cluster0 { + core0 { + cpu = <&cpu_0>; + }; + core1 { + cpu = <&cpu_1>; + }; + core2 { + cpu = <&cpu_2>; + }; + core3 { + cpu = <&cpu_3>; + }; + }; + + cluster1 { + core0 { + cpu = <&cpu_4>; + }; + core1 { + cpu = <&cpu_5>; + }; + core2 { + cpu = <&cpu_6>; + }; + core3 { + cpu = <&cpu_7>; + }; + }; + }; + }; + + soc: soc { + compatible = "simple-bus"; + interrupt-parent = <&saplic>; + #address-cells = <2>; + #size-cells = <2>; + dma-noncoherent; + ranges; + + uart0: serial@d4017000 { + compatible = "spacemit,k3-uart", "intel,xscale-uart"; + reg = <0x0 0xd4017000 0x0 0x100>; + reg-shift = <2>; + reg-io-width = <4>; + clock-frequency = <14700000>; + interrupts = <42 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + uart2: serial@d4017100 { + compatible = "spacemit,k3-uart", "intel,xscale-uart"; + reg = <0x0 0xd4017100 0x0 0x100>; + reg-shift = <2>; + reg-io-width = <4>; + clock-frequency = <14700000>; + interrupts = <44 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + uart3: serial@d4017200 { + compatible = "spacemit,k3-uart", "intel,xscale-uart"; + reg = <0x0 0xd4017200 0x0 0x100>; + reg-shift = <2>; + reg-io-width = <4>; + clock-frequency = <14700000>; + interrupts = <45 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + uart4: serial@d4017300 { + compatible = "spacemit,k3-uart", "intel,xscale-uart"; + reg = <0x0 0xd4017300 0x0 0x100>; + reg-shift = <2>; + reg-io-width = <4>; + clock-frequency = <14700000>; + interrupts = <46 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + uart5: serial@d4017400 { + compatible = "spacemit,k3-uart", "intel,xscale-uart"; + reg = <0x0 0xd4017400 0x0 0x100>; + reg-shift = <2>; + reg-io-width = <4>; + clock-frequency = <14700000>; + interrupts = <47 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + uart6: serial@d4017500 { + compatible = "spacemit,k3-uart", "intel,xscale-uart"; + reg = <0x0 0xd4017500 0x0 0x100>; + reg-shift = <2>; + reg-io-width = <4>; + clock-frequency = <14700000>; + interrupts = <48 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + uart7: serial@d4017600 { + compatible = "spacemit,k3-uart", "intel,xscale-uart"; + reg = <0x0 0xd4017600 0x0 0x100>; + reg-shift = <2>; + reg-io-width = <4>; + clock-frequency = <14700000>; + interrupts = <49 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + uart8: serial@d4017700 { + compatible = "spacemit,k3-uart", "intel,xscale-uart"; + reg = <0x0 0xd4017700 0x0 0x100>; + reg-shift = <2>; + reg-io-width = <4>; + clock-frequency = <14700000>; + interrupts = <50 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + uart9: serial@d4017800 { + compatible = "spacemit,k3-uart", "intel,xscale-uart"; + reg = <0x0 0xd4017800 0x0 0x100>; + reg-shift = <2>; + reg-io-width = <4>; + clock-frequency = <14700000>; + interrupts = <51 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + uart10: serial@d401f000 { + compatible = "spacemit,k3-uart", "intel,xscale-uart"; + reg = <0x0 0xd401f000 0x0 0x100>; + reg-shift = <2>; + reg-io-width = <4>; + clock-frequency = <14700000>; + interrupts = <281 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + simsic: interrupt-controller@e0400000 { + compatible = "spacemit,k3-imsics","riscv,imsics"; + reg = <0x0 0xe0400000 0x0 0x00200000>; + interrupt-controller; + #interrupt-cells = <0>; + msi-controller; + #msi-cells = <0>; + interrupts-extended = <&cpu0_intc 9>, <&cpu1_intc 9>, + <&cpu2_intc 9>, <&cpu3_intc 9>, + <&cpu4_intc 9>, <&cpu5_intc 9>, + <&cpu6_intc 9>, <&cpu7_intc 9>; + riscv,num-ids = <511>; + riscv,num-guest-ids = <511>; + riscv,hart-index-bits = <4>; + riscv,guest-index-bits = <6>; + }; + + saplic: interrupt-controller@e0804000 { + compatible = "spacemit,k3-aplic", "riscv,aplic"; + reg = <0x0 0xe0804000 0x0 0x4000>; + msi-parent = <&simsic>; + #interrupt-cells = <2>; + interrupt-controller; + riscv,num-sources = <512>; + }; + + clint: timer@e081c000 { + compatible = "spacemit,k3-clint", "sifive,clint0"; + reg = <0x0 0xe081c000 0x0 0x0004000>; + interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>, + <&cpu1_intc 3>, <&cpu1_intc 7>, + <&cpu2_intc 3>, <&cpu2_intc 7>, + <&cpu3_intc 3>, <&cpu3_intc 7>, + <&cpu4_intc 3>, <&cpu4_intc 7>, + <&cpu5_intc 3>, <&cpu5_intc 7>, + <&cpu6_intc 3>, <&cpu6_intc 7>, + <&cpu7_intc 3>, <&cpu7_intc 7>; + }; + }; +}; -- 2.43.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH v3 10/11] riscv: dts: spacemit: add initial device tree of SpacemiT K3 SoC 2026-01-08 12:26 ` [PATCH v3 10/11] riscv: dts: spacemit: add initial device tree of SpacemiT K3 SoC Guodong Xu @ 2026-01-08 18:19 ` Samuel Holland 2026-01-09 9:58 ` Guodong Xu 0 siblings, 1 reply; 19+ messages in thread From: Samuel Holland @ 2026-01-08 18:19 UTC (permalink / raw) To: Guodong Xu Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen On 2026-01-08 6:26 AM, Guodong Xu wrote: > SpacemiT K3 is equipped with 8 X100 cores, which are RVA23 compliant. > Add nodes of uarts, timer and interrupt-controllers. > > Signed-off-by: Guodong Xu <guodong@riscstar.com> > --- > v3: Remove "supm" from the riscv,isa-extensions list. > v2: Remove aliases from k3.dtsi, they should be in board DTS. > Updated riscv,isa-extensions with new extensions from the extensions.yaml > --- > arch/riscv/boot/dts/spacemit/k3.dtsi | 548 +++++++++++++++++++++++++++++++++++ > 1 file changed, 548 insertions(+) > > diff --git a/arch/riscv/boot/dts/spacemit/k3.dtsi b/arch/riscv/boot/dts/spacemit/k3.dtsi > new file mode 100644 > index 0000000000000000000000000000000000000000..be9335fba32cb9e81915b2b91cf08c55a5e96809 > --- /dev/null > +++ b/arch/riscv/boot/dts/spacemit/k3.dtsi > [...] > + > + simsic: interrupt-controller@e0400000 { > + compatible = "spacemit,k3-imsics","riscv,imsics"; style: missing space after comma > + reg = <0x0 0xe0400000 0x0 0x00200000>; > + interrupt-controller; > + #interrupt-cells = <0>; > + msi-controller; > + #msi-cells = <0>; > + interrupts-extended = <&cpu0_intc 9>, <&cpu1_intc 9>, > + <&cpu2_intc 9>, <&cpu3_intc 9>, > + <&cpu4_intc 9>, <&cpu5_intc 9>, > + <&cpu6_intc 9>, <&cpu7_intc 9>; > + riscv,num-ids = <511>; > + riscv,num-guest-ids = <511>; > + riscv,hart-index-bits = <4>; > + riscv,guest-index-bits = <6>; > + }; > + > + saplic: interrupt-controller@e0804000 { > + compatible = "spacemit,k3-aplic", "riscv,aplic"; > + reg = <0x0 0xe0804000 0x0 0x4000>; > + msi-parent = <&simsic>; > + #interrupt-cells = <2>; > + interrupt-controller; > + riscv,num-sources = <512>; > + }; Does the chip also have M-mode IMSIC and APLIC instances? Those need to be represented in the devicetree as well, for M-mode firmware to access them, just like the CLINT below. Regards, Samuel > + > + clint: timer@e081c000 { > + compatible = "spacemit,k3-clint", "sifive,clint0"; > + reg = <0x0 0xe081c000 0x0 0x0004000>; > + interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>, > + <&cpu1_intc 3>, <&cpu1_intc 7>, > + <&cpu2_intc 3>, <&cpu2_intc 7>, > + <&cpu3_intc 3>, <&cpu3_intc 7>, > + <&cpu4_intc 3>, <&cpu4_intc 7>, > + <&cpu5_intc 3>, <&cpu5_intc 7>, > + <&cpu6_intc 3>, <&cpu6_intc 7>, > + <&cpu7_intc 3>, <&cpu7_intc 7>; > + }; > + }; > +}; > ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v3 10/11] riscv: dts: spacemit: add initial device tree of SpacemiT K3 SoC 2026-01-08 18:19 ` Samuel Holland @ 2026-01-09 9:58 ` Guodong Xu 2026-01-14 23:57 ` Samuel Holland 0 siblings, 1 reply; 19+ messages in thread From: Guodong Xu @ 2026-01-09 9:58 UTC (permalink / raw) To: Samuel Holland Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Hi, Samuel On Fri, Jan 9, 2026 at 2:19 AM Samuel Holland <samuel.holland@sifive.com> wrote: > > On 2026-01-08 6:26 AM, Guodong Xu wrote: > > SpacemiT K3 is equipped with 8 X100 cores, which are RVA23 compliant. > > Add nodes of uarts, timer and interrupt-controllers. > > > > Signed-off-by: Guodong Xu <guodong@riscstar.com> > > --- > > v3: Remove "supm" from the riscv,isa-extensions list. > > v2: Remove aliases from k3.dtsi, they should be in board DTS. > > Updated riscv,isa-extensions with new extensions from the extensions.yaml > > --- > > arch/riscv/boot/dts/spacemit/k3.dtsi | 548 +++++++++++++++++++++++++++++++++++ > > 1 file changed, 548 insertions(+) > > > > diff --git a/arch/riscv/boot/dts/spacemit/k3.dtsi b/arch/riscv/boot/dts/spacemit/k3.dtsi > > new file mode 100644 > > index 0000000000000000000000000000000000000000..be9335fba32cb9e81915b2b91cf08c55a5e96809 > > --- /dev/null > > +++ b/arch/riscv/boot/dts/spacemit/k3.dtsi > > [...] > > + > > + simsic: interrupt-controller@e0400000 { > > + compatible = "spacemit,k3-imsics","riscv,imsics"; > > style: missing space after comma Thanks, Samuel. I will fix that. > > > + reg = <0x0 0xe0400000 0x0 0x00200000>; > > + interrupt-controller; > > + #interrupt-cells = <0>; > > + msi-controller; > > + #msi-cells = <0>; > > + interrupts-extended = <&cpu0_intc 9>, <&cpu1_intc 9>, > > + <&cpu2_intc 9>, <&cpu3_intc 9>, > > + <&cpu4_intc 9>, <&cpu5_intc 9>, > > + <&cpu6_intc 9>, <&cpu7_intc 9>; > > + riscv,num-ids = <511>; > > + riscv,num-guest-ids = <511>; > > + riscv,hart-index-bits = <4>; > > + riscv,guest-index-bits = <6>; > > + }; > > + > > + saplic: interrupt-controller@e0804000 { > > + compatible = "spacemit,k3-aplic", "riscv,aplic"; > > + reg = <0x0 0xe0804000 0x0 0x4000>; > > + msi-parent = <&simsic>; > > + #interrupt-cells = <2>; > > + interrupt-controller; > > + riscv,num-sources = <512>; > > + }; > > Does the chip also have M-mode IMSIC and APLIC instances? Those need to be > represented in the devicetree as well, for M-mode firmware to access them, just > like the CLINT below. Yes, the K3 chip does have M-mode IMSIC and APLIC instances. Currently, the boot firmware (U-Boot) transfers information about these nodes to OpenSBI. However, you are correct that they should be properly described in the DT. In the next version, I will add the M-mode APLIC (maplic) and IMSIC (mimsic) nodes to k3.dtsi, for topology representation and potential firmware usage. I will set their status to "disabled" because exposing them as "okay" to Linux causes access faults during driver probing. Please let me know if this approach (adding them but keeping them disabled) looks okay to you. Best regards, Guodong Xu > > Regards, > Samuel > > > + > > + clint: timer@e081c000 { > > + compatible = "spacemit,k3-clint", "sifive,clint0"; > > + reg = <0x0 0xe081c000 0x0 0x0004000>; > > + interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>, > > + <&cpu1_intc 3>, <&cpu1_intc 7>, > > + <&cpu2_intc 3>, <&cpu2_intc 7>, > > + <&cpu3_intc 3>, <&cpu3_intc 7>, > > + <&cpu4_intc 3>, <&cpu4_intc 7>, > > + <&cpu5_intc 3>, <&cpu5_intc 7>, > > + <&cpu6_intc 3>, <&cpu6_intc 7>, > > + <&cpu7_intc 3>, <&cpu7_intc 7>; > > + }; > > + }; > > +}; > > > ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v3 10/11] riscv: dts: spacemit: add initial device tree of SpacemiT K3 SoC 2026-01-09 9:58 ` Guodong Xu @ 2026-01-14 23:57 ` Samuel Holland 2026-01-15 6:19 ` Heinrich Schuchardt 0 siblings, 1 reply; 19+ messages in thread From: Samuel Holland @ 2026-01-14 23:57 UTC (permalink / raw) To: Guodong Xu Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Hi Guodong, On 2026-01-09 3:58 AM, Guodong Xu wrote: > Hi, Samuel > > On Fri, Jan 9, 2026 at 2:19 AM Samuel Holland <samuel.holland@sifive.com> wrote: >> >> On 2026-01-08 6:26 AM, Guodong Xu wrote: >>> SpacemiT K3 is equipped with 8 X100 cores, which are RVA23 compliant. >>> Add nodes of uarts, timer and interrupt-controllers. >>> >>> Signed-off-by: Guodong Xu <guodong@riscstar.com> >>> --- >>> v3: Remove "supm" from the riscv,isa-extensions list. >>> v2: Remove aliases from k3.dtsi, they should be in board DTS. >>> Updated riscv,isa-extensions with new extensions from the extensions.yaml >>> --- >>> arch/riscv/boot/dts/spacemit/k3.dtsi | 548 +++++++++++++++++++++++++++++++++++ >>> 1 file changed, 548 insertions(+) >>> >>> diff --git a/arch/riscv/boot/dts/spacemit/k3.dtsi b/arch/riscv/boot/dts/spacemit/k3.dtsi >>> new file mode 100644 >>> index 0000000000000000000000000000000000000000..be9335fba32cb9e81915b2b91cf08c55a5e96809 >>> --- /dev/null >>> +++ b/arch/riscv/boot/dts/spacemit/k3.dtsi >>> [...] >>> + reg = <0x0 0xe0400000 0x0 0x00200000>; >>> + interrupt-controller; >>> + #interrupt-cells = <0>; >>> + msi-controller; >>> + #msi-cells = <0>; >>> + interrupts-extended = <&cpu0_intc 9>, <&cpu1_intc 9>, >>> + <&cpu2_intc 9>, <&cpu3_intc 9>, >>> + <&cpu4_intc 9>, <&cpu5_intc 9>, >>> + <&cpu6_intc 9>, <&cpu7_intc 9>; >>> + riscv,num-ids = <511>; >>> + riscv,num-guest-ids = <511>; >>> + riscv,hart-index-bits = <4>; >>> + riscv,guest-index-bits = <6>; >>> + }; >>> + >>> + saplic: interrupt-controller@e0804000 { >>> + compatible = "spacemit,k3-aplic", "riscv,aplic"; >>> + reg = <0x0 0xe0804000 0x0 0x4000>; >>> + msi-parent = <&simsic>; >>> + #interrupt-cells = <2>; >>> + interrupt-controller; >>> + riscv,num-sources = <512>; >>> + }; >> >> Does the chip also have M-mode IMSIC and APLIC instances? Those need to be >> represented in the devicetree as well, for M-mode firmware to access them, just >> like the CLINT below. > > Yes, the K3 chip does have M-mode IMSIC and APLIC instances. Currently, the > boot firmware (U-Boot) transfers information about these nodes to OpenSBI. > However, you are correct that they should be properly described in the DT. > > In the next version, I will add the M-mode APLIC (maplic) and IMSIC (mimsic) > nodes to k3.dtsi, for topology representation and potential firmware usage. > I will set their status to "disabled" because exposing them as "okay" to Linux > causes access faults during driver probing. > > Please let me know if this approach (adding them but keeping them disabled) > looks okay to you. I think this is a reasonable compromise. Personally, I think of the DTS files in the Linux repository as the "static" devicetree, which should describe a "complete" view of the hardware--that is, as seen from the highest privilege level. Then it is the responsibility of that highly-privileged software to modify the FDT as needed to provide a limited view of the hardware to lower-privileged software. And this modification is exactly what OpenSBI does before it passes the FDT to U-Boot. So the "static" devicetree would not disable these M-mode-only devices. However, I recognize that people want to use the DTB files generated by the Linux build process with Linux directly, ignoring the firmware-provided FDT. In that cases the M-mode-only devices need to be disabled. And then you need a -u-boot.dtsi file to set `status = "okay"` for the firmware build. I think that's a reasonable compromise to make the "static" devicetree as complete as possible while still being usable directly in S-mode in some cases. (It still breaks if some peripheral is assigned to a different supervisor domain, or some DRAM is reserved by M-mode, etc., which is why I really recommend using the firmware FDT and not a file.) Regards, Samuel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v3 10/11] riscv: dts: spacemit: add initial device tree of SpacemiT K3 SoC 2026-01-14 23:57 ` Samuel Holland @ 2026-01-15 6:19 ` Heinrich Schuchardt 0 siblings, 0 replies; 19+ messages in thread From: Heinrich Schuchardt @ 2026-01-15 6:19 UTC (permalink / raw) To: Samuel Holland, Guodong Xu Cc: Paul Walmsley, Conor Dooley, Kevin Meng Zhang, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Am 15. Januar 2026 00:57:04 MEZ schrieb Samuel Holland <samuel.holland@sifive.com>: >Hi Guodong, > >On 2026-01-09 3:58 AM, Guodong Xu wrote: >> Hi, Samuel >> >> On Fri, Jan 9, 2026 at 2:19 AM Samuel Holland <samuel.holland@sifive.com> wrote: >>> >>> On 2026-01-08 6:26 AM, Guodong Xu wrote: >>>> SpacemiT K3 is equipped with 8 X100 cores, which are RVA23 compliant. >>>> Add nodes of uarts, timer and interrupt-controllers. >>>> >>>> Signed-off-by: Guodong Xu <guodong@riscstar.com> >>>> --- >>>> v3: Remove "supm" from the riscv,isa-extensions list. >>>> v2: Remove aliases from k3.dtsi, they should be in board DTS. >>>> Updated riscv,isa-extensions with new extensions from the extensions.yaml >>>> --- >>>> arch/riscv/boot/dts/spacemit/k3.dtsi | 548 +++++++++++++++++++++++++++++++++++ >>>> 1 file changed, 548 insertions(+) >>>> >>>> diff --git a/arch/riscv/boot/dts/spacemit/k3.dtsi b/arch/riscv/boot/dts/spacemit/k3.dtsi >>>> new file mode 100644 >>>> index 0000000000000000000000000000000000000000..be9335fba32cb9e81915b2b91cf08c55a5e96809 >>>> --- /dev/null >>>> +++ b/arch/riscv/boot/dts/spacemit/k3.dtsi >>>> [...] >>>> + reg = <0x0 0xe0400000 0x0 0x00200000>; >>>> + interrupt-controller; >>>> + #interrupt-cells = <0>; >>>> + msi-controller; >>>> + #msi-cells = <0>; >>>> + interrupts-extended = <&cpu0_intc 9>, <&cpu1_intc 9>, >>>> + <&cpu2_intc 9>, <&cpu3_intc 9>, >>>> + <&cpu4_intc 9>, <&cpu5_intc 9>, >>>> + <&cpu6_intc 9>, <&cpu7_intc 9>; >>>> + riscv,num-ids = <511>; >>>> + riscv,num-guest-ids = <511>; >>>> + riscv,hart-index-bits = <4>; >>>> + riscv,guest-index-bits = <6>; >>>> + }; >>>> + >>>> + saplic: interrupt-controller@e0804000 { >>>> + compatible = "spacemit,k3-aplic", "riscv,aplic"; >>>> + reg = <0x0 0xe0804000 0x0 0x4000>; >>>> + msi-parent = <&simsic>; >>>> + #interrupt-cells = <2>; >>>> + interrupt-controller; >>>> + riscv,num-sources = <512>; >>>> + }; >>> >>> Does the chip also have M-mode IMSIC and APLIC instances? Those need to be >>> represented in the devicetree as well, for M-mode firmware to access them, just >>> like the CLINT below. >> >> Yes, the K3 chip does have M-mode IMSIC and APLIC instances. Currently, the >> boot firmware (U-Boot) transfers information about these nodes to OpenSBI. >> However, you are correct that they should be properly described in the DT. >> >> In the next version, I will add the M-mode APLIC (maplic) and IMSIC (mimsic) >> nodes to k3.dtsi, for topology representation and potential firmware usage. >> I will set their status to "disabled" because exposing them as "okay" to Linux >> causes access faults during driver probing. >> >> Please let me know if this approach (adding them but keeping them disabled) >> looks okay to you. > >I think this is a reasonable compromise. > >Personally, I think of the DTS files in the Linux repository as the "static" >devicetree, which should describe a "complete" view of the hardware--that is, as >seen from the highest privilege level. Then it is the responsibility of that >highly-privileged software to modify the FDT as needed to provide a limited view >of the hardware to lower-privileged software. And this modification is exactly >what OpenSBI does before it passes the FDT to U-Boot. So the "static" devicetree >would not disable these M-mode-only devices. > >However, I recognize that people want to use the DTB files generated by the >Linux build process with Linux directly, ignoring the firmware-provided FDT. In >that cases the M-mode-only devices need to be disabled. And then you need a >-u-boot.dtsi file to set `status = "okay"` for the firmware build. I think U-Boot offers the EFI_DT_FIXUP_PROTOCOL (https://github.com/U-Boot-EFI/EFI_DT_FIXUP_PROTOCOL) to adjust device-trees loaded by systemd-boot or GRUB. The disabling should be done there to avoid having different device-trees in firmware and Linux code. A pull request for providing the protocol in EDK II is pending. Best regards Heinrich >that's a reasonable compromise to make the "static" devicetree as complete as >possible while still being usable directly in S-mode in some cases. (It still >breaks if some peripheral is assigned to a different supervisor domain, or some >DRAM is reserved by M-mode, etc., which is why I really recommend using the >firmware FDT and not a file.) > >Regards, >Samuel > ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v3 11/11] riscv: dts: spacemit: add SpacemiT K3 Pico-ITX board device tree 2026-01-08 12:25 [PATCH v3 00/11] riscv: spacemit: Add SpacemiT K3 SoC and K3 Pico-ITX board Guodong Xu ` (9 preceding siblings ...) 2026-01-08 12:26 ` [PATCH v3 10/11] riscv: dts: spacemit: add initial device tree of SpacemiT K3 SoC Guodong Xu @ 2026-01-08 12:26 ` Guodong Xu 10 siblings, 0 replies; 19+ messages in thread From: Guodong Xu @ 2026-01-08 12:26 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Daniel Lezcano, Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman, Jiri Slaby, Lubomir Rintel, Yangyu Chen Cc: Paul Walmsley, Conor Dooley, Heinrich Schuchardt, Kevin Meng Zhang, Anup Patel, Andrew Jones, devicetree, linux-riscv, linux-kernel, spacemit, linux-serial, Guodong Xu K3 Pico-ITX is a 2.5-inch single-board computer equipted with a SpacemiT K3 SoC. This minimal device tree enables booting into a serial console with UART output. Signed-off-by: Guodong Xu <guodong@riscstar.com> --- v3: No change. v2: Add aliases node in this board DT. Update the memory node to reflect the hardware truth. Address starts at 0x100000000 (4G) boundary. --- arch/riscv/boot/dts/spacemit/Makefile | 1 + arch/riscv/boot/dts/spacemit/k3-pico-itx.dts | 38 ++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/arch/riscv/boot/dts/spacemit/Makefile b/arch/riscv/boot/dts/spacemit/Makefile index 95889e7269d1bae679b28cd053e1b0a23ae6de68..7e2b877025718113a0e31917eadf7562f488d825 100644 --- a/arch/riscv/boot/dts/spacemit/Makefile +++ b/arch/riscv/boot/dts/spacemit/Makefile @@ -4,3 +4,4 @@ dtb-$(CONFIG_ARCH_SPACEMIT) += k1-milkv-jupiter.dtb dtb-$(CONFIG_ARCH_SPACEMIT) += k1-musepi-pro.dtb dtb-$(CONFIG_ARCH_SPACEMIT) += k1-orangepi-r2s.dtb dtb-$(CONFIG_ARCH_SPACEMIT) += k1-orangepi-rv2.dtb +dtb-$(CONFIG_ARCH_SPACEMIT) += k3-pico-itx.dtb diff --git a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts new file mode 100644 index 0000000000000000000000000000000000000000..037ce757e5bcae0258a326ea6265185d761f2b52 --- /dev/null +++ b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright (c) 2025 SpacemiT (Hangzhou) Technology Co. Ltd + * Copyright (c) 2025 Guodong Xu <guodong@riscstar.com> + */ + +#include "k3.dtsi" + +/ { + model = "SpacemiT K3 Pico-ITX"; + compatible = "spacemit,k3-pico-itx", "spacemit,k3"; + + aliases { + serial0 = &uart0; + serial2 = &uart2; + serial3 = &uart3; + serial4 = &uart4; + serial5 = &uart5; + serial6 = &uart6; + serial7 = &uart7; + serial8 = &uart8; + serial9 = &uart9; + serial10 = &uart10; + }; + + chosen { + stdout-path = "serial0"; + }; + + memory@100000000 { + device_type = "memory"; + reg = <0x1 0x00000000 0x4 0x00000000>; + }; +}; + +&uart0 { + status = "okay"; +}; -- 2.43.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
end of thread, other threads:[~2026-01-15 6:19 UTC | newest] Thread overview: 19+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-01-08 12:25 [PATCH v3 00/11] riscv: spacemit: Add SpacemiT K3 SoC and K3 Pico-ITX board Guodong Xu 2026-01-08 12:25 ` [PATCH v3 01/11] dt-bindings: riscv: add SpacemiT X100 CPU compatible Guodong Xu 2026-01-14 23:17 ` Paul Walmsley 2026-01-08 12:25 ` [PATCH v3 02/11] dt-bindings: timer: add SpacemiT K3 CLINT Guodong Xu 2026-01-08 12:25 ` [PATCH v3 03/11] dt-bindings: interrupt-controller: add SpacemiT K3 APLIC Guodong Xu 2026-01-08 12:25 ` [PATCH v3 04/11] dt-bindings: interrupt-controller: add SpacemiT K3 IMSIC Guodong Xu 2026-01-08 12:25 ` [PATCH v3 05/11] dt-bindings: riscv: spacemit: add K3 and Pico-ITX board bindings Guodong Xu 2026-01-09 3:36 ` Yixun Lan 2026-01-09 10:12 ` Guodong Xu 2026-01-08 12:25 ` [PATCH v3 06/11] dt-bindings: riscv: Add B ISA extension description Guodong Xu 2026-01-08 12:25 ` [PATCH v3 07/11] dt-bindings: riscv: Add descriptions for Za64rs, Ziccamoa, Ziccif, and Zicclsm Guodong Xu 2026-01-08 12:25 ` [PATCH v3 08/11] dt-bindings: riscv: Add Ssccptr, Sscounterenw, Sstvala, Sstvecd, Ssu64xl Guodong Xu 2026-01-08 12:26 ` [PATCH v3 09/11] dt-bindings: riscv: Add Sha and its comprised extensions Guodong Xu 2026-01-08 12:26 ` [PATCH v3 10/11] riscv: dts: spacemit: add initial device tree of SpacemiT K3 SoC Guodong Xu 2026-01-08 18:19 ` Samuel Holland 2026-01-09 9:58 ` Guodong Xu 2026-01-14 23:57 ` Samuel Holland 2026-01-15 6:19 ` Heinrich Schuchardt 2026-01-08 12:26 ` [PATCH v3 11/11] riscv: dts: spacemit: add SpacemiT K3 Pico-ITX board device tree Guodong Xu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox