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

Conor Dooley conor at kernel.org
Thu Oct 29 12:50:27 PDT 2026


On Tue, Oct 27, 2026 at 11:36:55PM +0800, Han Gao via B4 Relay wrote:
> 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

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 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
> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20261029/93b8da19/attachment.sig>


More information about the linux-arm-kernel mailing list