* [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC
@ 2025-10-06 21:21 Drew Fustini
2025-10-06 21:21 ` [PATCH v2 1/8] dt-bindings: vendor-prefixes: Add Tenstorrent AI ULC Drew Fustini
` (8 more replies)
0 siblings, 9 replies; 17+ messages in thread
From: Drew Fustini @ 2025-10-06 21:21 UTC (permalink / raw)
To: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Samuel Holland, Daniel Lezcano,
Thomas Gleixner, Anup Patel, Arnd Bergmann, Joel Stanley,
Joel Stanley, Michael Neuling, Nicholas Piggin, Michael Ellerman,
Andy Gross, Anirudh Srinivasan
Cc: devicetree, linux-kernel, linux-riscv, Drew Fustini
Enable support for the Tenstorrent Blackhole SoC in the Blackhole P100
and P150 PCIe cards [1]. The Blackhole SoC contains four RISC-V CPU
tiles consisting of 4x SiFive X280 cores. Each tile is capable of
running an instance of Linux.
There is a public Linux-on-Blackhole project [2] that enables users to
boot Linux on Blackhole PCIe cards. A boot script on the PCIe host
loads the kernel image and the rootfs into DDR memory and then takes
the X280 cores out of reset.
All the low-level SoC initialization is handled by firmware [3] running
on a separate management core in the Blackhole SoC. Linux on the X280
cores does not need to deal with any clocks, reset, etc. The management
core firmware also controls the PCIe EP functionality. The tt-kmd Linux
kernel driver [4] on the PCIe host allows the host to interact with the
DDR memory on the Blackhole PCIe card along with other tiles in the SoC
accessible from the NoC [5].
There is a virtual UART implemented in OpenSBI [6] that allows a console
program on the PCIe host to communicate through shared memory with Linux
running on the Blackhole. This does require CONFIG_HVC_RISCV_SBI which
is currently hidden behind CONFIG_NONPORTABLE. I would like Blackhole to
work with defconfig, so I'm looking into possible ways of solving the
issue that caused HVC SBI to be guarded by NONPORTABLE [7].
The public Linux-on-Blackhole project does also make use of virtio to
provide networking and storage. However, this relies on changes in our
downstream kernel branch [8], so I've removed those dt nodes from this
upstream dts series. We hope to eventually leverage the virtio-msg spec
to upstream the virtio functionality, too.
I have also dropped the bootargs from this series. Instead, I will add
the ability to fixup the dtb to the boot script on the host [9]. It does
need 'console=hvc0' to ensure the full boot output appears in the
console program on the host. I also dropped the pmem node from this
series as I don't see any upstream users of pmem. I have been using pmem
for the rootfs, so I'll update the boot script to add the pmem node and
amend 'root=/dev/pmem0' in bootargs.
TL;DR:
The goal for upstreaming this rather minimal device tree in this series
is to make it possible to boot mainline kernel builds. I attended the
recent KernelCI workshop, and there are not currently many RISC-V boards
doing boot tests. I think the Blackhole cards could help improve the
situation once Blackhole is able to boot important trees like mainline
and next. The HVC SBI console is sufficient for boot testing.
[1] https://tenstorrent.com/hardware/blackhole
[2] https://github.com/tenstorrent/tt-bh-linux
[3] https://github.com/tenstorrent/tt-zephyr-platforms
[4] https://github.com/tenstorrent/tt-kmd
[5] https://github.com/tenstorrent/tt-isa-documentation/blob/main/BlackholeA0/
[6] https://github.com/tenstorrent/opensbi/
[7] https://lore.kernel.org/all/20240214153429.16484-2-palmer@rivosinc.com/
[8] https://github.com/tenstorrent/linux/
[9] https://github.com/tenstorrent/tt-bh-linux/blob/dfustini/kernelci/boot.py
Changes in v2:
- Remove '-a0' from compatible strings as Rob advised silicon revisions
are not normally included in compatibles
- Add ARCH_TENSTORRENT to defconfig per Conor's suggestion
- Fix unit address for memory device tree node
- Remove legacy 'riscv,isa' property from cpu dt nodes
- Remove 'riscv,cboz-block-size' as the cores do not support Zicboz
- Link to v1: https://lore.kernel.org/linux-riscv/20250913-tt-bh-dts-v1-0-ddb0d6860fe5@tenstorrent.com/
To: Paul Walmsley <paul.walmsley@sifive.com>
To: Palmer Dabbelt <palmer@dabbelt.com>
To: Alexandre Ghiti <alex@ghiti.fr>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Samuel Holland <samuel.holland@sifive.com>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Thomas Gleixner <tglx@linutronix.de>
To: Anup Patel <anup@brainfault.org>
To: Arnd Bergmann <arnd@arndb.de>
To: Joel Stanley <jms@oss.tenstorrent.com>
To: Joel Stanley <joel@jms.id.au>
To: Michael Neuling <mikey@neuling.org>
To: Nicholas Piggin <npiggin@gmail.com>
To: Michael Ellerman <mpe@kernel.org>
To: Andy Gross <agross@kernel.org>
To: Anirudh Srinivasan <asrinivasan@tenstorrent.com>
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
---
Drew Fustini (8):
dt-bindings: vendor-prefixes: Add Tenstorrent AI ULC
dt-bindings: riscv: Add Tenstorrent Blackhole compatible
dt-bindings: riscv: cpus: Add SiFive X280 compatible
dt-bindings: timers: Add Tenstorrent Blackhole compatible
dt-bindings: interrupt-controller: Add Tenstorrent Blackhole compatible
riscv: dts: Add Tenstorrent Blackhole SoC PCIe cards
riscv: Kconfig.socs: Add ARCH_TENSTORRENT for Tenstorrent SoCs
riscv: defconfig: Enable Tenstorrent SoCs
.../interrupt-controller/sifive,plic-1.0.0.yaml | 1 +
Documentation/devicetree/bindings/riscv/cpus.yaml | 1 +
.../devicetree/bindings/riscv/tenstorrent.yaml | 28 ++++++
.../devicetree/bindings/timer/sifive,clint.yaml | 1 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 9 ++
arch/riscv/Kconfig.socs | 8 ++
arch/riscv/boot/dts/Makefile | 1 +
arch/riscv/boot/dts/tenstorrent/Makefile | 2 +
arch/riscv/boot/dts/tenstorrent/blackhole-card.dts | 14 +++
arch/riscv/boot/dts/tenstorrent/blackhole.dtsi | 104 +++++++++++++++++++++
arch/riscv/configs/defconfig | 1 +
12 files changed, 172 insertions(+)
---
base-commit: e5f0a698b34ed76002dc5cff3804a61c80233a7a
change-id: 20250929-tt-bh-dts-fe25dc015cdf
Best regards,
--
Drew Fustini <dfustini@oss.tenstorrent.com>
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 1/8] dt-bindings: vendor-prefixes: Add Tenstorrent AI ULC
2025-10-06 21:21 [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Drew Fustini
@ 2025-10-06 21:21 ` Drew Fustini
2025-10-06 21:21 ` [PATCH v2 2/8] dt-bindings: riscv: Add Tenstorrent Blackhole compatible Drew Fustini
` (7 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Drew Fustini @ 2025-10-06 21:21 UTC (permalink / raw)
To: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Samuel Holland, Daniel Lezcano,
Thomas Gleixner, Anup Patel, Arnd Bergmann, Joel Stanley,
Joel Stanley, Michael Neuling, Nicholas Piggin, Michael Ellerman,
Andy Gross, Anirudh Srinivasan
Cc: devicetree, linux-kernel, linux-riscv, Drew Fustini
From: Drew Fustini <dfustini@oss.tenstorrent.com>
Document vendor prefix for Tenstorrent in DT bindings.
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 9ec8947dfcad2fa53b2dca2ca06a63710771a600..8bbc0ebdfb9eb5864f2797251a8d144e2eea9a92 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1547,6 +1547,8 @@ patternProperties:
description: Teltonika Networks
"^tempo,.*":
description: Tempo Semiconductor
+ "^tenstorrent,.*":
+ description: Tenstorrent AI ULC
"^terasic,.*":
description: Terasic Inc.
"^tesla,.*":
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 2/8] dt-bindings: riscv: Add Tenstorrent Blackhole compatible
2025-10-06 21:21 [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Drew Fustini
2025-10-06 21:21 ` [PATCH v2 1/8] dt-bindings: vendor-prefixes: Add Tenstorrent AI ULC Drew Fustini
@ 2025-10-06 21:21 ` Drew Fustini
2025-10-06 21:21 ` [PATCH v2 3/8] dt-bindings: riscv: cpus: Add SiFive X280 compatible Drew Fustini
` (6 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Drew Fustini @ 2025-10-06 21:21 UTC (permalink / raw)
To: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Samuel Holland, Daniel Lezcano,
Thomas Gleixner, Anup Patel, Arnd Bergmann, Joel Stanley,
Joel Stanley, Michael Neuling, Nicholas Piggin, Michael Ellerman,
Andy Gross, Anirudh Srinivasan
Cc: devicetree, linux-kernel, linux-riscv, Drew Fustini
From: Drew Fustini <dfustini@oss.tenstorrent.com>
Add compatibles for the Tenstorrent Blackhole SoC PCIe card.
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
---
.../devicetree/bindings/riscv/tenstorrent.yaml | 28 ++++++++++++++++++++++
MAINTAINERS | 8 +++++++
2 files changed, 36 insertions(+)
diff --git a/Documentation/devicetree/bindings/riscv/tenstorrent.yaml b/Documentation/devicetree/bindings/riscv/tenstorrent.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e15359b2aab63a57765139fb5d11dc848f5e21d8
--- /dev/null
+++ b/Documentation/devicetree/bindings/riscv/tenstorrent.yaml
@@ -0,0 +1,28 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/riscv/tenstorrent.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Tenstorrent SoC-based boards
+
+maintainers:
+ - Drew Fustini <dfustini@oss.tenstorrent.com>
+ - Joel Stanley <jms@oss.tenstorrent.com>
+
+description:
+ Tenstorrent SoC-based boards
+
+properties:
+ $nodename:
+ const: '/'
+ compatible:
+ oneOf:
+ - description: Tenstorrent Blackhole PCIe card
+ items:
+ - const: tenstorrent,blackhole-card
+ - const: tenstorrent,blackhole
+
+additionalProperties: true
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 97d958c945e4ffa3031590823f7a2867f577ebf3..125b5498c3bf8e689adc665fc6e975b05a484abf 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -21741,6 +21741,14 @@ F: arch/riscv/boot/dts/spacemit/
N: spacemit
K: spacemit
+RISC-V TENSTORRENT SoC SUPPORT
+M: Drew Fustini <dfustini@oss.tenstorrent.com>
+M: Joel Stanley <jms@oss.tenstorrent.com>
+L: linux-riscv@lists.infradead.org
+S: Maintained
+T: git https://github.com/tenstorrent/linux.git
+F: Documentation/devicetree/bindings/riscv/tenstorrent.yaml
+
RISC-V THEAD SoC SUPPORT
M: Drew Fustini <fustini@kernel.org>
M: Guo Ren <guoren@kernel.org>
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 3/8] dt-bindings: riscv: cpus: Add SiFive X280 compatible
2025-10-06 21:21 [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Drew Fustini
2025-10-06 21:21 ` [PATCH v2 1/8] dt-bindings: vendor-prefixes: Add Tenstorrent AI ULC Drew Fustini
2025-10-06 21:21 ` [PATCH v2 2/8] dt-bindings: riscv: Add Tenstorrent Blackhole compatible Drew Fustini
@ 2025-10-06 21:21 ` Drew Fustini
2025-10-06 21:21 ` [PATCH v2 4/8] dt-bindings: timers: Add Tenstorrent Blackhole compatible Drew Fustini
` (5 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Drew Fustini @ 2025-10-06 21:21 UTC (permalink / raw)
To: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Samuel Holland, Daniel Lezcano,
Thomas Gleixner, Anup Patel, Arnd Bergmann, Joel Stanley,
Joel Stanley, Michael Neuling, Nicholas Piggin, Michael Ellerman,
Andy Gross, Anirudh Srinivasan
Cc: devicetree, linux-kernel, linux-riscv, Drew Fustini
From: Drew Fustini <dfustini@oss.tenstorrent.com>
Document compatible for the SiFive X280 RISC-V core.
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
---
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 1a0cf0702a45d2df38c48f50d66b3d2ac3715da5..bbc3886282dc5e8c53e54c0acd91608b443f590f 100644
--- a/Documentation/devicetree/bindings/riscv/cpus.yaml
+++ b/Documentation/devicetree/bindings/riscv/cpus.yaml
@@ -69,6 +69,7 @@ properties:
- enum:
- sifive,e51
- sifive,u54-mc
+ - sifive,x280
- const: sifive,rocket0
- const: riscv
- const: riscv # Simulator only
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 4/8] dt-bindings: timers: Add Tenstorrent Blackhole compatible
2025-10-06 21:21 [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Drew Fustini
` (2 preceding siblings ...)
2025-10-06 21:21 ` [PATCH v2 3/8] dt-bindings: riscv: cpus: Add SiFive X280 compatible Drew Fustini
@ 2025-10-06 21:21 ` Drew Fustini
2025-10-09 20:56 ` Rob Herring (Arm)
2025-10-06 21:21 ` [PATCH v2 5/8] dt-bindings: interrupt-controller: " Drew Fustini
` (4 subsequent siblings)
8 siblings, 1 reply; 17+ messages in thread
From: Drew Fustini @ 2025-10-06 21:21 UTC (permalink / raw)
To: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Samuel Holland, Daniel Lezcano,
Thomas Gleixner, Anup Patel, Arnd Bergmann, Joel Stanley,
Joel Stanley, Michael Neuling, Nicholas Piggin, Michael Ellerman,
Andy Gross, Anirudh Srinivasan
Cc: devicetree, linux-kernel, linux-riscv, Drew Fustini
From: Drew Fustini <dfustini@oss.tenstorrent.com>
Document clint compatible for the Tenstorrent Blackhole SoC.
Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
---
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 d85a1a088b35dabc0aa202475b926302705c4cf1..0d3b8dc362ba7e8d0ca6d0cea692ceddc5e1f89e 100644
--- a/Documentation/devicetree/bindings/timer/sifive,clint.yaml
+++ b/Documentation/devicetree/bindings/timer/sifive,clint.yaml
@@ -36,6 +36,7 @@ properties:
- starfive,jh7100-clint # StarFive JH7100
- starfive,jh7110-clint # StarFive JH7110
- starfive,jh8100-clint # StarFive JH8100
+ - tenstorrent,blackhole-clint # Tenstorrent Blackhole
- const: sifive,clint0 # SiFive CLINT v0 IP block
- items:
- {}
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 5/8] dt-bindings: interrupt-controller: Add Tenstorrent Blackhole compatible
2025-10-06 21:21 [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Drew Fustini
` (3 preceding siblings ...)
2025-10-06 21:21 ` [PATCH v2 4/8] dt-bindings: timers: Add Tenstorrent Blackhole compatible Drew Fustini
@ 2025-10-06 21:21 ` Drew Fustini
2025-10-09 20:57 ` Rob Herring (Arm)
2025-10-06 21:21 ` [PATCH v2 6/8] riscv: dts: Add Tenstorrent Blackhole SoC PCIe cards Drew Fustini
` (3 subsequent siblings)
8 siblings, 1 reply; 17+ messages in thread
From: Drew Fustini @ 2025-10-06 21:21 UTC (permalink / raw)
To: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Samuel Holland, Daniel Lezcano,
Thomas Gleixner, Anup Patel, Arnd Bergmann, Joel Stanley,
Joel Stanley, Michael Neuling, Nicholas Piggin, Michael Ellerman,
Andy Gross, Anirudh Srinivasan
Cc: devicetree, linux-kernel, linux-riscv, Drew Fustini
From: Drew Fustini <dfustini@oss.tenstorrent.com>
Document compatible for the PLIC in the Tenstorrent Blackhole SoC.
Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
---
.../devicetree/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 5b827bc243011cda1fd45d739d34eca95c6e1ee2..61bb9a98b1f5544efdf1460ee3873aad1433ac41 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
@@ -63,6 +63,7 @@ properties:
- spacemit,k1-plic
- starfive,jh7100-plic
- starfive,jh7110-plic
+ - tenstorrent,blackhole-plic
- const: sifive,plic-1.0.0
- items:
- enum:
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 6/8] riscv: dts: Add Tenstorrent Blackhole SoC PCIe cards
2025-10-06 21:21 [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Drew Fustini
` (4 preceding siblings ...)
2025-10-06 21:21 ` [PATCH v2 5/8] dt-bindings: interrupt-controller: " Drew Fustini
@ 2025-10-06 21:21 ` Drew Fustini
2025-10-07 1:20 ` Krzysztof Kozlowski
2025-10-06 21:21 ` [PATCH v2 7/8] riscv: Kconfig.socs: Add ARCH_TENSTORRENT for Tenstorrent SoCs Drew Fustini
` (2 subsequent siblings)
8 siblings, 1 reply; 17+ messages in thread
From: Drew Fustini @ 2025-10-06 21:21 UTC (permalink / raw)
To: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Samuel Holland, Daniel Lezcano,
Thomas Gleixner, Anup Patel, Arnd Bergmann, Joel Stanley,
Joel Stanley, Michael Neuling, Nicholas Piggin, Michael Ellerman,
Andy Gross, Anirudh Srinivasan
Cc: devicetree, linux-kernel, linux-riscv, Drew Fustini
From: Drew Fustini <dfustini@oss.tenstorrent.com>
Add device tree source describing the Tenstorrent Blackhole SoC and the
Blackhole P100 and P150 PCIe cards. There are no differences between
the P100 and P150 cards from the perspective of an OS kernel like Linux
running on the X280 cores.
Link: https://github.com/tenstorrent/tt-isa-documentation/blob/main/BlackholeA0/
Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
---
MAINTAINERS | 1 +
arch/riscv/boot/dts/Makefile | 1 +
arch/riscv/boot/dts/tenstorrent/Makefile | 2 +
arch/riscv/boot/dts/tenstorrent/blackhole-card.dts | 14 +++
arch/riscv/boot/dts/tenstorrent/blackhole.dtsi | 104 +++++++++++++++++++++
5 files changed, 122 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 125b5498c3bf8e689adc665fc6e975b05a484abf..b3a2a347f835da952c33b0faf09d560eb1285c32 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -21748,6 +21748,7 @@ L: linux-riscv@lists.infradead.org
S: Maintained
T: git https://github.com/tenstorrent/linux.git
F: Documentation/devicetree/bindings/riscv/tenstorrent.yaml
+F: arch/riscv/boot/dts/tenstorrent/
RISC-V THEAD SoC SUPPORT
M: Drew Fustini <fustini@kernel.org>
diff --git a/arch/riscv/boot/dts/Makefile b/arch/riscv/boot/dts/Makefile
index 3b99e91efa25be2d6ca5bc173342c24a72f87187..0624199867065dbb5eb62d660f950b4aa3a7abd7 100644
--- a/arch/riscv/boot/dts/Makefile
+++ b/arch/riscv/boot/dts/Makefile
@@ -8,4 +8,5 @@ subdir-y += sifive
subdir-y += sophgo
subdir-y += spacemit
subdir-y += starfive
+subdir-y += tenstorrent
subdir-y += thead
diff --git a/arch/riscv/boot/dts/tenstorrent/Makefile b/arch/riscv/boot/dts/tenstorrent/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..2c81faaba46235821470b077392ebfebd37ef55a
--- /dev/null
+++ b/arch/riscv/boot/dts/tenstorrent/Makefile
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: GPL-2.0
+dtb-$(CONFIG_ARCH_TENSTORRENT) += blackhole-card.dtb
diff --git a/arch/riscv/boot/dts/tenstorrent/blackhole-card.dts b/arch/riscv/boot/dts/tenstorrent/blackhole-card.dts
new file mode 100644
index 0000000000000000000000000000000000000000..c595f7eddcf860d18193d6b18eb4fd1c0c6c684d
--- /dev/null
+++ b/arch/riscv/boot/dts/tenstorrent/blackhole-card.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/dts-v1/;
+
+#include "blackhole.dtsi"
+
+/ {
+ model = "Tenstorrent Blackhole SoC PCIe card";
+ compatible = "tenstorrent,blackhole-card", "tenstorrent,blackhole";
+
+ memory@400030000000 {
+ device_type = "memory";
+ reg = <0x4000 0x30000000 0x1 0x00000000>;
+ };
+};
diff --git a/arch/riscv/boot/dts/tenstorrent/blackhole.dtsi b/arch/riscv/boot/dts/tenstorrent/blackhole.dtsi
new file mode 100644
index 0000000000000000000000000000000000000000..dc6ac953c34b1efeec231b339251058fac5172d5
--- /dev/null
+++ b/arch/riscv/boot/dts/tenstorrent/blackhole.dtsi
@@ -0,0 +1,104 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+// Copyright 2025 Tenstorrent AI ULC
+/dts-v1/;
+
+/ {
+ compatible = "tenstorrent,blackhole";
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ cpus {
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ timebase-frequency = <50000000>;
+
+ cpu@0 {
+ compatible = "sifive,x280", "sifive,rocket0", "riscv";
+ device_type = "cpu";
+ reg = <0>;
+ mmu-type = "riscv,sv57";
+ riscv,isa-base = "rv64i";
+ riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicsr",
+ "zifencei", "zfh", "zba", "zbb", "sscofpmf";
+ cpu0_intc: interrupt-controller {
+ compatible = "riscv,cpu-intc";
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ };
+ };
+
+ cpu@1 {
+ compatible = "sifive,x280", "sifive,rocket0", "riscv";
+ device_type = "cpu";
+ reg = <1>;
+ mmu-type = "riscv,sv57";
+ riscv,isa-base = "rv64i";
+ riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicsr",
+ "zifencei", "zfh", "zba", "zbb", "sscofpmf";
+ cpu1_intc: interrupt-controller {
+ compatible = "riscv,cpu-intc";
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ };
+ };
+
+ cpu@2 {
+ compatible = "sifive,x280", "sifive,rocket0", "riscv";
+ device_type = "cpu";
+ reg = <2>;
+ mmu-type = "riscv,sv57";
+ riscv,isa-base = "rv64i";
+ riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicsr",
+ "zifencei", "zfh", "zba", "zbb", "sscofpmf";
+ cpu2_intc: interrupt-controller {
+ compatible = "riscv,cpu-intc";
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ };
+ };
+
+ cpu@3 {
+ compatible = "sifive,x280", "sifive,rocket0", "riscv";
+ device_type = "cpu";
+ reg = <3>;
+ mmu-type = "riscv,sv57";
+ riscv,isa-base = "rv64i";
+ riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicsr",
+ "zifencei", "zfh", "zba", "zbb", "sscofpmf";
+ cpu3_intc: interrupt-controller {
+ compatible = "riscv,cpu-intc";
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ };
+ };
+ };
+
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ compatible = "simple-bus";
+ ranges;
+
+ clint0: timer@2000000 {
+ compatible = "tenstorrent,blackhole-clint", "sifive,clint0";
+ reg = <0x0 0x2000000 0x0 0x10000>;
+ interrupts-extended = <&cpu0_intc 0x3>, <&cpu0_intc 0x7>,
+ <&cpu1_intc 0x3>, <&cpu1_intc 0x7>,
+ <&cpu2_intc 0x3>, <&cpu2_intc 0x7>,
+ <&cpu3_intc 0x3>, <&cpu3_intc 0x7>;
+ };
+
+ plic0: interrupt-controller@c000000 {
+ compatible = "tenstorrent,blackhole-plic", "sifive,plic-1.0.0";
+ reg = <0x0 0x0c000000 0x0 0x04000000>;
+ 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>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ #address-cells = <0>;
+ riscv,ndev = <128>;
+ };
+ };
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 7/8] riscv: Kconfig.socs: Add ARCH_TENSTORRENT for Tenstorrent SoCs
2025-10-06 21:21 [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Drew Fustini
` (5 preceding siblings ...)
2025-10-06 21:21 ` [PATCH v2 6/8] riscv: dts: Add Tenstorrent Blackhole SoC PCIe cards Drew Fustini
@ 2025-10-06 21:21 ` Drew Fustini
2025-10-06 21:21 ` [PATCH v2 8/8] riscv: defconfig: Enable " Drew Fustini
2025-10-07 1:02 ` [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Joel Stanley
8 siblings, 0 replies; 17+ messages in thread
From: Drew Fustini @ 2025-10-06 21:21 UTC (permalink / raw)
To: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Samuel Holland, Daniel Lezcano,
Thomas Gleixner, Anup Patel, Arnd Bergmann, Joel Stanley,
Joel Stanley, Michael Neuling, Nicholas Piggin, Michael Ellerman,
Andy Gross, Anirudh Srinivasan
Cc: devicetree, linux-kernel, linux-riscv, Drew Fustini
From: Drew Fustini <dfustini@oss.tenstorrent.com>
Add Kconfig option ARCH_TENSTORRENT to enable support for SoCs like the
Blackhole.
Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
---
arch/riscv/Kconfig.socs | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs
index 61ceae0aa27a6fa3a91da6a46becfd96da99fd09..61c83a9c9876e59a11662da778a4bba0709d3e95 100644
--- a/arch/riscv/Kconfig.socs
+++ b/arch/riscv/Kconfig.socs
@@ -57,6 +57,14 @@ config ARCH_SUNXI
This enables support for Allwinner sun20i platform hardware,
including boards based on the D1 and D1s SoCs.
+config ARCH_TENSTORRENT
+ bool "Tenstorrent SoCs"
+ help
+ This enables support for Tenstorrent SoC platforms.
+ Current support is for Blackhole P100 and P150 PCIe cards.
+ The Blackhole SoC contains four RISC-V CPU tiles each
+ consisting of 4x SiFive X280 cores.
+
config ARCH_THEAD
bool "T-HEAD RISC-V SoCs"
depends on MMU && !XIP_KERNEL
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 8/8] riscv: defconfig: Enable Tenstorrent SoCs
2025-10-06 21:21 [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Drew Fustini
` (6 preceding siblings ...)
2025-10-06 21:21 ` [PATCH v2 7/8] riscv: Kconfig.socs: Add ARCH_TENSTORRENT for Tenstorrent SoCs Drew Fustini
@ 2025-10-06 21:21 ` Drew Fustini
2025-10-07 1:02 ` [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Joel Stanley
8 siblings, 0 replies; 17+ messages in thread
From: Drew Fustini @ 2025-10-06 21:21 UTC (permalink / raw)
To: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Samuel Holland, Daniel Lezcano,
Thomas Gleixner, Anup Patel, Arnd Bergmann, Joel Stanley,
Joel Stanley, Michael Neuling, Nicholas Piggin, Michael Ellerman,
Andy Gross, Anirudh Srinivasan
Cc: devicetree, linux-kernel, linux-riscv, Drew Fustini
From: Drew Fustini <dfustini@oss.tenstorrent.com>
Enable support for Tenstorrent SoCs in the default configuration.
Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
---
arch/riscv/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
index 7b5eed17611ad2260a28f9fe9985b88682eb1ebe..031d8f8f6e9d278eb802d195111f1cf9075b076d 100644
--- a/arch/riscv/configs/defconfig
+++ b/arch/riscv/configs/defconfig
@@ -29,6 +29,7 @@ CONFIG_ARCH_SOPHGO=y
CONFIG_ARCH_SPACEMIT=y
CONFIG_SOC_STARFIVE=y
CONFIG_ARCH_SUNXI=y
+CONFIG_ARCH_TENSTORRENT=y
CONFIG_ARCH_THEAD=y
CONFIG_ARCH_VIRT=y
CONFIG_ARCH_CANAAN=y
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC
2025-10-06 21:21 [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Drew Fustini
` (7 preceding siblings ...)
2025-10-06 21:21 ` [PATCH v2 8/8] riscv: defconfig: Enable " Drew Fustini
@ 2025-10-07 1:02 ` Joel Stanley
2025-10-07 3:00 ` Joel Stanley
8 siblings, 1 reply; 17+ messages in thread
From: Joel Stanley @ 2025-10-07 1:02 UTC (permalink / raw)
To: Drew Fustini
Cc: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Samuel Holland, Daniel Lezcano,
Thomas Gleixner, Anup Patel, Arnd Bergmann, Joel Stanley,
Michael Neuling, Nicholas Piggin, Michael Ellerman, Andy Gross,
Anirudh Srinivasan, devicetree, linux-kernel, linux-riscv,
Drew Fustini
On Tue, 7 Oct 2025 at 07:51, Drew Fustini <fustini@kernel.org> wrote:
>
> Enable support for the Tenstorrent Blackhole SoC in the Blackhole P100
> and P150 PCIe cards [1]. The Blackhole SoC contains four RISC-V CPU
> tiles consisting of 4x SiFive X280 cores. Each tile is capable of
> running an instance of Linux.
Nice work Drew!
for the series:
Reviewed-by: Joel Stanley <joel@oss@tenstorrent.com>
Cheers,
Joel
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 6/8] riscv: dts: Add Tenstorrent Blackhole SoC PCIe cards
2025-10-06 21:21 ` [PATCH v2 6/8] riscv: dts: Add Tenstorrent Blackhole SoC PCIe cards Drew Fustini
@ 2025-10-07 1:20 ` Krzysztof Kozlowski
2025-10-07 2:56 ` Joel Stanley
2025-10-07 3:38 ` Drew Fustini
0 siblings, 2 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-07 1:20 UTC (permalink / raw)
To: Drew Fustini, Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Samuel Holland,
Daniel Lezcano, Thomas Gleixner, Anup Patel, Arnd Bergmann,
Joel Stanley, Joel Stanley, Michael Neuling, Nicholas Piggin,
Michael Ellerman, Andy Gross, Anirudh Srinivasan
Cc: devicetree, linux-kernel, linux-riscv, Drew Fustini
On 07/10/2025 06:21, Drew Fustini wrote:
> From: Drew Fustini <dfustini@oss.tenstorrent.com>
>
> Add device tree source describing the Tenstorrent Blackhole SoC and the
> Blackhole P100 and P150 PCIe cards. There are no differences between
> the P100 and P150 cards from the perspective of an OS kernel like Linux
> running on the X280 cores.
>
> Link: https://github.com/tenstorrent/tt-isa-documentation/blob/main/BlackholeA0/
> Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
> ---
> MAINTAINERS | 1 +
> arch/riscv/boot/dts/Makefile | 1 +
> arch/riscv/boot/dts/tenstorrent/Makefile | 2 +
> arch/riscv/boot/dts/tenstorrent/blackhole-card.dts | 14 +++
> arch/riscv/boot/dts/tenstorrent/blackhole.dtsi | 104 +++++++++++++++++++++
> 5 files changed, 122 insertions(+)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 125b5498c3bf8e689adc665fc6e975b05a484abf..b3a2a347f835da952c33b0faf09d560eb1285c32 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -21748,6 +21748,7 @@ L: linux-riscv@lists.infradead.org
> S: Maintained
> T: git https://github.com/tenstorrent/linux.git
> F: Documentation/devicetree/bindings/riscv/tenstorrent.yaml
> +F: arch/riscv/boot/dts/tenstorrent/
>
> RISC-V THEAD SoC SUPPORT
> M: Drew Fustini <fustini@kernel.org>
> diff --git a/arch/riscv/boot/dts/Makefile b/arch/riscv/boot/dts/Makefile
> index 3b99e91efa25be2d6ca5bc173342c24a72f87187..0624199867065dbb5eb62d660f950b4aa3a7abd7 100644
> --- a/arch/riscv/boot/dts/Makefile
> +++ b/arch/riscv/boot/dts/Makefile
> @@ -8,4 +8,5 @@ subdir-y += sifive
> subdir-y += sophgo
> subdir-y += spacemit
> subdir-y += starfive
> +subdir-y += tenstorrent
> subdir-y += thead
> diff --git a/arch/riscv/boot/dts/tenstorrent/Makefile b/arch/riscv/boot/dts/tenstorrent/Makefile
> new file mode 100644
> index 0000000000000000000000000000000000000000..2c81faaba46235821470b077392ebfebd37ef55a
> --- /dev/null
> +++ b/arch/riscv/boot/dts/tenstorrent/Makefile
> @@ -0,0 +1,2 @@
> +# SPDX-License-Identifier: GPL-2.0
> +dtb-$(CONFIG_ARCH_TENSTORRENT) += blackhole-card.dtb
> diff --git a/arch/riscv/boot/dts/tenstorrent/blackhole-card.dts b/arch/riscv/boot/dts/tenstorrent/blackhole-card.dts
> new file mode 100644
> index 0000000000000000000000000000000000000000..c595f7eddcf860d18193d6b18eb4fd1c0c6c684d
> --- /dev/null
> +++ b/arch/riscv/boot/dts/tenstorrent/blackhole-card.dts
> @@ -0,0 +1,14 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +/dts-v1/;
> +
> +#include "blackhole.dtsi"
> +
> +/ {
> + model = "Tenstorrent Blackhole SoC PCIe card";
> + compatible = "tenstorrent,blackhole-card", "tenstorrent,blackhole";
> +
> + memory@400030000000 {
> + device_type = "memory";
> + reg = <0x4000 0x30000000 0x1 0x00000000>;
> + };
> +};
> diff --git a/arch/riscv/boot/dts/tenstorrent/blackhole.dtsi b/arch/riscv/boot/dts/tenstorrent/blackhole.dtsi
> new file mode 100644
> index 0000000000000000000000000000000000000000..dc6ac953c34b1efeec231b339251058fac5172d5
> --- /dev/null
> +++ b/arch/riscv/boot/dts/tenstorrent/blackhole.dtsi
> @@ -0,0 +1,104 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +// Copyright 2025 Tenstorrent AI ULC
> +/dts-v1/;
> +
> +/ {
> + compatible = "tenstorrent,blackhole";
> + #address-cells = <2>;
> + #size-cells = <2>;
> +
> + cpus {
> + #address-cells = <0x1>;
> + #size-cells = <0x0>;
Cells are not hex. Please use decimal everywhere.
> + timebase-frequency = <50000000>;
> +
> + cpu@0 {
> + compatible = "sifive,x280", "sifive,rocket0", "riscv";
> + device_type = "cpu";
> + reg = <0>;
> + mmu-type = "riscv,sv57";
> + riscv,isa-base = "rv64i";
> + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicsr",
> + "zifencei", "zfh", "zba", "zbb", "sscofpmf";
Blank line
> + cpu0_intc: interrupt-controller {
> + compatible = "riscv,cpu-intc";
> + #interrupt-cells = <1>;
> + interrupt-controller;
> + };
> + };
...
> +
> + plic0: interrupt-controller@c000000 {
> + compatible = "tenstorrent,blackhole-plic", "sifive,plic-1.0.0";
> + reg = <0x0 0x0c000000 0x0 0x04000000>;
> + 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>;
> + interrupt-controller;
> + #interrupt-cells = <1>;
> + #address-cells = <0>;
> + riscv,ndev = <128>;
You should have at least serial or any other interface, otherwise I
don't see how this can be used at this stage.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 6/8] riscv: dts: Add Tenstorrent Blackhole SoC PCIe cards
2025-10-07 1:20 ` Krzysztof Kozlowski
@ 2025-10-07 2:56 ` Joel Stanley
2025-10-07 3:02 ` Krzysztof Kozlowski
2025-10-07 3:38 ` Drew Fustini
1 sibling, 1 reply; 17+ messages in thread
From: Joel Stanley @ 2025-10-07 2:56 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Drew Fustini, Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Samuel Holland,
Daniel Lezcano, Thomas Gleixner, Anup Patel, Arnd Bergmann,
Joel Stanley, Michael Neuling, Nicholas Piggin, Michael Ellerman,
Andy Gross, Anirudh Srinivasan, devicetree, linux-kernel,
linux-riscv, Drew Fustini
On Tue, 7 Oct 2025 at 11:50, Krzysztof Kozlowski <krzk@kernel.org> wrote:
> You should have at least serial or any other interface, otherwise I
> don't see how this can be used at this stage.
If you read the cover letter it explains how it is used:
> The HVC SBI console is sufficient for boot testing.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC
2025-10-07 1:02 ` [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Joel Stanley
@ 2025-10-07 3:00 ` Joel Stanley
0 siblings, 0 replies; 17+ messages in thread
From: Joel Stanley @ 2025-10-07 3:00 UTC (permalink / raw)
To: Drew Fustini
Cc: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Samuel Holland, Daniel Lezcano,
Thomas Gleixner, Anup Patel, Arnd Bergmann, Joel Stanley,
Michael Neuling, Nicholas Piggin, Michael Ellerman, Andy Gross,
Anirudh Srinivasan, devicetree, linux-kernel, linux-riscv,
Drew Fustini
On Tue, 7 Oct 2025 at 11:32, Joel Stanley <jms@tenstorrent.com> wrote:
>
> On Tue, 7 Oct 2025 at 07:51, Drew Fustini <fustini@kernel.org> wrote:
> >
> > Enable support for the Tenstorrent Blackhole SoC in the Blackhole P100
> > and P150 PCIe cards [1]. The Blackhole SoC contains four RISC-V CPU
> > tiles consisting of 4x SiFive X280 cores. Each tile is capable of
> > running an instance of Linux.
>
> Nice work Drew!
>
> for the series:
>
> Reviewed-by: Joel Stanley <joel@oss@tenstorrent.com>
I got my email address wrong in three different ways. I meant to say:
Reviewed-by: Joel Stanley <jms@oss.tenstorrent.com>
I tested it on hardware with v6.17 too:
[ 0.000000] Booting Linux on hartid 3
[ 0.000000] Linux version
6.17.0-tt-defconfig-jms-00062-g5874d2146391 (jms@donnager-debian)
(riscv64-unknown-linux-gnu-gcc (g5a43bcc73) 16.0.0 20250923
(experimental), GNU ld (GNU Binutils) 2.45.50.20250912) #76 SMP Tue
Oct 7 12:54:40 ACDT 2025
[ 0.000000] Machine model: Tenstorrent Blackhole SoC PCIe card
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 6/8] riscv: dts: Add Tenstorrent Blackhole SoC PCIe cards
2025-10-07 2:56 ` Joel Stanley
@ 2025-10-07 3:02 ` Krzysztof Kozlowski
0 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-07 3:02 UTC (permalink / raw)
To: Joel Stanley
Cc: Drew Fustini, Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Samuel Holland,
Daniel Lezcano, Thomas Gleixner, Anup Patel, Arnd Bergmann,
Joel Stanley, Michael Neuling, Nicholas Piggin, Michael Ellerman,
Andy Gross, Anirudh Srinivasan, devicetree, linux-kernel,
linux-riscv, Drew Fustini
On 07/10/2025 11:56, Joel Stanley wrote:
> On Tue, 7 Oct 2025 at 11:50, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>> You should have at least serial or any other interface, otherwise I
>> don't see how this can be used at this stage.
>
> If you read the cover letter it explains how it is used:
We usually do not read cover letters, except when looking for
changelog... Commits should stand on their own.
>
> > The HVC SBI console is sufficient for boot testing.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 6/8] riscv: dts: Add Tenstorrent Blackhole SoC PCIe cards
2025-10-07 1:20 ` Krzysztof Kozlowski
2025-10-07 2:56 ` Joel Stanley
@ 2025-10-07 3:38 ` Drew Fustini
1 sibling, 0 replies; 17+ messages in thread
From: Drew Fustini @ 2025-10-07 3:38 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Samuel Holland, Daniel Lezcano,
Thomas Gleixner, Anup Patel, Arnd Bergmann, Joel Stanley,
Joel Stanley, Michael Neuling, Nicholas Piggin, Michael Ellerman,
Andy Gross, Anirudh Srinivasan, devicetree, linux-kernel,
linux-riscv, Drew Fustini
On Tue, Oct 07, 2025 at 10:20:43AM +0900, Krzysztof Kozlowski wrote:A
> On 07/10/2025 06:21, Drew Fustini wrote:
> > From: Drew Fustini <dfustini@oss.tenstorrent.com>
> >
> > Add device tree source describing the Tenstorrent Blackhole SoC and the
> > Blackhole P100 and P150 PCIe cards. There are no differences between
> > the P100 and P150 cards from the perspective of an OS kernel like Linux
> > running on the X280 cores.
> >
> > Link: https://github.com/tenstorrent/tt-isa-documentation/blob/main/BlackholeA0/
> > Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
Thanks for the review.
[snip]
> > + cpus {
> > + #address-cells = <0x1>;
> > + #size-cells = <0x0>;
>
> Cells are not hex. Please use decimal everywhere.
Okay, I'll change.
> > + timebase-frequency = <50000000>;
> > +
> > + cpu@0 {
> > + compatible = "sifive,x280", "sifive,rocket0", "riscv";
> > + device_type = "cpu";
> > + reg = <0>;
> > + mmu-type = "riscv,sv57";
> > + riscv,isa-base = "rv64i";
> > + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicsr",
> > + "zifencei", "zfh", "zba", "zbb", "sscofpmf";
>
> Blank line
Ack.
[snip]
>
> You should have at least serial or any other interface, otherwise I
> don't see how this can be used at this stage.
The goal for upstreaming this minimal device tree is to make it possible
to boot mainline kernel builds. I attended the KernelCI workshop after
ELC-EU and learned there are not many RISC-V boards doing boot tests. We
already have Blackhole cards in servers that could be used for CI, so my
goal is to enable mainline to boot on Blackhole.
I had an explanation about the serial console in the cover letter but
I'll change the commit message in this patch for the next rev:
-------------------------------------------------
From: Drew Fustini <dfustini@oss.tenstorrent.com>
Add device tree source describing the Tenstorrent Blackhole SoC and the
Blackhole P100 and P150 PCIe cards. There are no differences between
the P100 and P150 cards from the perspective of an OS kernel like Linux
running on the X280 cores.
There is a virtual UART implemented in OpenSBI firmware that allows a
console program on the PCIe host to communicate through shared memory
with Linux running on the Blackhole card. CONFIG_HVC_RISCV_SBI needs to
be enabled. The boot script on the host adds 'console=hvc0' so that the
full boot output appears in the console program on the host.
Link: https://github.com/tenstorrent/opensbi/
Link: https://github.com/tenstorrent/tt-bh-linux
Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
-------------------------------------------------
Thanks,
Drew
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 4/8] dt-bindings: timers: Add Tenstorrent Blackhole compatible
2025-10-06 21:21 ` [PATCH v2 4/8] dt-bindings: timers: Add Tenstorrent Blackhole compatible Drew Fustini
@ 2025-10-09 20:56 ` Rob Herring (Arm)
0 siblings, 0 replies; 17+ messages in thread
From: Rob Herring (Arm) @ 2025-10-09 20:56 UTC (permalink / raw)
To: Drew Fustini
Cc: Alexandre Ghiti, Conor Dooley, Thomas Gleixner, Anup Patel,
devicetree, Paul Walmsley, linux-kernel, Arnd Bergmann,
Daniel Lezcano, Michael Neuling, Krzysztof Kozlowski,
Joel Stanley, Michael Ellerman, Drew Fustini, Andy Gross,
Palmer Dabbelt, Nicholas Piggin, linux-riscv, Joel Stanley,
Anirudh Srinivasan, Samuel Holland
On Mon, 06 Oct 2025 14:21:44 -0700, Drew Fustini wrote:
> From: Drew Fustini <dfustini@oss.tenstorrent.com>
>
> Document clint compatible for the Tenstorrent Blackhole SoC.
>
> Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
> ---
> Documentation/devicetree/bindings/timer/sifive,clint.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 5/8] dt-bindings: interrupt-controller: Add Tenstorrent Blackhole compatible
2025-10-06 21:21 ` [PATCH v2 5/8] dt-bindings: interrupt-controller: " Drew Fustini
@ 2025-10-09 20:57 ` Rob Herring (Arm)
0 siblings, 0 replies; 17+ messages in thread
From: Rob Herring (Arm) @ 2025-10-09 20:57 UTC (permalink / raw)
To: Drew Fustini
Cc: Thomas Gleixner, Daniel Lezcano, Anup Patel, Samuel Holland,
Joel Stanley, linux-riscv, Krzysztof Kozlowski, Michael Neuling,
Palmer Dabbelt, Arnd Bergmann, devicetree, Paul Walmsley,
Anirudh Srinivasan, Drew Fustini, Joel Stanley, Andy Gross,
Alexandre Ghiti, linux-kernel, Conor Dooley, Nicholas Piggin,
Michael Ellerman
On Mon, 06 Oct 2025 14:21:45 -0700, Drew Fustini wrote:
> From: Drew Fustini <dfustini@oss.tenstorrent.com>
>
> Document compatible for the PLIC in the Tenstorrent Blackhole SoC.
>
> Signed-off-by: Drew Fustini <dfustini@oss.tenstorrent.com>
> ---
> .../devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2025-10-09 20:57 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-06 21:21 [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Drew Fustini
2025-10-06 21:21 ` [PATCH v2 1/8] dt-bindings: vendor-prefixes: Add Tenstorrent AI ULC Drew Fustini
2025-10-06 21:21 ` [PATCH v2 2/8] dt-bindings: riscv: Add Tenstorrent Blackhole compatible Drew Fustini
2025-10-06 21:21 ` [PATCH v2 3/8] dt-bindings: riscv: cpus: Add SiFive X280 compatible Drew Fustini
2025-10-06 21:21 ` [PATCH v2 4/8] dt-bindings: timers: Add Tenstorrent Blackhole compatible Drew Fustini
2025-10-09 20:56 ` Rob Herring (Arm)
2025-10-06 21:21 ` [PATCH v2 5/8] dt-bindings: interrupt-controller: " Drew Fustini
2025-10-09 20:57 ` Rob Herring (Arm)
2025-10-06 21:21 ` [PATCH v2 6/8] riscv: dts: Add Tenstorrent Blackhole SoC PCIe cards Drew Fustini
2025-10-07 1:20 ` Krzysztof Kozlowski
2025-10-07 2:56 ` Joel Stanley
2025-10-07 3:02 ` Krzysztof Kozlowski
2025-10-07 3:38 ` Drew Fustini
2025-10-06 21:21 ` [PATCH v2 7/8] riscv: Kconfig.socs: Add ARCH_TENSTORRENT for Tenstorrent SoCs Drew Fustini
2025-10-06 21:21 ` [PATCH v2 8/8] riscv: defconfig: Enable " Drew Fustini
2025-10-07 1:02 ` [PATCH v2 0/8] RISC-V: Add support for Tenstorrent Blackhole SoC Joel Stanley
2025-10-07 3:00 ` Joel Stanley
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).