On Fri, Nov 12, 2021 at 02:16:05PM +0530, Shubhrajyoti Datta wrote: > Convert the ipi doc to yaml. > > Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xxxxxxxxxx> > --- > v2: > Fix the warnings reported by Rob > > .../mailbox/xlnx,zynqmp-ipi-mailbox.txt | 127 ------------------ > .../mailbox/xlnx,zynqmp-ipi-mailbox.yaml | 63 +++++++++ > 2 files changed, 63 insertions(+), 127 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt > create mode 100644 Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml > > diff --git a/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt b/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt > deleted file mode 100644 > index ad76edccf881..000000000000 > --- a/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt > +++ /dev/null > @@ -1,127 +0,0 @@ > -Xilinx IPI Mailbox Controller > -======================================== > - > -The Xilinx IPI(Inter Processor Interrupt) mailbox controller is to manage > -messaging between two Xilinx Zynq UltraScale+ MPSoC IPI agents. Each IPI > -agent owns registers used for notification and buffers for message. > - > - +-------------------------------------+ > - | Xilinx ZynqMP IPI Controller | > - +-------------------------------------+ > - +--------------------------------------------------+ > -ATF | | > - | | > - | | > - +--------------------------+ | > - | | > - | | > - +--------------------------------------------------+ > - +------------------------------------------+ > - | +----------------+ +----------------+ | > -Hardware | | IPI Agent | | IPI Buffers | | > - | | Registers | | | | > - | | | | | | > - | +----------------+ +----------------+ | > - | | > - | Xilinx IPI Agent Block | > - +------------------------------------------+ > - > - > -Controller Device Node: > -=========================== > -Required properties: > --------------------- > -IPI agent node: > -- compatible: Shall be: "xlnx,zynqmp-ipi-mailbox" > -- interrupt-parent: Phandle for the interrupt controller > -- interrupts: Interrupt information corresponding to the > - interrupt-names property. > -- xlnx,ipi-id: local Xilinx IPI agent ID > -- #address-cells: number of address cells of internal IPI mailbox nodes > -- #size-cells: number of size cells of internal IPI mailbox nodes > - > -Internal IPI mailbox node: > -- reg: IPI buffers address ranges > -- reg-names: Names of the reg resources. It should have: > - * local_request_region > - - IPI request msg buffer written by local and read > - by remote > - * local_response_region > - - IPI response msg buffer written by local and read > - by remote > - * remote_request_region > - - IPI request msg buffer written by remote and read > - by local > - * remote_response_region > - - IPI response msg buffer written by remote and read > - by local > -- #mbox-cells: Shall be 1. It contains: > - * tx(0) or rx(1) channel > -- xlnx,ipi-id: remote Xilinx IPI agent ID of which the mailbox is > - connected to. > - > -Optional properties: > --------------------- > -- method: The method of accessing the IPI agent registers. > - Permitted values are: "smc" and "hvc". Default is > - "smc". > - > -Client Device Node: > -=========================== > -Required properties: > --------------------- > -- mboxes: Standard property to specify a mailbox > - (See ./mailbox.txt) > -- mbox-names: List of identifier strings for each mailbox > - channel. > - > -Example: > -=========================== > - zynqmp_ipi { > - compatible = "xlnx,zynqmp-ipi-mailbox"; > - interrupt-parent = <&gic>; > - interrupts = <0 29 4>; > - xlnx,ipi-id = <0>; > - #address-cells = <1>; > - #size-cells = <1>; > - ranges; > - > - /* APU<->RPU0 IPI mailbox controller */ > - ipi_mailbox_rpu0: mailbox@ff990400 { > - reg = <0xff990400 0x20>, > - <0xff990420 0x20>, > - <0xff990080 0x20>, > - <0xff9900a0 0x20>; > - reg-names = "local_request_region", > - "local_response_region", > - "remote_request_region", > - "remote_response_region"; > - #mbox-cells = <1>; > - xlnx,ipi-id = <1>; > - }; > - /* APU<->RPU1 IPI mailbox controller */ > - ipi_mailbox_rpu1: mailbox@ff990440 { > - reg = <0xff990440 0x20>, > - <0xff990460 0x20>, > - <0xff990280 0x20>, > - <0xff9902a0 0x20>; > - reg-names = "local_request_region", > - "local_response_region", > - "remote_request_region", > - "remote_response_region"; > - #mbox-cells = <1>; > - xlnx,ipi-id = <2>; > - }; > - }; > - rpu0 { > - ... > - mboxes = <&ipi_mailbox_rpu0 0>, > - <&ipi_mailbox_rpu0 1>; > - mbox-names = "tx", "rx"; > - }; > - rpu1 { > - ... > - mboxes = <&ipi_mailbox_rpu1 0>, > - <&ipi_mailbox_rpu1 1>; > - mbox-names = "tx", "rx"; > - }; > diff --git a/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml b/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml > new file mode 100644 > index 000000000000..8019a7b294ef > --- /dev/null > +++ b/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml > @@ -0,0 +1,63 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/mailbox/xlnx,zynqmp-ipi-mailbox.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: Xilinx IPI Mailbox controller bindings > + > +description: > + The Xilinx IPI(Inter Processor Interrupt) mailbox controller is to manage > + messaging between two Xilinx Zynq UltraScale+ MPSoC IPI agents. Each IPI > + agent owns registers used for notification and buffers for message. > + > +maintainers: > + - Shubhrajyoti Datta <shubhrajyoti.datta@xxxxxxxxxx> > + > +properties: > + compatible: > + const: xlnx,zynqmp-ipi-mailbox > + > + reg: > + maxItems: 4 > + > + interrupts: > + maxItems: 1 > + > + "#mbox-cells": > + const: 1 > + > + xlnx,ipi-id: > + description: Xilinx IPI agent id > + $ref: /schemas/types.yaml#/definitions/uint32 > + > +required: > + - compatible > + - xlnx,ipi-id > + - interrupts > + > +additionalProperties: false > + > +examples: > + - | > + zynqmp_ipi { > + compatible = "xlnx,zynqmp-ipi-mailbox"; > + interrupt-parent = <&gic>; > + interrupts = <0 29 4>; > + xlnx,ipi-id = <0>; > + }; > + > + /* Client node APU<->RPU0 IPI mailbox controller */ > + ipi_mailbox_rpu0: mailbox@ff990400 { > + reg = <0xff990400 0x20>, > + <0xff990420 0x20>, > + <0xff990080 0x20>, > + <0xff9900a0 0x20>; > + reg-names = "local_request_region", > + "local_response_region", > + "remote_request_region", > + "remote_response_region"; > + #mbox-cells = <1>; > + xlnx,ipi-id = <1>; > + }; This doesn't match the original example nor the schema. And also the actual dts files based on dtbs_check... Rob