linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/5] Initial device tree support for StarFive JHB100 SoC
@ 2026-08-06 12:25 Changhuang Liang
  2026-08-06 12:25 ` [PATCH v3 1/5] dt-bindings: riscv: Add StarFive Dubhe-70 compatibles Changhuang Liang
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Changhuang Liang @ 2026-08-06 12:25 UTC (permalink / raw)
  To: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Paul Walmsley, Samuel Holland, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Daniel Lezcano, Emil Renner Berthing
  Cc: Yixun Lan, Joel Stanley, Drew Fustini, Darshan Prajapati,
	Guodong Xu, Michal Simek, Junhui Liu, Heinrich Schuchardt,
	E Shattow, Icenowy Zheng, Anup Patel, linux-kernel, devicetree,
	linux-riscv, Changhuang Liang

StarFive JHB100 SoC consists of 4 RISC-V low power Cores (Dubhe-70). It
also features various interfaces such as I2C, SPI, CAN, USB, MMC, Uart,
etc.

This patch series introduces initial SoC DTSI support for the StarFive
JHB100 SoC. The relevant dt-binding documentation has been updated
accordingly. Below is the list of IP blocks added in the initial SoC DTSI.

- StarFive Dubhe-70 CPU
- PMU
- PLIC
- CLINT
- UART
- INTC

changes since v2:
- Add a new patch 4

patch 5:
- Remove the 'riscv,isa' property.
- Add 'starfive,jhb100-uart' to the UART node.
- Update bus node name.
- Remove the interrupts-extended property in riscv,pmu

v2: https://lore.kernel.org/all/20260506085937.754808-1-changhuang.liang@starfivetech.com/
v1: https://lore.kernel.org/all/20260402084019.440708-1-changhuang.liang@starfivetech.com/

Changhuang Liang (1):
  dt-bindings: serial: snps-dw-apb-uart: Add StarFive JHB100 UART
    compatible

Ji Sheng Teoh (1):
  dt-bindings: riscv: Add StarFive Dubhe-70 compatibles

Ley Foon Tan (3):
  dt-bindings: interrupt-controller: Add StarFive JHB100 plic
  dt-bindings: riscv: Add StarFive JHB100 SoC
  riscv: dts: starfive: jhb100: Add JHB100 base DT

 .../sifive,plic-1.0.0.yaml                    |   1 +
 .../devicetree/bindings/riscv/cpus.yaml       |   1 +
 .../devicetree/bindings/riscv/starfive.yaml   |   5 +
 .../bindings/serial/snps-dw-apb-uart.yaml     |   1 +
 MAINTAINERS                                   |   6 +
 arch/riscv/boot/dts/starfive/Makefile         |   2 +
 arch/riscv/boot/dts/starfive/jhb100-evb1.dts  |  32 ++
 arch/riscv/boot/dts/starfive/jhb100.dtsi      | 331 ++++++++++++++++++
 8 files changed, 379 insertions(+)
 create mode 100644 arch/riscv/boot/dts/starfive/jhb100-evb1.dts
 create mode 100644 arch/riscv/boot/dts/starfive/jhb100.dtsi

--
2.25.1

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v3 1/5] dt-bindings: riscv: Add StarFive Dubhe-70 compatibles
  2026-08-06 12:25 [PATCH v3 0/5] Initial device tree support for StarFive JHB100 SoC Changhuang Liang
@ 2026-08-06 12:25 ` Changhuang Liang
  2026-08-06 12:25 ` [PATCH v3 2/5] dt-bindings: interrupt-controller: Add StarFive JHB100 plic Changhuang Liang
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Changhuang Liang @ 2026-08-06 12:25 UTC (permalink / raw)
  To: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Paul Walmsley, Samuel Holland, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Daniel Lezcano, Emil Renner Berthing
  Cc: Yixun Lan, Joel Stanley, Drew Fustini, Darshan Prajapati,
	Guodong Xu, Michal Simek, Junhui Liu, Heinrich Schuchardt,
	E Shattow, Icenowy Zheng, Anup Patel, linux-kernel, devicetree,
	linux-riscv, Changhuang Liang

From: Ji Sheng Teoh <jisheng.teoh@starfivetech.com>

Add new compatible string for Dubhe-70.
Dubhe-70 is a low power RISC-V cpu core from StarFive Technology.

Signed-off-by: Ji Sheng Teoh <jisheng.teoh@starfivetech.com>
Signed-off-by: Ley Foon Tan <leyfoon.tan@starfivetech.com>
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
---
 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 5feeb2203050..e7eda7a9c345 100644
--- a/Documentation/devicetree/bindings/riscv/cpus.yaml
+++ b/Documentation/devicetree/bindings/riscv/cpus.yaml
@@ -63,6 +63,7 @@ properties:
               - sifive,u74-mc
               - spacemit,x100
               - spacemit,x60
+              - starfive,dubhe-70
               - thead,c906
               - thead,c908
               - thead,c910
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v3 2/5] dt-bindings: interrupt-controller: Add StarFive JHB100 plic
  2026-08-06 12:25 [PATCH v3 0/5] Initial device tree support for StarFive JHB100 SoC Changhuang Liang
  2026-08-06 12:25 ` [PATCH v3 1/5] dt-bindings: riscv: Add StarFive Dubhe-70 compatibles Changhuang Liang
