[PATCH RFC 04/18] dt-bindings: mailbox: add the A210 AP to E902 doorbell

Han Gao via B4 Relay devnull+gaohan.iscas.ac.cn at kernel.org
Tue Oct 27 08:36:55 PDT 2026


From: Han Gao <gaohan at iscas.ac.cn>

Describe the AP doorbell and optional endpoint clocks. Firmware may keep
the clocks enabled before the SCMI transport is available. An optional
E902 to AP data bank identifies a second, receive-only notification
channel sharing the doorbell interrupt.

Signed-off-by: Han Gao <gaohan at iscas.ac.cn>
---
 .../bindings/mailbox/zhihe,a210-ap-mailbox.yaml    | 76 ++++++++++++++++++++++
 1 file changed, 76 insertions(+)

diff --git a/Documentation/devicetree/bindings/mailbox/zhihe,a210-ap-mailbox.yaml b/Documentation/devicetree/bindings/mailbox/zhihe,a210-ap-mailbox.yaml
new file mode 100644
index 000000000000..4541750223eb
--- /dev/null
+++ b/Documentation/devicetree/bindings/mailbox/zhihe,a210-ap-mailbox.yaml
@@ -0,0 +1,76 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mailbox/zhihe,a210-ap-mailbox.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Zhihe A210 application processor to E902 doorbell
+
+maintainers:
+  - Han Gao <gaohan at iscas.ac.cn>
+
+description: |
+  The A210 exposes a bidirectional notification channel between the
+  application processors and E902 firmware. Payloads and transaction
+  completion are managed by the client using shared memory. The firmware
+  initializes the remote endpoint before the application processor binds.
+  When firmware manages the endpoint clocks and keeps them running, omit
+  clocks and clock-names to avoid a dependency on services using this mailbox.
+
+properties:
+  compatible:
+    const: zhihe,a210-ap-mailbox
+  reg:
+    minItems: 2
+    items:
+      - description: Application processor interrupt status and control
+      - description: Remote E902 notification channel
+      - description:
+          E902 to application processor channel data, which identifies the
+          channel that raised the shared interrupt
+  reg-names:
+    minItems: 2
+    items:
+      - const: interrupt
+      - const: tx
+      - const: rx
+  interrupts:
+    maxItems: 1
+  clocks:
+    items:
+      - description: Application processor mailbox clock
+      - description: E902 mailbox clock
+  clock-names:
+    items:
+      - const: local
+      - const: remote
+  '#mbox-cells':
+    const: 1
+    description: |
+      Channel index. Channel 0 carries requests to E902 and their completion.
+      Channel 1 receives E902 notifications and requires the rx region.
+
+required:
+  - compatible
+  - reg
+  - reg-names
+  - interrupts
+  - '#mbox-cells'
+
+additionalProperties: false
+
+dependentRequired:
+  clocks: [clock-names]
+  clock-names: [clocks]
+
+examples:
+  - |
+    mailbox at 321000 {
+        compatible = "zhihe,a210-ap-mailbox";
+        reg = <0x321000 0x1000>, <0x311000 0x1000>, <0x320000 0x1000>;
+        reg-names = "interrupt", "tx", "rx";
+        clocks = <&clk 0>, <&clk 1>;
+        clock-names = "local", "remote";
+        #mbox-cells = <1>;
+        interrupts = <336 4>;
+    };

-- 
2.55.0





More information about the linux-arm-kernel mailing list