mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 11:56:58 +00:00
Merge tag 'soc-newsoc-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull new SoC families update from Arnd Bergmann:
"These three new families of SoC are split out into a separate branch
because they touch multiple parts of the source tree and are better
left separate for the initial merge.
- Black Sesame Technologies C1200 is an automotive SoC using
Cortex-A78 CPU cores
- Anlogic dr1v90 (not to be confused with Amlogic) is an FPGA
platform using a single nuclei ux900 RISC-V core
- Tenstorrent Blackhole is a Neural Processing Unit using custom
"Tensix" cores for computation offload managed by Linux running on
SiFive X280 RISC-V cores.
Support for all three is rather rudimentary at the moment and will get
improved as device drivers are merged through other tree"
* tag 'soc-newsoc-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
MAINTAINERS: add Black Sesame Technologies (BST) ARM SoC support
arm64: defconfig: enable BST platform support
arm64: dts: bst: add support for Black Sesame Technologies C1200 CDCU1.0 board
arm64: Kconfig: add ARCH_BST for Black Sesame Technologies SoCs
dt-bindings: arm: add Black Sesame Technologies (bst) SoC
dt-bindings: vendor-prefixes: Add Black Sesame Technologies Co., Ltd.
MAINTAINERS: Setup support for Anlogic tree
riscv: defconfig: Enable Anlogic SoC
riscv: dts: anlogic: Add Milianke MLKPAI FS01 board
riscv: dts: Add initial Anlogic DR1V90 SoC device tree
riscv: Add Anlogic SoC famly Kconfig support
dt-bindings: serial: snps-dw-apb-uart: Add Anlogic DR1V90 uart
dt-bindings: timer: Add Anlogic DR1V90 ACLINT MTIMER
dt-bindings: riscv: Add Anlogic DR1V90
dt-bindings: riscv: Add Nuclei UX900 compatibles
dt-bindings: vendor-prefixes: Add Anlogic, Milianke and Nuclei
riscv: defconfig: Enable Tenstorrent SoCs
riscv: Kconfig.socs: Add ARCH_TENSTORRENT for Tenstorrent SoCs
riscv: dts: Add Tenstorrent Blackhole SoC PCIe cards
dt-bindings: interrupt-controller: Add Tenstorrent Blackhole compatible
...
This commit is contained in:
31
Documentation/devicetree/bindings/arm/bst.yaml
Normal file
31
Documentation/devicetree/bindings/arm/bst.yaml
Normal file
@@ -0,0 +1,31 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/arm/bst.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: BST platforms
|
||||
|
||||
description:
|
||||
Black Sesame Technologies (BST) is a semiconductor company that produces
|
||||
automotive-grade system-on-chips (SoCs) for intelligent driving, focusing
|
||||
on computer vision and AI capabilities. The BST C1200 family includes SoCs
|
||||
for ADAS (Advanced Driver Assistance Systems) and autonomous driving
|
||||
applications.
|
||||
|
||||
maintainers:
|
||||
- Ge Gordon <gordon.ge@bst.ai>
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
const: '/'
|
||||
compatible:
|
||||
oneOf:
|
||||
- description: BST C1200 CDCU1.0 ADAS 4C2G board
|
||||
items:
|
||||
- const: bst,c1200-cdcu1.0-adas-4c2g
|
||||
- const: bst,c1200
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
...
|
||||
@@ -66,6 +66,7 @@ properties:
|
||||
- spacemit,k1-plic
|
||||
- starfive,jh7100-plic
|
||||
- starfive,jh7110-plic
|
||||
- tenstorrent,blackhole-plic
|
||||
- const: sifive,plic-1.0.0
|
||||
- items:
|
||||
- enum:
|
||||
|
||||
27
Documentation/devicetree/bindings/riscv/anlogic.yaml
Normal file
27
Documentation/devicetree/bindings/riscv/anlogic.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/riscv/anlogic.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Anlogic SoC-based boards
|
||||
|
||||
maintainers:
|
||||
- Junhui Liu <junhui.liu@pigmoral.tech>
|
||||
|
||||
description:
|
||||
Anlogic SoC-based boards
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
const: '/'
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- milianke,mlkpai-fs01
|
||||
- const: anlogic,dr1v90
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
...
|
||||
@@ -48,6 +48,7 @@ properties:
|
||||
- amd,mbv64
|
||||
- andestech,ax45mp
|
||||
- canaan,k210
|
||||
- nuclei,ux900
|
||||
- sifive,bullet0
|
||||
- sifive,e5
|
||||
- sifive,e7
|
||||
@@ -70,6 +71,7 @@ properties:
|
||||
- enum:
|
||||
- sifive,e51
|
||||
- sifive,u54-mc
|
||||
- sifive,x280
|
||||
- const: sifive,rocket0
|
||||
- const: riscv
|
||||
- const: riscv # Simulator only
|
||||
|
||||
28
Documentation/devicetree/bindings/riscv/tenstorrent.yaml
Normal file
28
Documentation/devicetree/bindings/riscv/tenstorrent.yaml
Normal file
@@ -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
|
||||
|
||||
...
|
||||
@@ -51,6 +51,7 @@ properties:
|
||||
- const: renesas,rzn1-uart
|
||||
- items:
|
||||
- enum:
|
||||
- anlogic,dr1v90-uart
|
||||
- brcm,bcm11351-dw-apb-uart
|
||||
- brcm,bcm21664-dw-apb-uart
|
||||
- rockchip,px30-uart
|
||||
|
||||
@@ -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:
|
||||
- {}
|
||||
|
||||
@@ -4,18 +4,23 @@
|
||||
$id: http://devicetree.org/schemas/timer/thead,c900-aclint-mtimer.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Sophgo CLINT Timer
|
||||
title: ACLINT Machine-level Timer Device
|
||||
|
||||
maintainers:
|
||||
- Inochi Amaoto <inochiama@outlook.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- sophgo,sg2042-aclint-mtimer
|
||||
- sophgo,sg2044-aclint-mtimer
|
||||
- const: thead,c900-aclint-mtimer
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- sophgo,sg2042-aclint-mtimer
|
||||
- sophgo,sg2044-aclint-mtimer
|
||||
- const: thead,c900-aclint-mtimer
|
||||
- items:
|
||||
- enum:
|
||||
- anlogic,dr1v90-aclint-mtimer
|
||||
- const: nuclei,ux900-aclint-mtimer
|
||||
|
||||
reg:
|
||||
items:
|
||||
|
||||
@@ -134,6 +134,8 @@ patternProperties:
|
||||
description: Anbernic
|
||||
"^andestech,.*":
|
||||
description: Andes Technology Corporation
|
||||
"^anlogic,.*":
|
||||
description: Shanghai Anlogic Infotech Co., Ltd.
|
||||
"^anvo,.*":
|
||||
description: Anvo-Systems Dresden GmbH
|
||||
"^aoly,.*":
|
||||
@@ -255,6 +257,8 @@ patternProperties:
|
||||
description: Shanghai Broadmobi Communication Technology Co.,Ltd.
|
||||
"^bsh,.*":
|
||||
description: BSH Hausgeraete GmbH
|
||||
"^bst,.*":
|
||||
description: Black Sesame Technologies Co., Ltd.
|
||||
"^bticino,.*":
|
||||
description: Bticino International
|
||||
"^buffalo,.*":
|
||||
@@ -1033,6 +1037,8 @@ patternProperties:
|
||||
description: MikroElektronika d.o.o.
|
||||
"^mikrotik,.*":
|
||||
description: MikroTik
|
||||
"^milianke,.*":
|
||||
description: Changzhou Milianke Electronic Technology Co., Ltd
|
||||
"^milkv,.*":
|
||||
description: MilkV Technology Co., Ltd
|
||||
"^miniand,.*":
|
||||
@@ -1150,6 +1156,8 @@ patternProperties:
|
||||
description: Novatek
|
||||
"^novtech,.*":
|
||||
description: NovTech, Inc.
|
||||
"^nuclei,.*":
|
||||
description: Nuclei System Technology
|
||||
"^numonyx,.*":
|
||||
description: Numonyx (deprecated, use micron)
|
||||
deprecated: true
|
||||
@@ -1622,6 +1630,8 @@ patternProperties:
|
||||
description: Tempo Semiconductor
|
||||
"^tenda,.*":
|
||||
description: Shenzhen Tenda Technology Co., Ltd.
|
||||
"^tenstorrent,.*":
|
||||
description: Tenstorrent AI ULC
|
||||
"^terasic,.*":
|
||||
description: Terasic Inc.
|
||||
"^tesla,.*":
|
||||
|
||||
25
MAINTAINERS
25
MAINTAINERS
@@ -2575,6 +2575,14 @@ S: Maintained
|
||||
F: Documentation/devicetree/bindings/arm/blaize.yaml
|
||||
F: arch/arm64/boot/dts/blaize/
|
||||
|
||||
ARM/BST SOC SUPPORT
|
||||
M: Ge Gordon <gordon.ge@bst.ai>
|
||||
R: BST Linux Kernel Upstream Group <bst-upstream@bstai.top>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Supported
|
||||
F: Documentation/devicetree/bindings/arm/bst.yaml
|
||||
F: arch/arm64/boot/dts/bst/
|
||||
|
||||
ARM/CALXEDA HIGHBANK ARCHITECTURE
|
||||
M: Andre Przywara <andre.przywara@arm.com>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
@@ -22275,6 +22283,14 @@ F: Documentation/devicetree/bindings/riscv/andes.yaml
|
||||
F: Documentation/devicetree/bindings/timer/andestech,plmt0.yaml
|
||||
F: arch/riscv/boot/dts/andes/
|
||||
|
||||
RISC-V ANLOGIC SoC SUPPORT
|
||||
M: Conor Dooley <conor@kernel.org>
|
||||
T: git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
|
||||
L: linux-riscv@lists.infradead.org
|
||||
S: Odd Fixes
|
||||
F: Documentation/devicetree/bindings/riscv/anlogic.yaml
|
||||
F: arch/riscv/boot/dts/anlogic/
|
||||
|
||||
RISC-V ARCHITECTURE
|
||||
M: Paul Walmsley <pjw@kernel.org>
|
||||
M: Palmer Dabbelt <palmer@dabbelt.com>
|
||||
@@ -22376,6 +22392,15 @@ 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
|
||||
F: arch/riscv/boot/dts/tenstorrent/
|
||||
|
||||
RISC-V THEAD SoC SUPPORT
|
||||
M: Drew Fustini <fustini@kernel.org>
|
||||
M: Guo Ren <guoren@kernel.org>
|
||||
|
||||
@@ -119,6 +119,14 @@ config ARCH_BLAIZE
|
||||
help
|
||||
This enables support for the Blaize SoC family
|
||||
|
||||
config ARCH_BST
|
||||
bool "Black Sesame Technologies SoC Family"
|
||||
help
|
||||
This enables support for Black Sesame Technologies (BST) SoC family.
|
||||
BST produces automotive-grade system-on-chips for intelligent driving,
|
||||
focusing on computer vision and AI capabilities. The BST C1200 family
|
||||
includes SoCs for ADAS and autonomous driving applications.
|
||||
|
||||
config ARCH_CIX
|
||||
bool "Cixtech SoC family"
|
||||
help
|
||||
|
||||
@@ -13,6 +13,7 @@ subdir-y += axiado
|
||||
subdir-y += bitmain
|
||||
subdir-y += blaize
|
||||
subdir-y += broadcom
|
||||
subdir-y += bst
|
||||
subdir-y += cavium
|
||||
subdir-y += cix
|
||||
subdir-y += exynos
|
||||
|
||||
2
arch/arm64/boot/dts/bst/Makefile
Normal file
2
arch/arm64/boot/dts/bst/Makefile
Normal file
@@ -0,0 +1,2 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
dtb-$(CONFIG_ARCH_BST) += bstc1200-cdcu1.0-adas_4c2g.dtb
|
||||
24
arch/arm64/boot/dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts
Normal file
24
arch/arm64/boot/dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts
Normal file
@@ -0,0 +1,24 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/dts-v1/;
|
||||
|
||||
#include "bstc1200.dtsi"
|
||||
|
||||
/ {
|
||||
model = "BST C1200-96 CDCU1.0 4C2G";
|
||||
compatible = "bst,c1200-cdcu1.0-adas-4c2g", "bst,c1200";
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
memory@810000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x8 0x10000000 0x0 0x30000000>,
|
||||
<0x8 0xc0000000 0x1 0x0>,
|
||||
<0xc 0x00000000 0x0 0x40000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
97
arch/arm64/boot/dts/bst/bstc1200.dtsi
Normal file
97
arch/arm64/boot/dts/bst/bstc1200.dtsi
Normal file
@@ -0,0 +1,97 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
/ {
|
||||
compatible = "bst,c1200";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a78";
|
||||
reg = <0x0>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&l2_cache>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a78";
|
||||
reg = <0x100>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&l2_cache>;
|
||||
};
|
||||
|
||||
cpu@2 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a78";
|
||||
reg = <0x200>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&l2_cache>;
|
||||
};
|
||||
|
||||
cpu@3 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a78";
|
||||
reg = <0x300>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&l2_cache>;
|
||||
};
|
||||
|
||||
l2_cache: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
ranges;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
uart0: serial@20008000 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x0 0x20008000 0x0 0x1000>;
|
||||
clock-frequency = <25000000>;
|
||||
interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gic: interrupt-controller@32800000 {
|
||||
compatible = "arm,gic-v3";
|
||||
reg = <0x0 0x32800000 0x0 0x10000>,
|
||||
<0x0 0x32880000 0x0 0x100000>;
|
||||
ranges;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
always-on;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
@@ -47,6 +47,7 @@ CONFIG_ARCH_BCMBCA=y
|
||||
CONFIG_ARCH_BRCMSTB=y
|
||||
CONFIG_ARCH_BERLIN=y
|
||||
CONFIG_ARCH_BLAIZE=y
|
||||
CONFIG_ARCH_BST=y
|
||||
CONFIG_ARCH_CIX=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_SPARX5=y
|
||||
|
||||
@@ -7,6 +7,11 @@ config ARCH_ANDES
|
||||
help
|
||||
This enables support for Andes SoC platform hardware.
|
||||
|
||||
config ARCH_ANLOGIC
|
||||
bool "Anlogic SoCs"
|
||||
help
|
||||
This enables support for Anlogic SoC platform hardware.
|
||||
|
||||
config ARCH_ESWIN
|
||||
bool "ESWIN SoCs"
|
||||
help
|
||||
@@ -63,6 +68,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
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
subdir-y += allwinner
|
||||
subdir-y += andes
|
||||
subdir-y += anlogic
|
||||
subdir-y += canaan
|
||||
subdir-y += eswin
|
||||
subdir-y += microchip
|
||||
@@ -9,4 +10,5 @@ subdir-y += sifive
|
||||
subdir-y += sophgo
|
||||
subdir-y += spacemit
|
||||
subdir-y += starfive
|
||||
subdir-y += tenstorrent
|
||||
subdir-y += thead
|
||||
|
||||
2
arch/riscv/boot/dts/anlogic/Makefile
Normal file
2
arch/riscv/boot/dts/anlogic/Makefile
Normal file
@@ -0,0 +1,2 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
dtb-$(CONFIG_ARCH_ANLOGIC) += dr1v90-mlkpai-fs01.dtb
|
||||
28
arch/riscv/boot/dts/anlogic/dr1v90-mlkpai-fs01.dts
Normal file
28
arch/riscv/boot/dts/anlogic/dr1v90-mlkpai-fs01.dts
Normal file
@@ -0,0 +1,28 @@
|
||||
// SPDX-License-Identifier: GPL-2.0 OR MIT
|
||||
/*
|
||||
* Copyright (C) 2025 Junhui Liu <junhui.liu@pigmoral.tech>
|
||||
*/
|
||||
|
||||
#include "dr1v90.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Milianke MLKPAI-FS01";
|
||||
compatible = "milianke,mlkpai-fs01", "anlogic,dr1v90";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x0 0x20000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
status = "okay";
|
||||
};
|
||||
100
arch/riscv/boot/dts/anlogic/dr1v90.dtsi
Normal file
100
arch/riscv/boot/dts/anlogic/dr1v90.dtsi
Normal file
@@ -0,0 +1,100 @@
|
||||
// SPDX-License-Identifier: GPL-2.0 OR MIT
|
||||
/*
|
||||
* Copyright (C) 2025 Junhui Liu <junhui.liu@pigmoral.tech>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/ {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
model = "Anlogic DR1V90";
|
||||
compatible = "anlogic,dr1v90";
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
timebase-frequency = <800000000>;
|
||||
|
||||
cpu@0 {
|
||||
compatible = "nuclei,ux900", "riscv";
|
||||
d-cache-block-size = <64>;
|
||||
d-cache-sets = <256>;
|
||||
d-cache-size = <32768>;
|
||||
device_type = "cpu";
|
||||
i-cache-block-size = <64>;
|
||||
i-cache-sets = <256>;
|
||||
i-cache-size = <32768>;
|
||||
mmu-type = "riscv,sv39";
|
||||
reg = <0>;
|
||||
riscv,isa-base = "rv64i";
|
||||
riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zbc",
|
||||
"zbkc", "zbs", "zicntr", "zicsr", "zifencei",
|
||||
"zihintpause", "zihpm";
|
||||
|
||||
cpu0_intc: interrupt-controller {
|
||||
compatible = "riscv,cpu-intc";
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-controller;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&plic>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
aclint_mswi: interrupt-controller@68031000 {
|
||||
compatible = "anlogic,dr1v90-aclint-mswi", "nuclei,ux900-aclint-mswi";
|
||||
reg = <0x0 0x68031000 0x0 0x4000>;
|
||||
interrupts-extended = <&cpu0_intc 3>;
|
||||
};
|
||||
|
||||
aclint_mtimer: timer@68035000 {
|
||||
compatible = "anlogic,dr1v90-aclint-mtimer", "nuclei,ux900-aclint-mtimer";
|
||||
reg = <0x0 0x68035000 0x0 0x8000>;
|
||||
reg-names = "mtimecmp";
|
||||
interrupts-extended = <&cpu0_intc 7>;
|
||||
};
|
||||
|
||||
aclint_sswi: interrupt-controller@6803d000 {
|
||||
compatible = "anlogic,dr1v90-aclint-sswi", "nuclei,ux900-aclint-sswi";
|
||||
reg = <0x0 0x6803d000 0x0 0x3000>;
|
||||
#interrupt-cells = <0>;
|
||||
interrupt-controller;
|
||||
interrupts-extended = <&cpu0_intc 1>;
|
||||
};
|
||||
|
||||
plic: interrupt-controller@6c000000 {
|
||||
compatible = "anlogic,dr1v90-plic", "sifive,plic-1.0.0";
|
||||
reg = <0x0 0x6c000000 0x0 0x4000000>;
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-controller;
|
||||
interrupts-extended = <&cpu0_intc 11>, <&cpu0_intc 9>;
|
||||
riscv,ndev = <150>;
|
||||
};
|
||||
|
||||
uart0: serial@f8400000 {
|
||||
compatible = "anlogic,dr1v90-uart", "snps,dw-apb-uart";
|
||||
reg = <0x0 0xf8400000 0x0 0x1000>;
|
||||
clock-frequency = <50000000>;
|
||||
interrupts = <71>;
|
||||
reg-io-width = <4>;
|
||||
reg-shift = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart1: serial@f8401000 {
|
||||
compatible = "anlogic,dr1v90-uart", "snps,dw-apb-uart";
|
||||
reg = <0x0 0xf8401000 0x0 0x1000>;
|
||||
clock-frequency = <50000000>;
|
||||
interrupts = <72>;
|
||||
reg-io-width = <4>;
|
||||
reg-shift = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
2
arch/riscv/boot/dts/tenstorrent/Makefile
Normal file
2
arch/riscv/boot/dts/tenstorrent/Makefile
Normal file
@@ -0,0 +1,2 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
dtb-$(CONFIG_ARCH_TENSTORRENT) += blackhole-card.dtb
|
||||
14
arch/riscv/boot/dts/tenstorrent/blackhole-card.dts
Normal file
14
arch/riscv/boot/dts/tenstorrent/blackhole-card.dts
Normal file
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
/dts-v1/;
|
||||
|
||||
#include "blackhole.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Tenstorrent Blackhole";
|
||||
compatible = "tenstorrent,blackhole-card", "tenstorrent,blackhole";
|
||||
|
||||
memory@400030000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x4000 0x30000000 0x1 0x00000000>;
|
||||
};
|
||||
};
|
||||
108
arch/riscv/boot/dts/tenstorrent/blackhole.dtsi
Normal file
108
arch/riscv/boot/dts/tenstorrent/blackhole.dtsi
Normal file
@@ -0,0 +1,108 @@
|
||||
// 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 = <1>;
|
||||
#size-cells = <0>;
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -23,12 +23,14 @@ CONFIG_CHECKPOINT_RESTORE=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_ARCH_ANDES=y
|
||||
CONFIG_ARCH_ANLOGIC=y
|
||||
CONFIG_ARCH_MICROCHIP=y
|
||||
CONFIG_ARCH_SIFIVE=y
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user