[PATCH RFC 04/18] dt-bindings: mailbox: add the A210 AP to E902 doorbell
From: Han Gao via B4 Relay
Date: Tue Oct 27 2026 - 11:49:28 EST
From: Han Gao <gaohan@xxxxxxxxxxx>
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@xxxxxxxxxxx>
---
.../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@xxxxxxxxxxx>
+
+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@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