* [PATCH v7 0/5] Introduce ASPEED AST27xx BMC SoC
@ 2025-11-07 5:56 Ryan Chen
2025-11-07 5:56 ` [PATCH v7 1/5] dt-bindings: arm: aspeed: Add AST2700 board compatible Ryan Chen
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Ryan Chen @ 2025-11-07 5:56 UTC (permalink / raw)
To: ryan_chen, bmc-sw, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Joel Stanley, Andrew Jeffery, jk, Lee Jones, Catalin Marinas,
Will Deacon, Arnd Bergmann, Bjorn Andersson, Geert Uytterhoeven,
Nishanth Menon, nfraprado, Taniya Das, Lad Prabhakar,
Kuninori Morimoto, Eric Biggers, devicetree, linux-arm-kernel,
linux-aspeed, linux-kernel
This introduces initial support for the Aspeed AST27xx SoC and the AST2700
Evaluation Board (EVB) to the Linux kernel. The AST27xx is the 8th
generation Baseboard Management Controller (BMC) SoC from Aspeed,
featuring improved performance, enhanced security, and expanded I/O
capabilities compared to previous generations.
AST27xx SOC Family
- https://www.aspeedtech.com/server_ast2700/
- https://www.aspeedtech.com/server_ast2720/
- https://www.aspeedtech.com/server_ast2750/
Bindings Dependencies: check with "make CHECK_DTBS=y W=1 arch/arm64/boot/dts/aspeed/ dtbs"
- scu/silicon-id: Documentation/devicetree/bindings/mfd/aspeed,ast2x00-scu.yaml
- gpio: Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml
Binding dependency patch:
- intc: Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2700-intc.yaml
- https://lore.kernel.org/all/20251030060155.2342604-2-ryan_chen@aspeedtech.com/ (Acked-by)
v7:
- remove aspeed,ast2x00-scu.yaml modify
- separate aspeed-g7.dtsi to aspeed-g7-a35.dtsi and aspeed-g7-common.dtsi
- move aliases to ast2700-evb.dts file
v6:
- rebased on v6.18-rc1
- aspeed,ast2x00-scu.yaml
- fixed dt-binding yaml issuse report.
v5:
- modify ast27XX 7th generation description to 8th generation.
- aspeed.yaml
- modify missing blank line.
- Kconfig.platforms
- modify ast27XX 7th generation to 8th generation.
v4:
- make CHECK_DTBS=y arch/arm64/boot/dts/aspeed/ fix.
- modify commit message remove itemlize.
- remove modify aspeed,ast2700-intc.yaml patch.
- aspeed.yaml
- Add AST2700 board compatible.
- aspeed-g7.dtsi
- modify all size-cells from 1 to 2.
- add serial aliases, gpio, mdio, uart0 ~ 14.
- add firmware for optee, reserved memory for atf and optee.
- modify cpu@0 to cpu0: cpu@0.
- fix intc-ic for yaml dependency.
- ast2700-evb.dts
- update stdout-path = "serial12:115200n8";
v3:
- https://lore.kernel.org/all/20241212155237.848336-1-kevin_chen@aspeedtech.com/
- Split clk and reset driver to other commits, which are in series of
"Add support for AST2700 clk driver".
- For BMC console by UART12, add uart12 using ASPEED INTC architecture.
aspeed,ast2700-intc.yaml
- Add minItems to 1 to fix the warning by "make dtbs_check W=1".
- Add intc1 into example.
Kconfig.platforms
- Remove MACH_ASPEED_G7.
Ryan Chen (6):
dt-bindings: arm: aspeed: Add AST2700 board compatible
arm64: Kconfig: Add Aspeed SoC family (ast27XX) Kconfig support
arm64: dts: aspeed: Add initial AST27xx SoC device tree
arm64: dts: aspeed: Add AST2700 Evaluation Board
arm64: configs: Update defconfig for AST2700 platform support
.../bindings/arm/aspeed/aspeed.yaml | 6 +
arch/arm64/Kconfig.platforms | 6 +
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/aspeed/Makefile | 4 +
arch/arm64/boot/dts/aspeed/aspeed-g7-a35.dtsi | 148 ++++++++
.../boot/dts/aspeed/aspeed-g7-common.dtsi | 345 ++++++++++++++++++
arch/arm64/boot/dts/aspeed/ast2700-evb.dts | 26 ++
arch/arm64/configs/defconfig | 1 +
8 files changed, 537 insertions(+)
create mode 100644 arch/arm64/boot/dts/aspeed/Makefile
create mode 100644 arch/arm64/boot/dts/aspeed/aspeed-g7-a35.dtsi
create mode 100644 arch/arm64/boot/dts/aspeed/aspeed-g7-common.dtsi
create mode 100644 arch/arm64/boot/dts/aspeed/ast2700-evb.dts
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v7 1/5] dt-bindings: arm: aspeed: Add AST2700 board compatible
2025-11-07 5:56 [PATCH v7 0/5] Introduce ASPEED AST27xx BMC SoC Ryan Chen
@ 2025-11-07 5:56 ` Ryan Chen
2025-11-07 5:56 ` [PATCH v7 2/5] arm64: Kconfig: Add Aspeed SoC family (ast27XX) Kconfig support Ryan Chen
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Ryan Chen @ 2025-11-07 5:56 UTC (permalink / raw)
To: ryan_chen, bmc-sw, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Joel Stanley, Andrew Jeffery, jk, Lee Jones, Catalin Marinas,
Will Deacon, Arnd Bergmann, Bjorn Andersson, Geert Uytterhoeven,
Nishanth Menon, nfraprado, Taniya Das, Lad Prabhakar,
Kuninori Morimoto, Eric Biggers, devicetree, linux-arm-kernel,
linux-aspeed, linux-kernel
Cc: Conor Dooley
Add device tree compatible string for AST2700 based boards
("aspeed,ast2700-evb" and "aspeed,ast2700") to the Aspeed SoC
board bindings. This allows proper schema validation and
enables support for AST2700 platforms.
Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml b/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
index aedefca7cf4a..1c1a12fc3a91 100644
--- a/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
+++ b/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
@@ -109,4 +109,10 @@ properties:
- ufispace,ncplite-bmc
- const: aspeed,ast2600
+ - description: AST2700 based boards
+ items:
+ - enum:
+ - aspeed,ast2700-evb
+ - const: aspeed,ast2700
+
additionalProperties: true
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v7 2/5] arm64: Kconfig: Add Aspeed SoC family (ast27XX) Kconfig support
2025-11-07 5:56 [PATCH v7 0/5] Introduce ASPEED AST27xx BMC SoC Ryan Chen
2025-11-07 5:56 ` [PATCH v7 1/5] dt-bindings: arm: aspeed: Add AST2700 board compatible Ryan Chen
@ 2025-11-07 5:56 ` Ryan Chen
2025-11-07 5:56 ` [PATCH v7 3/5] arm64: dts: aspeed: Add initial AST27xx SoC device tree Ryan Chen
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Ryan Chen @ 2025-11-07 5:56 UTC (permalink / raw)
To: ryan_chen, bmc-sw, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Joel Stanley, Andrew Jeffery, jk, Lee Jones, Catalin Marinas,
Will Deacon, Arnd Bergmann, Bjorn Andersson, Geert Uytterhoeven,
Nishanth Menon, nfraprado, Taniya Das, Lad Prabhakar,
Kuninori Morimoto, Eric Biggers, devicetree, linux-arm-kernel,
linux-aspeed, linux-kernel
Support for Aspeed ast27XX 8th generation Aspeed BMCs.
Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
---
arch/arm64/Kconfig.platforms | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 13173795c43d..d2746107ceca 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -47,6 +47,12 @@ config ARCH_ARTPEC
help
This enables support for the ARMv8 based ARTPEC SoC Family.
+config ARCH_ASPEED
+ bool "Aspeed SoC family"
+ help
+ Say yes if you intend to run on an Aspeed ast27XX 8th generation
+ Aspeed BMCs.
+
config ARCH_AXIADO
bool "Axiado SoC Family"
select GPIOLIB
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v7 3/5] arm64: dts: aspeed: Add initial AST27xx SoC device tree
2025-11-07 5:56 [PATCH v7 0/5] Introduce ASPEED AST27xx BMC SoC Ryan Chen
2025-11-07 5:56 ` [PATCH v7 1/5] dt-bindings: arm: aspeed: Add AST2700 board compatible Ryan Chen
2025-11-07 5:56 ` [PATCH v7 2/5] arm64: Kconfig: Add Aspeed SoC family (ast27XX) Kconfig support Ryan Chen
@ 2025-11-07 5:56 ` Ryan Chen
2025-11-07 5:56 ` [PATCH v7 4/5] arm64: dts: aspeed: Add AST2700 Evaluation Board Ryan Chen
2025-11-07 5:56 ` [PATCH v7 5/5] arm64: configs: Update defconfig for AST2700 platform support Ryan Chen
4 siblings, 0 replies; 6+ messages in thread
From: Ryan Chen @ 2025-11-07 5:56 UTC (permalink / raw)
To: ryan_chen, bmc-sw, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Joel Stanley, Andrew Jeffery, jk, Lee Jones, Catalin Marinas,
Will Deacon, Arnd Bergmann, Bjorn Andersson, Geert Uytterhoeven,
Nishanth Menon, nfraprado, Taniya Das, Lad Prabhakar,
Kuninori Morimoto, Eric Biggers, devicetree, linux-arm-kernel,
linux-aspeed, linux-kernel
Add initial device tree support for the ASPEED AST27xx family, the
8th-generation Baseboard Management Controller (BMC) SoCs.
AST27xx SOC Family
- https://www.aspeedtech.com/server_ast2700/
- https://www.aspeedtech.com/server_ast2720/
- https://www.aspeedtech.com/server_ast2750/
The AST27xx features a dual-SoC architecture consisting of two ties,
referred to as SoC0 and SoC1 - interconnected through an internal
property bus. Both SoCs share the same address decoding scheme,
while each maintains independent clock and reset domains.
- SoC0 (CPU die): contains a dual-core Cortex-A35 cluster and two
Cortex-M4 cores, along with high-speed peripherals.
- SoC1 (I/O die): includes the BootMCU (responsible for system
boot) and its own clock/reset domains low-speed peripherals.
The device tree describes the SoC0 and SoC1 domains and their peripheral
layouts.
Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
---
arch/arm64/boot/dts/aspeed/aspeed-g7-a35.dtsi | 148 ++++++++
.../boot/dts/aspeed/aspeed-g7-common.dtsi | 345 ++++++++++++++++++
2 files changed, 493 insertions(+)
create mode 100644 arch/arm64/boot/dts/aspeed/aspeed-g7-a35.dtsi
create mode 100644 arch/arm64/boot/dts/aspeed/aspeed-g7-common.dtsi
diff --git a/arch/arm64/boot/dts/aspeed/aspeed-g7-a35.dtsi b/arch/arm64/boot/dts/aspeed/aspeed-g7-a35.dtsi
new file mode 100644
index 000000000000..d43e072ba6df
--- /dev/null
+++ b/arch/arm64/boot/dts/aspeed/aspeed-g7-a35.dtsi
@@ -0,0 +1,148 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+ compatible = "aspeed,ast2700";
+ interrupt-parent = <&gic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ cpus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a35";
+ reg = <0x0 0x0>;
+ enable-method = "psci";
+ i-cache-size = <0x8000>;
+ i-cache-line-size = <64>;
+ i-cache-sets = <256>;
+ d-cache-size = <0x8000>;
+ d-cache-line-size = <64>;
+ d-cache-sets = <128>;
+ next-level-cache = <&l2>;
+ };
+
+ cpu1: cpu@1 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a35";
+ reg = <0x0 0x1>;
+ enable-method = "psci";
+ i-cache-size = <0x8000>;
+ i-cache-line-size = <64>;
+ i-cache-sets = <256>;
+ d-cache-size = <0x8000>;
+ d-cache-line-size = <64>;
+ d-cache-sets = <128>;
+ next-level-cache = <&l2>;
+ };
+
+ cpu2: cpu@2 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a35";
+ reg = <0x0 0x2>;
+ enable-method = "psci";
+ i-cache-size = <0x8000>;
+ i-cache-line-size = <64>;
+ i-cache-sets = <256>;
+ d-cache-size = <0x8000>;
+ d-cache-line-size = <64>;
+ d-cache-sets = <128>;
+ next-level-cache = <&l2>;
+ };
+
+ cpu3: cpu@3 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a35";
+ reg = <0x0 0x3>;
+ enable-method = "psci";
+ i-cache-size = <0x8000>;
+ i-cache-line-size = <64>;
+ i-cache-sets = <256>;
+ d-cache-size = <0x8000>;
+ d-cache-line-size = <64>;
+ d-cache-sets = <128>;
+ next-level-cache = <&l2>;
+ };
+
+ l2: l2-cache0 {
+ compatible = "cache";
+ cache-level = <2>;
+ cache-unified;
+ cache-size = <0x80000>;
+ cache-line-size = <64>;
+ cache-sets = <1024>;
+ };
+ };
+
+ firmware {
+ optee: optee {
+ compatible = "linaro,optee-tz";
+ method = "smc";
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ };
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ atf: trusted-firmware-a@430000000 {
+ reg = <0x4 0x30000000 0x0 0x80000>;
+ no-map;
+ };
+
+ optee_core: optee-core@430080000 {
+ reg = <0x4 0x30080000 0x0 0x1000000>;
+ no-map;
+ };
+ };
+
+ arm-pmu {
+ compatible = "arm,cortex-a35-pmu";
+ interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ 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>;
+ arm,cpu-registers-not-fw-configured;
+ always-on;
+ };
+
+ gic: interrupt-controller@12200000 {
+ compatible = "arm,gic-v3";
+ reg = <0 0x12200000 0 0x10000>, /* GICD */
+ <0 0x12280000 0 0x80000>, /* GICR */
+ <0 0x40440000 0 0x1000>; /* GICC */
+ interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
+ #interrupt-cells = <3>;
+ interrupt-controller;
+ };
+
+ soc0: bus@10000000 {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges = <0x0 0x10000000 0x0 0x10000000 0x0 0x4000000>;
+ };
+
+ soc1: bus@14000000 {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges = <0x0 0x14000000 0x0 0x14000000 0x0 0xD00000>;
+ };
+};
+
+#include "aspeed-g7-common.dtsi"
diff --git a/arch/arm64/boot/dts/aspeed/aspeed-g7-common.dtsi b/arch/arm64/boot/dts/aspeed/aspeed-g7-common.dtsi
new file mode 100644
index 000000000000..e11f41c66f6c
--- /dev/null
+++ b/arch/arm64/boot/dts/aspeed/aspeed-g7-common.dtsi
@@ -0,0 +1,345 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include <dt-bindings/clock/aspeed,ast2700-scu.h>
+#include <dt-bindings/reset/aspeed,ast2700-scu.h>
+#include <dt-bindings/interrupt-controller/aspeed-scu-ic.h>
+
+&soc0 {
+ sram0: sram@10000000 {
+ compatible = "mmio-sram";
+ reg = <0x0 0x10000000 0x0 0x20000>;
+ ranges = <0x0 0x0 0x10000000 0x20000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ soc0-sram@0 {
+ reg = <0x0 0x20000>;
+ export;
+ };
+ };
+
+ intc0_11: interrupt-controller@12101b00 {
+ compatible = "aspeed,ast2700-intc-ic";
+ reg = <0x0 0x12101b00 0x0 0x10>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ syscon0: syscon@12c02000 {
+ compatible = "aspeed,ast2700-scu0", "syscon", "simple-mfd";
+ reg = <0x0 0x12c02000 0x0 0x1000>;
+ ranges = <0x0 0x0 0x12c02000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+
+ silicon-id@0 {
+ compatible = "aspeed,ast2700-silicon-id", "aspeed,silicon-id";
+ reg = <0x0 0x4>;
+ };
+
+ scu_ic0: interrupt-controller@1d0 {
+ compatible = "aspeed,ast2700-scu-ic0";
+ reg = <0x1d0 0xc>;
+ #interrupt-cells = <1>;
+ interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-controller;
+ };
+
+ scu_ic1: interrupt-controller@1e0 {
+ compatible = "aspeed,ast2700-scu-ic1";
+ reg = <0x1e0 0xc>;
+ #interrupt-cells = <1>;
+ interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-controller;
+ };
+ };
+
+ gpio0: gpio@12c11000 {
+ #gpio-cells = <2>;
+ gpio-controller;
+ compatible = "aspeed,ast2700-gpio";
+ reg = <0x0 0x12c11000 0x0 0x1000>;
+ interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
+ ngpios = <12>;
+ clocks = <&syscon0 SCU0_CLK_APB>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ uart4: serial@12c1a000 {
+ compatible = "ns16550a";
+ reg = <0x0 0x12c1a000 0x0 0x1000>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon0 SCU0_CLK_GATE_UART4CLK>;
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+ no-loopback-test;
+ status = "disabled";
+ };
+};
+
+&soc1 {
+ sram1: sram@14b80000 {
+ compatible = "mmio-sram";
+ reg = <0x0 0x14b80000 0x0 0x40000>;
+ ranges = <0x0 0x0 0x14b80000 0x40000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ soc1-sram@0 {
+ reg = <0x0 0x40000>;
+ export;
+ };
+ };
+
+ syscon1: syscon@14c02000 {
+ compatible = "aspeed,ast2700-scu1", "syscon", "simple-mfd";
+ reg = <0x0 0x14c02000 0x0 0x1000>;
+ ranges = <0x0 0x0 0x14c02000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+
+ scu_ic2: interrupt-controller@100 {
+ compatible = "aspeed,ast2700-scu-ic2";
+ reg = <0x100 0x8>;
+ #interrupt-cells = <1>;
+ interrupts-extended = <&intc1_5 0>;
+ interrupt-controller;
+ };
+
+ scu_ic3: interrupt-controller@108 {
+ compatible = "aspeed,ast2700-scu-ic3";
+ reg = <0x108 0x8>;
+ #interrupt-cells = <1>;
+ interrupts-extended = <&intc1_5 26>;
+ interrupt-controller;
+ };
+ };
+
+ gpio1: gpio@14c0b000 {
+ #gpio-cells = <2>;
+ gpio-controller;
+ compatible = "aspeed,ast2700-gpio";
+ reg = <0x0 0x14c0b000 0x0 0x1000>;
+ interrupts-extended = <&intc1_2 18>;
+ ngpios = <216>;
+ clocks = <&syscon1 SCU1_CLK_AHB>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ intc1_0: interrupt-controller@14c18100 {
+ compatible = "aspeed,ast2700-intc-ic";
+ reg = <0x0 0x14c18100 0x0 0x10>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ interrupts-extended = <&intc0_11 0>;
+ };
+
+ intc1_1: interrupt-controller@14c18110 {
+ compatible = "aspeed,ast2700-intc-ic";
+ reg = <0x0 0x14c18110 0x0 0x10>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ interrupts-extended = <&intc0_11 1>;
+ };
+
+ intc1_2: interrupt-controller@14c18120 {
+ compatible = "aspeed,ast2700-intc-ic";
+ reg = <0x0 0x14c18120 0x0 0x10>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ interrupts-extended = <&intc0_11 2>;
+ };
+
+ intc1_3: interrupt-controller@14c18130 {
+ compatible = "aspeed,ast2700-intc-ic";
+ reg = <0x0 0x14c18130 0x0 0x10>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ interrupts-extended = <&intc0_11 3>;
+ };
+
+ intc1_4: interrupt-controller@14c18140 {
+ compatible = "aspeed,ast2700-intc-ic";
+ reg = <0x0 0x14c18140 0x0 0x10>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ interrupts-extended = <&intc0_11 4>;
+ };
+
+ intc1_5: interrupt-controller@14c18150 {
+ compatible = "aspeed,ast2700-intc-ic";
+ reg = <0x0 0x14c18150 0x0 0x10>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ interrupts-extended = <&intc0_11 5>;
+ };
+
+ uart0: serial@14c33000 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33000 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_GATE_UART0CLK>;
+ interrupts-extended = <&intc1_4 7>;
+ no-loopback-test;
+ status = "disabled";
+ };
+
+ uart1: serial@14c33100 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33100 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_GATE_UART1CLK>;
+ interrupts-extended = <&intc1_4 8>;
+ no-loopback-test;
+ status = "disabled";
+ };
+
+ uart2: serial@14c33200 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33200 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_GATE_UART2CLK>;
+ interrupts-extended = <&intc1_4 9>;
+ no-loopback-test;
+ status = "disabled";
+ };
+
+ uart3: serial@14c33300 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33300 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_GATE_UART3CLK>;
+ interrupts-extended = <&intc1_4 10>;
+ no-loopback-test;
+ status = "disabled";
+ };
+
+ uart5: serial@14c33400 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33400 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_GATE_UART5CLK>;
+ interrupts-extended = <&intc1_4 11>;
+ no-loopback-test;
+ status = "disabled";
+ };
+
+ uart6: serial@14c33500 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33500 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_GATE_UART6CLK>;
+ interrupts-extended = <&intc1_4 12>;
+ no-loopback-test;
+ status = "disabled";
+ };
+
+ uart7: serial@14c33600 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33600 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_GATE_UART7CLK>;
+ interrupts-extended = <&intc1_4 13>;
+ no-loopback-test;
+ status = "disabled";
+ };
+
+ uart8: serial@14c33700 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33700 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_GATE_UART8CLK>;
+ interrupts-extended = <&intc1_4 14>;
+ no-loopback-test;
+ status = "disabled";
+ };
+
+ uart9: serial@14c33800 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33800 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_GATE_UART9CLK>;
+ interrupts-extended = <&intc1_4 15>;
+ no-loopback-test;
+ status = "disabled";
+ };
+
+ uart10: serial@14c33900 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33900 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_GATE_UART10CLK>;
+ interrupts-extended = <&intc1_4 16>;
+ no-loopback-test;
+ status = "disabled";
+ };
+
+ uart11: serial@14c33a00 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33a00 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_GATE_UART11CLK>;
+ interrupts-extended = <&intc1_4 17>;
+ no-loopback-test;
+ status = "disabled";
+ };
+
+ uart12: serial@14c33b00 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33b00 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_GATE_UART12CLK>;
+ interrupts-extended = <&intc1_4 18>;
+ no-loopback-test;
+ status = "disabled";
+ };
+
+ uart13: serial@14c33c00 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33c00 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_UART13>;
+ interrupts-extended = <&intc1_0 23>;
+ no-loopback-test;
+ status = "disabled";
+ };
+
+ uart14: serial@14c33d00 {
+ compatible = "ns16550a";
+ reg = <0x0 0x14c33d00 0x0 0x100>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clocks = <&syscon1 SCU1_CLK_UART14>;
+ interrupts-extended = <&intc1_1 23>;
+ no-loopback-test;
+ status = "disabled";
+ };
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v7 4/5] arm64: dts: aspeed: Add AST2700 Evaluation Board
2025-11-07 5:56 [PATCH v7 0/5] Introduce ASPEED AST27xx BMC SoC Ryan Chen
` (2 preceding siblings ...)
2025-11-07 5:56 ` [PATCH v7 3/5] arm64: dts: aspeed: Add initial AST27xx SoC device tree Ryan Chen
@ 2025-11-07 5:56 ` Ryan Chen
2025-11-07 5:56 ` [PATCH v7 5/5] arm64: configs: Update defconfig for AST2700 platform support Ryan Chen
4 siblings, 0 replies; 6+ messages in thread
From: Ryan Chen @ 2025-11-07 5:56 UTC (permalink / raw)
To: ryan_chen, bmc-sw, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Joel Stanley, Andrew Jeffery, jk, Lee Jones, Catalin Marinas,
Will Deacon, Arnd Bergmann, Bjorn Andersson, Geert Uytterhoeven,
Nishanth Menon, nfraprado, Taniya Das, Lad Prabhakar,
Kuninori Morimoto, Eric Biggers, devicetree, linux-arm-kernel,
linux-aspeed, linux-kernel
ASPEED AST2700 EVB is prototype development board based
on AST2700 SOC.
Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
---
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/aspeed/Makefile | 4 ++++
arch/arm64/boot/dts/aspeed/ast2700-evb.dts | 26 ++++++++++++++++++++++
3 files changed, 31 insertions(+)
create mode 100644 arch/arm64/boot/dts/aspeed/Makefile
create mode 100644 arch/arm64/boot/dts/aspeed/ast2700-evb.dts
diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
index b0844404eda1..5b8fbf5b1061 100644
--- a/arch/arm64/boot/dts/Makefile
+++ b/arch/arm64/boot/dts/Makefile
@@ -9,6 +9,7 @@ subdir-y += amlogic
subdir-y += apm
subdir-y += apple
subdir-y += arm
+subdir-y += aspeed
subdir-y += axiado
subdir-y += bitmain
subdir-y += blaize
diff --git a/arch/arm64/boot/dts/aspeed/Makefile b/arch/arm64/boot/dts/aspeed/Makefile
new file mode 100644
index 000000000000..ffe7e15017cc
--- /dev/null
+++ b/arch/arm64/boot/dts/aspeed/Makefile
@@ -0,0 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0
+
+dtb-$(CONFIG_ARCH_ASPEED) += \
+ ast2700-evb.dtb
diff --git a/arch/arm64/boot/dts/aspeed/ast2700-evb.dts b/arch/arm64/boot/dts/aspeed/ast2700-evb.dts
new file mode 100644
index 000000000000..9a5dbb4d9002
--- /dev/null
+++ b/arch/arm64/boot/dts/aspeed/ast2700-evb.dts
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/dts-v1/;
+#include "aspeed-g7-a35.dtsi"
+
+/ {
+ model = "AST2700 EVB";
+ compatible = "aspeed,ast2700-evb", "aspeed,ast2700";
+
+ aliases {
+ serial0 = &uart12; /* console port */
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ memory@400000000 {
+ device_type = "memory";
+ reg = <0x4 0x00000000 0x0 0x40000000>;
+ };
+};
+
+&uart12 {
+ status = "okay";
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v7 5/5] arm64: configs: Update defconfig for AST2700 platform support
2025-11-07 5:56 [PATCH v7 0/5] Introduce ASPEED AST27xx BMC SoC Ryan Chen
` (3 preceding siblings ...)
2025-11-07 5:56 ` [PATCH v7 4/5] arm64: dts: aspeed: Add AST2700 Evaluation Board Ryan Chen
@ 2025-11-07 5:56 ` Ryan Chen
4 siblings, 0 replies; 6+ messages in thread
From: Ryan Chen @ 2025-11-07 5:56 UTC (permalink / raw)
To: ryan_chen, bmc-sw, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Joel Stanley, Andrew Jeffery, jk, Lee Jones, Catalin Marinas,
Will Deacon, Arnd Bergmann, Bjorn Andersson, Geert Uytterhoeven,
Nishanth Menon, nfraprado, Taniya Das, Lad Prabhakar,
Kuninori Morimoto, Eric Biggers, devicetree, linux-arm-kernel,
linux-aspeed, linux-kernel
Cc: Krzysztof Kozlowski
Enable options for ASPEED AST2700 SoC.
Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index e3a2d37bd104..ca2978dd1ccc 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -39,6 +39,7 @@ CONFIG_ARCH_SUNXI=y
CONFIG_ARCH_ALPINE=y
CONFIG_ARCH_APPLE=y
CONFIG_ARCH_ARTPEC=y
+CONFIG_ARCH_ASPEED=y
CONFIG_ARCH_AXIADO=y
CONFIG_ARCH_BCM=y
CONFIG_ARCH_BCM2835=y
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-11-07 5:57 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-07 5:56 [PATCH v7 0/5] Introduce ASPEED AST27xx BMC SoC Ryan Chen
2025-11-07 5:56 ` [PATCH v7 1/5] dt-bindings: arm: aspeed: Add AST2700 board compatible Ryan Chen
2025-11-07 5:56 ` [PATCH v7 2/5] arm64: Kconfig: Add Aspeed SoC family (ast27XX) Kconfig support Ryan Chen
2025-11-07 5:56 ` [PATCH v7 3/5] arm64: dts: aspeed: Add initial AST27xx SoC device tree Ryan Chen
2025-11-07 5:56 ` [PATCH v7 4/5] arm64: dts: aspeed: Add AST2700 Evaluation Board Ryan Chen
2025-11-07 5:56 ` [PATCH v7 5/5] arm64: configs: Update defconfig for AST2700 platform support Ryan Chen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).