Skip to content

Commit c03a377

Browse files
jycs168arndb
authored andcommitted
arm64: dts: bst: add support for Black Sesame Technologies C1200 CDCU1.0 board
Add device tree support for the Black Sesame Technologies (BST) C1200 CDCU1.0 ADAS 4C2G platform. This platform is based on the BST C1200 SoC family. The changes include: - Adding a new BST device tree directory - Adding Makefile entries to build the BST platform device trees - Adding the device tree for the BST C1200 CDCU1.0 ADAS 4C2G board This board features a quad-core Cortex-A78 CPU, and various peripherals including UART, and interrupt controller. Signed-off-by: Albert Yang <yangzh0906@thundersoft.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
1 parent 1541219 commit c03a377

4 files changed

Lines changed: 124 additions & 0 deletions

File tree

arch/arm64/boot/dts/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ subdir-y += axiado
1313
subdir-y += bitmain
1414
subdir-y += blaize
1515
subdir-y += broadcom
16+
subdir-y += bst
1617
subdir-y += cavium
1718
subdir-y += cix
1819
subdir-y += exynos

arch/arm64/boot/dts/bst/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
dtb-$(CONFIG_ARCH_BST) += bstc1200-cdcu1.0-adas_4c2g.dtb
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
/dts-v1/;
3+
4+
#include "bstc1200.dtsi"
5+
6+
/ {
7+
model = "BST C1200-96 CDCU1.0 4C2G";
8+
compatible = "bst,c1200-cdcu1.0-adas-4c2g", "bst,c1200";
9+
10+
chosen {
11+
stdout-path = "serial0:115200n8";
12+
};
13+
14+
memory@810000000 {
15+
device_type = "memory";
16+
reg = <0x8 0x10000000 0x0 0x30000000>,
17+
<0x8 0xc0000000 0x1 0x0>,
18+
<0xc 0x00000000 0x0 0x40000000>;
19+
};
20+
};
21+
22+
&uart0 {
23+
status = "okay";
24+
};
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
#include <dt-bindings/interrupt-controller/arm-gic.h>
3+
#include <dt-bindings/interrupt-controller/irq.h>
4+
5+
/ {
6+
compatible = "bst,c1200";
7+
#address-cells = <2>;
8+
#size-cells = <2>;
9+
10+
cpus {
11+
#address-cells = <1>;
12+
#size-cells = <0>;
13+
14+
cpu@0 {
15+
device_type = "cpu";
16+
compatible = "arm,cortex-a78";
17+
reg = <0x0>;
18+
enable-method = "psci";
19+
next-level-cache = <&l2_cache>;
20+
};
21+
22+
cpu@1 {
23+
device_type = "cpu";
24+
compatible = "arm,cortex-a78";
25+
reg = <0x100>;
26+
enable-method = "psci";
27+
next-level-cache = <&l2_cache>;
28+
};
29+
30+
cpu@2 {
31+
device_type = "cpu";
32+
compatible = "arm,cortex-a78";
33+
reg = <0x200>;
34+
enable-method = "psci";
35+
next-level-cache = <&l2_cache>;
36+
};
37+
38+
cpu@3 {
39+
device_type = "cpu";
40+
compatible = "arm,cortex-a78";
41+
reg = <0x300>;
42+
enable-method = "psci";
43+
next-level-cache = <&l2_cache>;
44+
};
45+
46+
l2_cache: l2-cache {
47+
compatible = "cache";
48+
cache-level = <2>;
49+
cache-unified;
50+
};
51+
};
52+
53+
psci {
54+
compatible = "arm,psci-1.0";
55+
method = "smc";
56+
};
57+
58+
soc {
59+
compatible = "simple-bus";
60+
ranges;
61+
#address-cells = <2>;
62+
#size-cells = <2>;
63+
interrupt-parent = <&gic>;
64+
65+
uart0: serial@20008000 {
66+
compatible = "snps,dw-apb-uart";
67+
reg = <0x0 0x20008000 0x0 0x1000>;
68+
clock-frequency = <25000000>;
69+
interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>;
70+
reg-shift = <2>;
71+
reg-io-width = <4>;
72+
status = "disabled";
73+
};
74+
75+
gic: interrupt-controller@32800000 {
76+
compatible = "arm,gic-v3";
77+
reg = <0x0 0x32800000 0x0 0x10000>,
78+
<0x0 0x32880000 0x0 0x100000>;
79+
ranges;
80+
#address-cells = <2>;
81+
#size-cells = <2>;
82+
#interrupt-cells = <3>;
83+
interrupt-controller;
84+
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>;
85+
};
86+
};
87+
88+
timer {
89+
compatible = "arm,armv8-timer";
90+
always-on;
91+
interrupt-parent = <&gic>;
92+
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
93+
<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
94+
<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
95+
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
96+
};
97+
};

0 commit comments

Comments
 (0)