Re: [PATCH v2] dt-bindings: mailbox: zynqmp_ipi: convert to yaml

From: Rob Herring
Date: Sun Nov 28 2021 - 20:48:45 EST


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