@ 2026-08-06 12:25 ` Changhuang Liang
  2026-08-06 12:25 ` [PATCH v3 3/5] dt-bindings: riscv: Add StarFive JHB100 SoC Changhuang Liang
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Changhuang Liang @ 2026-08-06 12:25 UTC (permalink / raw)
  To: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Paul Walmsley, Samuel Holland, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Daniel Lezcano, Emil Renner Berthing
  Cc: Yixun Lan, Joel Stanley, Drew Fustini, Darshan Prajapati,
	Guodong Xu, Michal Simek, Junhui Liu, Heinrich Schuchardt,
	E Shattow, Icenowy Zheng, Anup Patel, linux-kernel, devicetree,
	linux-riscv, Changhuang Liang

From: Ley Foon Tan <leyfoon.tan@starfivetech.com>

Add compatible string for StarFive JHB100 plic.

Signed-off-by: Ley Foon Tan <leyfoon.tan@starfivetech.com>
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
---
 .../bindings/interrupt-controller/sifive,plic-1.0.0.yaml         | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
index 78d8cd77b4ec..cde4bb691897 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
@@ -66,6 +66,7 @@ properties:
               - spacemit,k1-plic
               - starfive,jh7100-plic
               - starfive,jh7110-plic
+              - starfive,jhb100-plic
               - tenstorrent,blackhole-plic
           - const: sifive,plic-1.0.0
       - items:
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v3 3/5] dt-bindings: riscv: Add StarFive JHB100 SoC
  2026-08-06 12:25 [PATCH v3 0/5] Initial device tree support for StarFive JHB100 SoC Changhuang Liang
  2026-08-06 12:25 ` [PATCH v3 1/5] dt-bindings: riscv: Add StarFive Dubhe-70 compatibles Changhuang Liang
  2026-08-06 12:25 ` [PATCH v3 2/5] dt-bindings: interrupt-controller: Add StarFive JHB100 plic Changhuang Liang
