Merge branch 'bst/newsoc' into soc/newsoc
This patch series introduces platform support for Black Sesame Technologies (BST) C1200 SoC and CDCU1.0 ADAS 4C2G board. BST is a leading automotive-grade computing SoC provider focusing on intelligent driving, computer vision, and AI capabilities for ADAS and autonomous driving applications. You can find more information about the SoC and related boards at: https://bst.ai This series provides the foundational platform enablement including device tree bindings, SoC and board device trees, platform configuration, and maintainer information. MMC/SDHCI driver support will be submitted in a separate patch series. * bst/newsoc: 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. Link: https://lore.kernel.org/all/20251016120558.2390960-1-yangzh0906@thundersoft.com/ Signed-off-by: Arnd Bergmann <arnd@arndb.de>
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
|
||||
|
||||
...
|
||||
@@ -251,6 +251,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,.*":
|
||||
|
||||
@@ -2547,6 +2547,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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user