From 5e80d2b8ecd02d1440adbe33e7aa2f6665559e58 Mon Sep 17 00:00:00 2001 From: "Rob Herring (Arm)" Date: Thu, 1 Oct 2026 18:05:46 -0500 Subject: [PATCH] dt-bindings: mailbox: Convert hisilicon,hi6220-mbox to DT schema Convert the hisilicon,hi6220-mbox binding to DT schema format. It's a straight forward conversion. Assisted-by: LLM Signed-off-by: Rob Herring (Arm) Signed-off-by: Jassi Brar --- .../mailbox/hisilicon,hi6220-mailbox.txt | 74 ------------------- .../mailbox/hisilicon,hi6220-mbox.yaml | 63 ++++++++++++++++ 2 files changed, 63 insertions(+), 74 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mailbox/hisilicon,hi6220-mailbox.txt create mode 100644 Documentation/devicetree/bindings/mailbox/hisilicon,hi6220-mbox.yaml diff --git a/Documentation/devicetree/bindings/mailbox/hisilicon,hi6220-mailbox.txt b/Documentation/devicetree/bindings/mailbox/hisilicon,hi6220-mailbox.txt deleted file mode 100644 index 044b17f3a77a..000000000000 --- a/Documentation/devicetree/bindings/mailbox/hisilicon,hi6220-mailbox.txt +++ /dev/null @@ -1,74 +0,0 @@ -Hisilicon Hi6220 Mailbox Driver -=============================== - -Hisilicon Hi6220 mailbox supports up to 32 channels. Each channel -is unidirectional with a maximum message size of 8 words. I/O is -performed using register access (there is no DMA) and the cell -raises an interrupt when messages are received. - -Mailbox Device Node: -==================== - -Required properties: --------------------- -- compatible: Shall be "hisilicon,hi6220-mbox" -- reg: Contains the mailbox register address range (base - address and length); the first item is for IPC - registers, the second item is shared buffer for - slots. -- #mbox-cells: Common mailbox binding property to identify the number - of cells required for the mailbox specifier. Must be 3. - <&phandle slot_id dst_irq ack_irq> - phandle: Label name of mailbox controller - slot_id: Slot id used either for TX or RX - dst_irq: IRQ identifier index number which used by MCU - ack_irq: IRQ identifier index number with generating a - TX/RX interrupt to application processor, - mailbox driver uses it to acknowledge interrupt -- interrupts: Contains the interrupt information for the mailbox - device. The format is dependent on which interrupt - controller the SoCs use. - -Optional Properties: --------------------- -- hi6220,mbox-tx-noirq: Property of MCU firmware's feature, so mailbox driver - use this flag to ask MCU to enable "automatic idle - flag" mode or IRQ generated mode to acknowledge a TX - completion. - -Example: --------- - - mailbox: mailbox@f7510000 { - compatible = "hisilicon,hi6220-mbox"; - reg = <0x0 0xf7510000 0x0 0x1000>, /* IPC_S */ - <0x0 0x06dff800 0x0 0x0800>; /* Mailbox */ - interrupt-parent = <&gic>; - interrupts = ; - #mbox-cells = <3>; - }; - - -Mailbox client -=============== - -Required properties: --------------------- -- compatible: Many (See the client docs). -- mboxes: Standard property to specify a Mailbox (See ./mailbox.txt) - Cells must match 'mbox-cells' (See Mailbox Device Node above). - -Optional Properties: --------------------- -- mbox-names: Name given to channels seen in the 'mboxes' property. - -Example: --------- - - stub_clock: stub_clock { - compatible = "hisilicon,hi6220-stub-clk"; - hisilicon,hi6220-clk-sram = <&sram>; - #clock-cells = <1>; - mbox-names = "mbox-tx", "mbox-rx"; - mboxes = <&mailbox 1 0 11>, <&mailbox 0 1 10>; - }; diff --git a/Documentation/devicetree/bindings/mailbox/hisilicon,hi6220-mbox.yaml b/Documentation/devicetree/bindings/mailbox/hisilicon,hi6220-mbox.yaml new file mode 100644 index 000000000000..f4c8f1f29baa --- /dev/null +++ b/Documentation/devicetree/bindings/mailbox/hisilicon,hi6220-mbox.yaml @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mailbox/hisilicon,hi6220-mbox.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Hisilicon Hi6220 Mailbox Controller + +maintainers: + - Wei Xu + +description: + Hisilicon Hi6220 mailbox supports up to 32 channels. Each channel is + unidirectional with a maximum message size of 8 words. I/O is performed using + register access (there is no DMA) and the cell raises an interrupt when + messages are received. + +properties: + compatible: + const: hisilicon,hi6220-mbox + + reg: + items: + - description: IPC registers + - description: Shared buffer for mailbox slots + + interrupts: + maxItems: 1 + + "#mbox-cells": + const: 3 + description: > + The cells content are as follows: + - Slot number + - Remote destination interrupt vector + - Local ack interrupt vector + + hi6220,mbox-tx-noirq: + description: + Flag to request MCU to enable automatic idle flag mode instead of IRQ for + TX completion. + type: boolean + +required: + - compatible + - reg + - interrupts + - "#mbox-cells" + +additionalProperties: false + +examples: + - | + #include + #include + + mailbox@f7510000 { + compatible = "hisilicon,hi6220-mbox"; + reg = <0xf7510000 0x1000>, + <0x06dff800 0x0800>; + interrupts = ; + #mbox-cells = <3>; + };