@ 2026-08-06 12:25 ` Changhuang Liang
  2026-08-06 12:25 ` [PATCH v3 4/5] dt-bindings: serial: snps-dw-apb-uart: Add StarFive JHB100 UART compatible Changhuang Liang
  2026-08-06 12:25 ` [PATCH v3 5/5] riscv: dts: starfive: jhb100: Add JHB100 base DT Changhuang Liang
  4 siblings, 0 replies; 9+ messages in thread
From: Changhuang Liang @ 2026-08-06 12:25 UTC (permalink / raw)
  To: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Paul Walmsley, Samuel Holland, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Daniel Lezcano, Emil Renner Berthing
  Cc: Yixun Lan, Joel Stanley, Drew Fustini, Darshan Prajapati,
	Guodong Xu, Michal Simek, Junhui Liu, Heinrich Schuchardt,
	E Shattow, Icenowy Zheng, Anup Patel, linux-kernel, devicetree,
	linux-riscv, Changhuang Liang

From: Ley Foon Tan <leyfoon.tan@starfivetech.com>

Add device tree bindings for the StarFive JHB100 RISC-V SoC.

Signed-off-by: Ley Foon Tan <leyfoon.tan@starfivetech.com>
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
---
 Documentation/devicetree/bindings/riscv/starfive.yaml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml b/Documentation/devicetree/bindings/riscv/starfive.yaml
index 8ba0e10b529a..277618efff6e 100644
--- a/Documentation/devicetree/bindings/riscv/starfive.yaml
+++ b/Documentation/devicetree/bindings/riscv/starfive.yaml
@@ -43,6 +43,11 @@ properties:
           - const: starfive,jh7110s
           - const: starfive,jh7110
 
+      - items:
+          - enum:
+              - starfive,jhb100-evb1
+          - const: starfive,jhb100
+
 additionalProperties: true
 
 ...
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v3 4/5] dt-bindings: serial: snps-dw-apb-uart: Add StarFive JHB100 UART compatible
  2026-08-06 12:25 [PATCH v3 0/5] Initial device tree support for StarFive JHB100 SoC Changhuang Liang
                   ` (2 preceding siblings ...)
  2026-08-06 12:25 ` [PATCH v3 3/5] dt-bindings: riscv: Add StarFive JHB100 SoC Changhuang Liang
@ 2026-08-06 12:25 ` Changhuang Liang
  2026-08-06 16:50   ` Conor Dooley
  2026-08-06 12:25 ` [PATCH v3 5/5] riscv: dts: starfive: jhb100: Add JHB100 base DT Changhuang Liang
  4 siblings, 1 reply; 9+ messages in thread
From: Changhuang Liang @ 2026-08-06 12:25 UTC (permalink / raw)
  To: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Paul Walmsley, Samuel Holland, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Daniel Lezcano, Emil Renner Berthing
  Cc: Yixun Lan, Joel Stanley, Drew Fustini, Darshan Prajapati,
	Guodong Xu, Michal Simek, Junhui Liu, Heinrich Schuchardt,
	E Shattow, Icenowy Zheng, Anup Patel, linux-kernel, devicetree,
	linux-riscv, Changhuang Liang

Add "starfive,jhb100-uart" compatible string, with "snps,dw-apb-uart"
as the fallback.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
---
 Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml
index c0d0524458c1..f90ba8f3d4f6 100644
--- a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml
+++ b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml
@@ -79,6 +79,7 @@ properties:
               - starfive,jh7100-hsuart
               - starfive,jh7100-uart
               - starfive,jh7110-uart
+              - starfive,jhb100-uart
               - ultrarisc,dp1000-uart
           - const: snps,dw-apb-uart
       - const: snps,dw-apb-uart
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v3 5/5] riscv: dts: starfive: jhb100: Add JHB100 base DT
  2026-08-06 12:25 [PATCH v3 0/5] Initial device tree support for StarFive JHB100 SoC Changhuang Liang
                   ` (3 preceding siblings ...)
  2026-08-06 12:25 ` [PATCH v3 4/5] dt-bindings: serial: snps-dw-apb-uart: Add StarFive JHB100 UART compatible Changhuang Liang
@ 2026-08-06 12:25 ` Changhuang Liang
  2026-08-06 16:49   ` Conor Dooley
  4 siblings, 1 reply; 9+ messages in thread
From: Changhuang Liang @ 2026-08-06 12:25 UTC (permalink / raw)
  To: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Paul Walmsley, Samuel Holland, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Daniel Lezcano, Emil Renner Berthing
  Cc: Yixun Lan, Joel Stanley, Drew Fustini, Darshan Prajapati,
	Guodong Xu, Michal Simek, Junhui Liu, Heinrich Schuchardt,
	E Shattow, Icenowy Zheng, Anup Patel, linux-kernel, devicetree,
	linux-riscv, Changhuang Liang

From: Ley Foon Tan <leyfoon.tan@starfivetech.com>

