[PATCH 1/7] dt-bindings: soc: aspeed: Add AST2600 eSPI controller

aspeedyh
2026-03-13T10:08:52Z

Introduce the device-tree bindings for the Enhanced Serial
Peripheral Interface (eSPI) controller found on AST2600
BMC SoCs.

The controller operates as the BMC-side eSPI slave and provides the
peripheral, virtual wire, out-of-band, and flash channels used for
host-BMC communication.

Signed-off-by: aspeedyh <yh_chung@aspeedtech.com>
---
.../bindings/soc/aspeed/aspeed,ast2600-espi.yaml | 74 ++++++++++++++++++++++
1 file changed, 74 insertions(+)

diff --git a/Documentation/devicetree/bindings/soc/aspeed/aspeed,ast2600-espi.yaml b/Documentation/devicetree/bindings/soc/aspeed/aspeed,ast2600-espi.yaml
new file mode 100644
index 000000000000..e22a10111138
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/aspeed/aspeed,ast2600-espi.yaml
@@ -0,0 +1,74 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (c) 2026 Aspeed Technology Inc.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/aspeed/aspeed,ast2600-espi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ASPEED AST2600 eSPI Controller
+
+maintainers:
+ - Yun-Hsuan Chung <yh_chung@aspeedtech.com>
+ - Ryan Chen <ryan_chen@aspeedtech.com>
+
+description: |
+ The ASPEED AST2600 BMC SoC provides an Enhanced Serial Peripheral
+ Interface (eSPI) controller used for host-BMC communication.
+
+ The controller supports the eSPI channels used for peripheral,
+ virtual wire, out-of-band, and flash communication.
+
+properties:
+ compatible:
+ const: aspeed,ast2600-espi
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+ description:
+ Interrupt from the GIC for the eSPI controller.
+
+ clocks:
+ maxItems: 1
+
+ resets:
+ maxItems: 1
+
+ pinctrl-names:
+ const: default
+
+ pinctrl-0:
+ maxItems: 1
+
+ aspeed,flash-dma-mode:
+ type: boolean
+ description:
+ Enable DMA support for eSPI flash channel
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - resets
+ - pinctrl-names
+ - pinctrl-0
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/aspeed-clock.h>
+ espi: espi@1e6ee000 {
+ compatible = "aspeed,ast2600-espi";
+ reg = <0x1e6ee000 0x1000>;
+ interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&syscon ASPEED_CLK_GATE_ESPICLK>;
+ resets = <&syscon 57>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_espi_default>;
+ aspeed,flash-dma-mode;
+ };

--
2.34.1