mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +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
|
- spacemit,k1-plic
|
||||||
- starfive,jh7100-plic
|
- starfive,jh7100-plic
|
||||||
- starfive,jh7110-plic
|
- starfive,jh7110-plic
|
||||||
|
- tenstorrent,blackhole-plic
|
||||||
- const: sifive,plic-1.0.0
|
- const: sifive,plic-1.0.0
|
||||||
- items:
|
- items:
|
||||||
- enum:
|
- 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
|
- amd,mbv64
|
||||||
- andestech,ax45mp
|
- andestech,ax45mp
|
||||||
- canaan,k210
|
- canaan,k210
|
||||||
|
- nuclei,ux900
|
||||||
- sifive,bullet0
|
- sifive,bullet0
|
||||||
- sifive,e5
|
- sifive,e5
|
||||||
- sifive,e7
|
- sifive,e7
|
||||||
@@ -70,6 +71,7 @@ properties:
|
|||||||
- enum:
|
- enum:
|
||||||
- sifive,e51
|
- sifive,e51
|
||||||
- sifive,u54-mc
|
- sifive,u54-mc
|
||||||
|
- sifive,x280
|
||||||
- const: sifive,rocket0
|
- const: sifive,rocket0
|
||||||
- const: riscv
|
- const: riscv
|
||||||
- const: riscv # Simulator only
|
- 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
|
- const: renesas,rzn1-uart
|
||||||
- items:
|
- items:
|
||||||
- enum:
|
- enum:
|
||||||
|
- anlogic,dr1v90-uart
|
||||||
- brcm,bcm11351-dw-apb-uart
|
- brcm,bcm11351-dw-apb-uart
|
||||||
- brcm,bcm21664-dw-apb-uart
|
- brcm,bcm21664-dw-apb-uart
|
||||||
- rockchip,px30-uart
|
- rockchip,px30-uart
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ properties:
|
|||||||
- starfive,jh7100-clint # StarFive JH7100
|
- starfive,jh7100-clint # StarFive JH7100
|
||||||
- starfive,jh7110-clint # StarFive JH7110
|
- starfive,jh7110-clint # StarFive JH7110
|
||||||
- starfive,jh8100-clint # StarFive JH8100
|
- starfive,jh8100-clint # StarFive JH8100
|
||||||
|
- tenstorrent,blackhole-clint # Tenstorrent Blackhole
|
||||||
- const: sifive,clint0 # SiFive CLINT v0 IP block
|
- const: sifive,clint0 # SiFive CLINT v0 IP block
|
||||||
- items:
|
- items:
|
||||||
- {}
|
- {}
|
||||||
|
|||||||
@@ -4,18 +4,23 @@
|
|||||||
$id: http://devicetree.org/schemas/timer/thead,c900-aclint-mtimer.yaml#
|
$id: http://devicetree.org/schemas/timer/thead,c900-aclint-mtimer.yaml#
|
||||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
title: Sophgo CLINT Timer
|
title: ACLINT Machine-level Timer Device
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
- Inochi Amaoto <inochiama@outlook.com>
|
- Inochi Amaoto <inochiama@outlook.com>
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
items:
|
oneOf:
|
||||||
- enum:
|
- items:
|
||||||
- sophgo,sg2042-aclint-mtimer
|
- enum:
|
||||||
- sophgo,sg2044-aclint-mtimer
|
- sophgo,sg2042-aclint-mtimer
|
||||||
- const: thead,c900-aclint-mtimer
|
- sophgo,sg2044-aclint-mtimer
|
||||||
|
- const: thead,c900-aclint-mtimer
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- anlogic,dr1v90-aclint-mtimer
|
||||||
|
- const: nuclei,ux900-aclint-mtimer
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
items:
|
items:
|
||||||
|
|||||||
@@ -134,6 +134,8 @@ patternProperties:
|
|||||||
description: Anbernic
|
description: Anbernic
|
||||||
"^andestech,.*":
|
"^andestech,.*":
|
||||||
description: Andes Technology Corporation
|
description: Andes Technology Corporation
|
||||||
|
"^anlogic,.*":
|
||||||
|
description: Shanghai Anlogic Infotech Co., Ltd.
|
||||||
"^anvo,.*":
|
"^anvo,.*":
|
||||||
description: Anvo-Systems Dresden GmbH
|
description: Anvo-Systems Dresden GmbH
|
||||||
"^aoly,.*":
|
"^aoly,.*":
|
||||||
@@ -255,6 +257,8 @@ patternProperties:
|
|||||||
description: Shanghai Broadmobi Communication Technology Co.,Ltd.
|
description: Shanghai Broadmobi Communication Technology Co.,Ltd.
|
||||||
"^bsh,.*":
|
"^bsh,.*":
|
||||||
description: BSH Hausgeraete GmbH
|
description: BSH Hausgeraete GmbH
|
||||||
|
"^bst,.*":
|
||||||
|
description: Black Sesame Technologies Co., Ltd.
|
||||||
"^bticino,.*":
|
"^bticino,.*":
|
||||||
description: Bticino International
|
description: Bticino International
|
||||||
"^buffalo,.*":
|
"^buffalo,.*":
|
||||||
@@ -1033,6 +1037,8 @@ patternProperties:
|
|||||||
description: MikroElektronika d.o.o.
|
description: MikroElektronika d.o.o.
|
||||||
"^mikrotik,.*":
|
"^mikrotik,.*":
|
||||||
description: MikroTik
|
description: MikroTik
|
||||||
|
"^milianke,.*":
|
||||||
|
description: Changzhou Milianke Electronic Technology Co., Ltd
|
||||||
"^milkv,.*":
|
"^milkv,.*":
|
||||||
description: MilkV Technology Co., Ltd
|
description: MilkV Technology Co., Ltd
|
||||||
"^miniand,.*":
|
"^miniand,.*":
|
||||||
@@ -1150,6 +1156,8 @@ patternProperties:
|
|||||||
description: Novatek
|
description: Novatek
|
||||||
"^novtech,.*":
|
"^novtech,.*":
|
||||||
description: NovTech, Inc.
|
description: NovTech, Inc.
|
||||||
|
"^nuclei,.*":
|
||||||
|
description: Nuclei System Technology
|
||||||
"^numonyx,.*":
|
"^numonyx,.*":
|
||||||
description: Numonyx (deprecated, use micron)
|
description: Numonyx (deprecated, use micron)
|
||||||
deprecated: true
|
deprecated: true
|
||||||
@@ -1622,6 +1630,8 @@ patternProperties:
|
|||||||
description: Tempo Semiconductor
|
description: Tempo Semiconductor
|
||||||
"^tenda,.*":
|
"^tenda,.*":
|
||||||
description: Shenzhen Tenda Technology Co., Ltd.
|
description: Shenzhen Tenda Technology Co., Ltd.
|
||||||
|
"^tenstorrent,.*":
|
||||||
|
description: Tenstorrent AI ULC
|
||||||
"^terasic,.*":
|
"^terasic,.*":
|
||||||
description: Terasic Inc.
|
description: Terasic Inc.
|
||||||
"^tesla,.*":
|
"^tesla,.*":
|
||||||
|
|||||||
25
MAINTAINERS
25
MAINTAINERS
@@ -2575,6 +2575,14 @@ S: Maintained
|
|||||||
F: Documentation/devicetree/bindings/arm/blaize.yaml
|
F: Documentation/devicetree/bindings/arm/blaize.yaml
|
||||||
F: arch/arm64/boot/dts/blaize/
|
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
|
ARM/CALXEDA HIGHBANK ARCHITECTURE
|
||||||
M: Andre Przywara <andre.przywara@arm.com>
|
M: Andre Przywara <andre.przywara@arm.com>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
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: Documentation/devicetree/bindings/timer/andestech,plmt0.yaml
|
||||||
F: arch/riscv/boot/dts/andes/
|
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
|
RISC-V ARCHITECTURE
|
||||||
M: Paul Walmsley <pjw@kernel.org>
|
M: Paul Walmsley <pjw@kernel.org>
|
||||||
M: Palmer Dabbelt <palmer@dabbelt.com>
|
M: Palmer Dabbelt <palmer@dabbelt.com>
|
||||||
@@ -22376,6 +22392,15 @@ F: arch/riscv/boot/dts/spacemit/
|
|||||||
N: spacemit
|
N: spacemit
|
||||||
K: 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
|
RISC-V THEAD SoC SUPPORT
|
||||||
M: Drew Fustini <fustini@kernel.org>
|
M: Drew Fustini <fustini@kernel.org>
|
||||||
M: Guo Ren <guoren@kernel.org>
|
M: Guo Ren <guoren@kernel.org>
|
||||||
|
|||||||
@@ -119,6 +119,14 @@ config ARCH_BLAIZE
|
|||||||
help
|
help
|
||||||
This enables support for the Blaize SoC family
|
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
|
config ARCH_CIX
|
||||||
bool "Cixtech SoC family"
|
bool "Cixtech SoC family"
|
||||||
help
|
help
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ subdir-y += axiado
|
|||||||
subdir-y += bitmain
|
subdir-y += bitmain
|
||||||
subdir-y += blaize
|
subdir-y += blaize
|
||||||
subdir-y += broadcom
|
subdir-y += broadcom
|
||||||
|
subdir-y += bst
|
||||||
subdir-y += cavium
|
subdir-y += cavium
|
||||||
subdir-y += cix
|
subdir-y += cix
|
||||||
subdir-y += exynos
|
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_BRCMSTB=y
|
||||||
CONFIG_ARCH_BERLIN=y
|
CONFIG_ARCH_BERLIN=y
|
||||||
CONFIG_ARCH_BLAIZE=y
|
CONFIG_ARCH_BLAIZE=y
|
||||||
|
CONFIG_ARCH_BST=y
|
||||||
CONFIG_ARCH_CIX=y
|
CONFIG_ARCH_CIX=y
|
||||||
CONFIG_ARCH_EXYNOS=y
|
CONFIG_ARCH_EXYNOS=y
|
||||||
CONFIG_ARCH_SPARX5=y
|
CONFIG_ARCH_SPARX5=y
|
||||||
|
|||||||
@@ -7,6 +7,11 @@ config ARCH_ANDES
|
|||||||
help
|
help
|
||||||
This enables support for Andes SoC platform hardware.
|
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
|
config ARCH_ESWIN
|
||||||
bool "ESWIN SoCs"
|
bool "ESWIN SoCs"
|
||||||
help
|
help
|
||||||
@@ -63,6 +68,14 @@ config ARCH_SUNXI
|
|||||||
This enables support for Allwinner sun20i platform hardware,
|
This enables support for Allwinner sun20i platform hardware,
|
||||||
including boards based on the D1 and D1s SoCs.
|
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
|
config ARCH_THEAD
|
||||||
bool "T-HEAD RISC-V SoCs"
|
bool "T-HEAD RISC-V SoCs"
|
||||||
depends on MMU && !XIP_KERNEL
|
depends on MMU && !XIP_KERNEL
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
subdir-y += allwinner
|
subdir-y += allwinner
|
||||||
subdir-y += andes
|
subdir-y += andes
|
||||||
|
subdir-y += anlogic
|
||||||
subdir-y += canaan
|
subdir-y += canaan
|
||||||
subdir-y += eswin
|
subdir-y += eswin
|
||||||
subdir-y += microchip
|
subdir-y += microchip
|
||||||
@@ -9,4 +10,5 @@ subdir-y += sifive
|
|||||||
subdir-y += sophgo
|
subdir-y += sophgo
|
||||||
subdir-y += spacemit
|
subdir-y += spacemit
|
||||||
subdir-y += starfive
|
subdir-y += starfive
|
||||||
|
subdir-y += tenstorrent
|
||||||
subdir-y += thead
|
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_BLK_DEV_INITRD=y
|
||||||
CONFIG_PROFILING=y
|
CONFIG_PROFILING=y
|
||||||
CONFIG_ARCH_ANDES=y
|
CONFIG_ARCH_ANDES=y
|
||||||
|
CONFIG_ARCH_ANLOGIC=y
|
||||||
CONFIG_ARCH_MICROCHIP=y
|
CONFIG_ARCH_MICROCHIP=y
|
||||||
CONFIG_ARCH_SIFIVE=y
|
CONFIG_ARCH_SIFIVE=y
|
||||||
CONFIG_ARCH_SOPHGO=y
|
CONFIG_ARCH_SOPHGO=y
|
||||||
CONFIG_ARCH_SPACEMIT=y
|
CONFIG_ARCH_SPACEMIT=y
|
||||||
CONFIG_SOC_STARFIVE=y
|
CONFIG_SOC_STARFIVE=y
|
||||||
CONFIG_ARCH_SUNXI=y
|
CONFIG_ARCH_SUNXI=y
|
||||||
|
CONFIG_ARCH_TENSTORRENT=y
|
||||||
CONFIG_ARCH_THEAD=y
|
CONFIG_ARCH_THEAD=y
|
||||||
CONFIG_ARCH_VIRT=y
|
CONFIG_ARCH_VIRT=y
|
||||||
CONFIG_ARCH_CANAAN=y
|
CONFIG_ARCH_CANAAN=y
|
||||||
|
|||||||
Reference in New Issue
Block a user