Add JHB100 base dtsi and dts. Consist of 4 Dubhe-70 cores, CLINT, PLIC,
PMU, UART, INTC and 1GB DDR.

Signed-off-by: Ley Foon Tan <leyfoon.tan@starfivetech.com>
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
---
 MAINTAINERS                                  |   6 +
 arch/riscv/boot/dts/starfive/Makefile        |   2 +
 arch/riscv/boot/dts/starfive/jhb100-evb1.dts |  32 ++
 arch/riscv/boot/dts/starfive/jhb100.dtsi     | 331 +++++++++++++++++++
 4 files changed, 371 insertions(+)
 create mode 100644 arch/riscv/boot/dts/starfive/jhb100-evb1.dts
 create mode 100644 arch/riscv/boot/dts/starfive/jhb100.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 56b337a06447..ce97de46e610 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -26069,6 +26069,12 @@ F:	Documentation/devicetree/bindings/phy/starfive,jh7110-usb-phy.yaml
 F:	drivers/phy/starfive/phy-jh7110-pcie.c
 F:	drivers/phy/starfive/phy-jh7110-usb.c
 
+STARFIVE JHB100 DEVICETREES
+M:	Changhuang Liang <changhuang.liang@starfivetech.com>
+L:	linux-riscv@lists.infradead.org
+S:	Supported
+F:	arch/riscv/boot/dts/starfive/jhb100*
+
 STARFIVE JHB100 EXTERNAL INTERRUPT CONTROLLER DRIVER
 M:	Changhuang Liang <changhuang.liang@starfivetech.com>
 S:	Supported
diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile
index 3dd1f05283f7..42841942fe54 100644
--- a/arch/riscv/boot/dts/starfive/Makefile
+++ b/arch/riscv/boot/dts/starfive/Makefile
@@ -18,3 +18,5 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-lite.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-lite-emmc.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.2a.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.3b.dtb
+
+dtb-$(CONFIG_ARCH_STARFIVE) += jhb100-evb1.dtb
diff --git a/arch/riscv/boot/dts/starfive/jhb100-evb1.dts b/arch/riscv/boot/dts/starfive/jhb100-evb1.dts
new file mode 100644
index 000000000000..462b6fb7953b
--- /dev/null
+++ b/arch/riscv/boot/dts/starfive/jhb100-evb1.dts
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (c) 2024-2026 StarFive Technology Co., Ltd.
+ */
+
+#include "jhb100.dtsi"
+
+/ {
+	model = "StarFive JHB100 EVB-1";
+	compatible = "starfive,jhb100-evb1", "starfive,jhb100";
+
+	aliases {
+		serial6 = &uart6;
+	};
+
+	chosen {
+		stdout-path = "serial6:115200n8";
+	};
+
+	cpus {
+		timebase-frequency = <5000000>;
+	};
+
+	memory@40000000 {
+		device_type = "memory";
+		reg = <0x0 0x40000000 0x0 0x40000000>;	/* 1GB */
+	};
+};
+
+&uart6 {
+	status = "okay";
+};
diff --git a/arch/riscv/boot/dts/starfive/jhb100.dtsi b/arch/riscv/boot/dts/starfive/jhb100.dtsi
new file mode 100644
index 000000000000..14ab83ed4482
--- /dev/null
+++ b/arch/riscv/boot/dts/starfive/jhb100.dtsi
@@ -0,0 +1,331 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (c) 2024-2026 StarFive Technology Co., Ltd.
+ */
+
+/dts-v1/;
+
+/ {
+	compatible = "starfive,jhb100";
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			compatible = "starfive,dubhe-70", "riscv";
+			reg = <0x0>;
+			riscv,isa-base = "rv64i";
+			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "h", "zba", "zbb",
+					       "zbc", "zbs", "zicbom", "zicbop", "zicboz", "zicntr",
+					       "zicond", "zicsr", "zifencei", "zihintpause",
+					       "zihpm", "svinval", "svnapot", "sscofpmf";
+			riscv,cbom-block-size = <64>;
+			riscv,cbop-block-size = <64>;
+			riscv,cboz-block-size = <64>;
+			d-cache-block-size = <64>;
+			d-cache-sets = <512>;
+			d-cache-size = <32768>;
+			d-tlb-sets = <1>;
+			d-tlb-size = <16>;
+			device_type = "cpu";
+			i-cache-block-size = <64>;
+			i-cache-sets = <512>;
+			i-cache-size = <32768>;
+			i-tlb-sets = <1>;
+			i-tlb-size = <24>;
+			mmu-type = "riscv,sv48";
+			next-level-cache = <&l2c0>;
+			tlb-split;
+
+			cpu0_intc: interrupt-controller {
+				compatible = "riscv,cpu-intc";
+				interrupt-controller;
+				#interrupt-cells = <1>;
+			};
+		};
+
+		cpu1: cpu@1 {
+			compatible = "starfive,dubhe-70", "riscv";
+			reg = <0x1>;
+			riscv,isa-base = "rv64i";
+			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "h", "zba", "zbb",
+					       "zbc", "zbs", "zicbom", "zicbop", "zicboz", "zicntr",
+					       "zicond", "zicsr", "zifencei", "zihintpause",
+					       "zihpm", "svinval", "svnapot", "sscofpmf";
+			riscv,cbom-block-size = <64>;
+			riscv,cbop-block-size = <64>;
+			riscv,cboz-block-size = <64>;
+			d-cache-block-size = <64>;
+			d-cache-sets = <512>;
+			d-cache-size = <32768>;
+			d-tlb-sets = <1>;
+			d-tlb-size = <16>;
+			device_type = "cpu";
+			i-cache-block-size = <64>;
+			i-cache-sets = <512>;
+			i-cache-size = <32768>;
+			i-tlb-sets = <1>;
+			i-tlb-size = <24>;
+			mmu-type = "riscv,sv48";
+			next-level-cache = <&l2c1>;
+			tlb-split;
+
+			cpu1_intc: interrupt-controller {
+				compatible = "riscv,cpu-intc";
+				interrupt-controller;
+				#interrupt-cells = <1>;
+			};
+		};
+
+		cpu2: cpu@2 {
+			compatible = "starfive,dubhe-70", "riscv";
+			reg = <0x2>;
+			riscv,isa-base = "rv64i";
+			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "h", "zba", "zbb",
+					       "zbc", "zbs", "zicbom", "zicbop", "zicboz", "zicntr",
+					       "zicond", "zicsr", "zifencei", "zihintpause",
+					       "zihpm", "svinval", "svnapot", "sscofpmf";
+			riscv,cbom-block-size = <64>;
+			riscv,cbop-block-size = <64>;
+			riscv,cboz-block-size = <64>;
+			d-cache-block-size = <64>;
+			d-cache-sets = <512>;
+			d-cache-size = <32768>;
+			d-tlb-sets = <1>;
+			d-tlb-size = <16>;
+			device_type = "cpu";
+			i-cache-block-size = <64>;
+			i-cache-sets = <512>;
+			i-cache-size = <32768>;
+			i-tlb-sets = <1>;
+			i-tlb-size = <24>;
+			mmu-type = "riscv,sv48";
+			next-level-cache = <&l2c2>;
+			tlb-split;
+
+			cpu2_intc: interrupt-controller {
+				compatible = "riscv,cpu-intc";
+				interrupt-controller;
+				#interrupt-cells = <1>;
+			};
+		};
+
+		cpu3: cpu@3 {
+			compatible = "starfive,dubhe-70", "riscv";
+			reg = <0x3>;
+			riscv,isa-base = "rv64i";
+			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "h", "zba", "zbb",
+					       "zbc", "zbs", "zicbom", "zicbop", "zicboz", "zicntr",
+					       "zicond", "zicsr", "zifencei", "zihintpause",
+					       "zihpm", "svinval", "svnapot", "sscofpmf";
+			riscv,cbom-block-size = <64>;
+			riscv,cbop-block-size = <64>;
+			riscv,cboz-block-size = <64>;
+			d-cache-block-size = <64>;
+			d-cache-sets = <512>;
+			d-cache-size = <32768>;
+			d-tlb-sets = <1>;
+			d-tlb-size = <16>;
+			device_type = "cpu";
+			i-cache-block-size = <64>;
+			i-cache-sets = <512>;
+			i-cache-size = <32768>;
+			i-tlb-sets = <1>;
+			i-tlb-size = <24>;
+			mmu-type = "riscv,sv48";
+			next-level-cache = <&l2c3>;
+			tlb-split;
+
+			cpu3_intc: interrupt-controller {
+				compatible = "riscv,cpu-intc";
+				interrupt-controller;
+				#interrupt-cells = <1>;
+			};
+		};
+
+		cpu-map {
+			cluster0 {
+				core0 {
+					cpu = <&cpu0>;
+				};
+			};
+
+			cluster1 {
+				core0 {
+					cpu = <&cpu1>;
+				};
+			};
+
+			cluster2 {
+				core0 {
+					cpu = <&cpu2>;
+				};
+			};
+
+			cluster3 {
+				core0 {
+					cpu = <&cpu3>;
+				};
+			};
+		};
+
+		l2c0: cache-controller-0 {
+			compatible = "cache";
+			cache-block-size = <64>;
+			cache-level = <2>;
+			cache-sets = <2048>;
+			cache-size = <0x20000>;
+			cache-unified;
+			next-level-cache = <&l3_cache>;
+		};
+
+		l2c1: cache-controller-1 {
+			compatible = "cache";
+			cache-block-size = <64>;
+			cache-level = <2>;
+			cache-sets = <2048>;
+			cache-size = <0x20000>;
+			cache-unified;
+			next-level-cache = <&l3_cache>;
+		};
+
+		l2c2: cache-controller-2 {
+			compatible = "cache";
+			cache-block-size = <64>;
+			cache-level = <2>;
+			cache-sets = <2048>;
+			cache-size = <0x20000>;
+			cache-unified;
+			next-level-cache = <&l3_cache>;
+		};
+
+		l2c3: cache-controller-3 {
+			compatible = "cache";
+			cache-block-size = <64>;
+			cache-level = <2>;
+			cache-sets = <2048>;
+			cache-size = <0x20000>;
+			cache-unified;
+			next-level-cache = <&l3_cache>;
+		};
+
+		l3_cache: cache-controller-4 {
+			compatible = "cache";
+			cache-block-size = <64>;
+			cache-level = <3>;
+			cache-sets = <1024>;
+			cache-size = <0x20000>;
+			cache-unified;
+		};
+	};
+
+	pmu {
+		compatible = "riscv,pmu";
+
+		riscv,event-to-mhpmevent = <0x00005 0x0000 0xA>,
+					   <0x00006 0x0000 0xB>,
+					   <0x00008 0x0000 0x10>,
+					   <0x00009 0x0000 0xF>,
+					   <0x10000 0x0000 0x19>,
+					   <0x10001 0x0000 0x1A>,
+					   <0x10002 0x0000 0x1B>,
+					   <0x10003 0x0000 0x1C>,
+					   <0x10008 0x0000 0x8>,
+					   <0x10009 0x0000 0x9>,
+					   <0x1000C 0x0000 0x9E>,
+					   <0x1000D 0x0000 0x9F>,
+					   <0x10010 0x0000 0x1D>,
+					   <0x10011 0x0000 0x1E>,
+					   <0x10012 0x0000 0x1F>,
+					   <0x10013 0x0000 0x20>,
+					   <0x10014 0x0000 0x21>,
+					   <0x10018 0x0000 0x17>,
+					   <0x10019 0x0000 0x18>,
+					   <0x10020 0x0000 0x8>,
+					   <0x10021 0x0000 0x7>;
+
+		riscv,event-to-mhpmcounters = <0x00005 0x00006 0x00007FF8>,
+					      <0x00008 0x00009 0x00007FF8>,
+					      <0x10000 0x10003 0x00007FF8>,
+					      <0x10008 0x10009 0x00007FF8>,
+					      <0x1000C 0x1000D 0x00007FF8>,
+					      <0x10010 0x10014 0x00007FF8>,
+					      <0x10018 0x10019 0x00007FF8>,
+					      <0x10020 0x10021 0x00007FF8>;
+
+		riscv,raw-event-to-mhpmcounters =
+			<0x00 0x00 0xFFFFFFFF 0xFFFFFFE0 0x00007FF8>,	/* Event ID 1-31 */
+			<0x00 0x20 0xFFFFFFFF 0xFFFFFFFE 0x00007FF8>,	/* Event ID 32-33 */
+			<0x00 0x22 0xFFFFFFFF 0xFFFFFF22 0x00007FF8>;	/* Event ID 34 */
+	};
+
+	clk_uart: clock-uart {
+		compatible = "fixed-clock"; /* Initial clock handler for UART */
+		#clock-cells = <0>;
+		clock-frequency = <25000000>;
+	};
+
+	soc {
+		compatible = "simple-bus";
+		interrupt-parent = <&plic>;
+		#address-cells = <2>;
+		#size-cells = <2>;
+		dma-ranges;
+		ranges;
+
+		clint: timer@2000000 {
+			compatible = "starfive,jhb100-clint", "sifive,clint0";
+			reg = <0x0 0x02000000 0x0 0x10000>;
+			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>;
+		};
+
+		plic: interrupt-controller@c000000 {
+			compatible = "starfive,jhb100-plic", "sifive,plic-1.0.0";
+			reg = <0x0 0x0c000000 0x0 0x4000000>;
+			riscv,ndev = <400>;
+			interrupt-controller;
+			#interrupt-cells = <1>;
+			#address-cells = <0>;
+			interrupts-extended = <&cpu0_intc 11>, <&cpu0_intc 9>,
+					      <&cpu1_intc 11>, <&cpu1_intc 9>,
+					      <&cpu2_intc 11>, <&cpu2_intc 9>,
+					      <&cpu3_intc 11>, <&cpu3_intc 9>;
+		};
+
+		bus_nioc: bus {
+			compatible = "simple-bus";
+			#address-cells = <2>;
+			#size-cells = <2>;
+			dma-noncoherent;
+			dma-ranges = <0x4 0x00000000 0x0 0x40000000 0x2 0x0>,
+				     <0x4 0x00000000 0x4 0x00000000 0x2 0x0>;
+			ranges;
+
+			uart6: serial@11982000 {
+				compatible = "starfive,jhb100-uart", "snps,dw-apb-uart";
+				reg = <0x0 0x11982000 0x0 0x400>;
+				clocks = <&clk_uart>, <&clk_uart>;
+				clock-names = "baudclk", "apb_pclk";
+				interrupt-parent = <&intc>;
+				interrupts = <26>;
+				reg-io-width = <4>;
+				reg-shift = <2>;
+				status = "disabled";
+			};
+
+			intc: interrupt-controller@13220000 {
+				compatible = "starfive,jhb100-intc";
+				reg = <0x0 0x13220000 0x0 0x80>;
+				interrupts = <1>;
+				interrupt-controller;
+				#interrupt-cells = <1>;
+			};
+		};
+	};
+};
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v3 5/5] riscv: dts: starfive: jhb100: Add JHB100 base DT
  2026-08-06 12:25 ` [PATCH v3 5/5] riscv: dts: starfive: jhb100: Add JHB100 base DT Changhuang Liang
@ 2026-08-06 16:49   ` Conor Dooley
  2026-08-07  1:03     ` Changhuang Liang
  0 siblings, 1 reply; 9+ messages in thread
From: Conor Dooley @ 2026-08-06 16:49 UTC (permalink / raw)
  To: Changhuang Liang
  Cc: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Paul Walmsley, Samuel Holland, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Daniel Lezcano, Emil Renner Berthing, Yixun Lan,
	Joel Stanley, Drew Fustini, Darshan Prajapati, Guodong Xu,
	Michal Simek, Junhui Liu, Heinrich Schuchardt, E Shattow,
	Icenowy Zheng, Anup Patel, linux-kernel, devicetree, linux-riscv

[-- Attachment #1: Type: text/plain, Size: 406 bytes --]

On Thu, Aug 06, 2026 at 05:25:53AM -0700, Changhuang Liang wrote:
> +
> +	clk_uart: clock-uart {
> +		compatible = "fixed-clock"; /* Initial clock handler for UART */
> +		#clock-cells = <0>;
> +		clock-frequency = <25000000>;
> +	};

I can pick this series up on a provisional basis for you to work on top
of, but I won't be sending a PR for anything that contains temporary
fixed clocks.

Cheers,
Conor.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v3 4/5] dt-bindings: serial: snps-dw-apb-uart: Add StarFive JHB100 UART compatible
  2026-08-06 12:25 ` [PATCH v3 4/5] dt-bindings: serial: snps-dw-apb-uart: Add StarFive JHB100 UART compatible Changhuang Liang
