Re: [PATCH RFC 04/18] dt-bindings: mailbox: add the A210 AP to E902 doorbell
From: Conor Dooley
Date: Thu Oct 29 2026 - 15:50:55 EST
On Tue, Oct 27, 2026 at 11:36:55PM +0800, Han Gao via B4 Relay wrote:
> 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
Why is the number of elements ever variable?
> + 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.
Whitespace is missing here generally, a blank line between properties
please.
pw-bot: changes-requested
Cheers,
Conor.
> +
> +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
>
>
Attachment:
signature.asc
Description: PGP signature