[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a05be32b-dc8f-444f-8c1c-2d49eb19536d@kernel.org>
Date: Tue, 7 Oct 2025 10:20:43 +0900
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Drew Fustini <fustini@...nel.org>,
Paul Walmsley <paul.walmsley@...ive.com>, Palmer Dabbelt
<palmer@...belt.com>, Alexandre Ghiti <alex@...ti.fr>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Samuel Holland <samuel.holland@...ive.com>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>, Anup Patel <anup@...infault.org>,
Arnd Bergmann <arnd@...db.de>, Joel Stanley <jms@....tenstorrent.com>,
Joel Stanley <joel@....id.au>, Michael Neuling <mikey@...ling.org>,
Nicholas Piggin <npiggin@...il.com>, Michael Ellerman <mpe@...nel.org>,
Andy Gross <agross@...nel.org>,
Anirudh Srinivasan <asrinivasan@...storrent.com>
Cc: devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-riscv@...ts.infradead.org, Drew Fustini <dfustini@....tenstorrent.com>
Subject: Re: [PATCH v2 6/8] riscv: dts: Add Tenstorrent Blackhole SoC PCIe
cards
On 07/10/2025 06:21, Drew Fustini wrote:
> From: Drew Fustini <dfustini@....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@....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@...ts.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@...nel.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@...030000000 {
> + 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@...0000 {
> + 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
Powered by blists - more mailing lists