@ 2026-08-06 16:50   ` Conor Dooley
  0 siblings, 0 replies; 9+ messages in thread
From: Conor Dooley @ 2026-08-06 16:50 UTC (permalink / raw)
  To: Changhuang Liang
  Cc: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Paul Walmsley, Samuel Holland, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Daniel Lezcano, Emil Renner Berthing, Yixun Lan,
	Joel Stanley, Drew Fustini, Darshan Prajapati, Guodong Xu,
	Michal Simek, Junhui Liu, Heinrich Schuchardt, E Shattow,
	Icenowy Zheng, Anup Patel, linux-kernel, devicetree, linux-riscv

[-- Attachment #1: Type: text/plain, Size: 75 bytes --]

Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v3 5/5] riscv: dts: starfive: jhb100: Add JHB100 base DT
  2026-08-06 16:49   ` Conor Dooley
@ 2026-08-07  1:03     ` Changhuang Liang
  0 siblings, 0 replies; 9+ messages in thread
From: Changhuang Liang @ 2026-08-07  1:03 UTC (permalink / raw)
  To: Conor Dooley
  Cc: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Paul Walmsley, Samuel Holland, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Daniel Lezcano, Emil Renner Berthing, Yixun Lan,
	Joel Stanley, Drew Fustini, Darshan Prajapati, Guodong Xu,
	Michal Simek, Junhui Liu, Heinrich Schuchardt, E Shattow,
	Icenowy Zheng, Anup Patel, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org, linux-riscv@lists.infradead.org

Hi, Conor

Thanks for the review.

> On Thu, Aug 06, 2026 at 05:25:53AM -0700, Changhuang Liang wrote:
> > +
> > +	clk_uart: clock-uart {
> > +		compatible = "fixed-clock"; /* Initial clock handler for UART */
> > +		#clock-cells = <0>;
> > +		clock-frequency = <25000000>;
> > +	};
> 
> I can pick this series up on a provisional basis for you to work on top of, but I
> won't be sending a PR for anything that contains temporary fixed clocks.

That's great.

Once my other two series are also ready:

Add basic clocks and resets for JHB100 SoC
Add StarFive JHB100 syscon modules

I can squash these three device tree into a single patch and send it out, so there won't be 
any temporarily used clk_uart and PLL nodes.

Best Regards,
Changhuang

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-08-07  1:35 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-06 12:25 [PATCH v3 0/5] Initial device tree support for StarFive JHB100 SoC Changhuang Liang
2026-08-06 12:25 ` [PATCH v3 1/5] dt-bindings: riscv: Add StarFive Dubhe-70 compatibles Changhuang Liang
2026-08-06 12:25 ` [PATCH v3 2/5] dt-bindings: interrupt-controller: Add StarFive JHB100 plic Changhuang Liang
2026-08-06 12:25 ` [PATCH v3 3/5] dt-bindings: riscv: Add StarFive JHB100 SoC Changhuang Liang
2026-08-06 12:25 ` [PATCH v3 4/5] dt-bindings: serial: snps-dw-apb-uart: Add StarFive JHB100 UART compatible Changhuang Liang
2026-08-06 16:50   ` Conor Dooley
2026-08-06 12:25 ` [PATCH v3 5/5] riscv: dts: starfive: jhb100: Add JHB100 base DT Changhuang Liang
2026-08-06 16:49   ` Conor Dooley
2026-08-07  1:03     ` Changhuang Liang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).