1
0

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:
Arnd Bergmann
2025-11-21 21:14:07 +01:00
9 changed files with 174 additions and 0 deletions

View 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
...

View File

@@ -251,6 +251,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,.*":

View File

@@ -2547,6 +2547,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)

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,2 @@
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_ARCH_BST) += bstc1200-cdcu1.0-adas_4c2g.dtb

View 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";
};

View 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>;
};
};

View File

@@ -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