1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: "http://devicetree.org/schemas/mailbox/xlnx,zynqmp-ipi-mailbox.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
7 title: Xilinx IPI(Inter Processor Interrupt) mailbox controller
10 The Xilinx IPI(Inter Processor Interrupt) mailbox controller is to manage
11 messaging between two Xilinx Zynq UltraScale+ MPSoC IPI agents. Each IPI
12 agent owns registers used for notification and buffers for message.
14 +-------------------------------------+
15 | Xilinx ZynqMP IPI Controller |
16 +-------------------------------------+
17 +--------------------------------------------------+
21 +--------------------------+ |
24 +--------------------------------------------------+
25 +------------------------------------------+
26 | +----------------+ +----------------+ |
27 Hardware | | IPI Agent | | IPI Buffers | |
30 | +----------------+ +----------------+ |
32 | Xilinx IPI Agent Block |
33 +------------------------------------------+
36 - Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
40 const: xlnx,zynqmp-ipi-mailbox
44 The method of calling the PM-API firmware layer.
46 - "smc" : SMC #0, following the SMCCC
47 - "hvc" : HVC #0, following the SMCCC
49 $ref: /schemas/types.yaml#/definitions/string
63 Remote Xilinx IPI agent ID of which the mailbox is connected to.
64 $ref: /schemas/types.yaml#/definitions/uint32
72 '^mailbox@[0-9a-f]+$':
73 description: Internal ipi mailbox node
74 type: object # DT nodes are json objects
78 Remote Xilinx IPI agent ID of which the mailbox is connected to.
79 $ref: /schemas/types.yaml#/definitions/uint32
84 It contains tx(0) or rx(1) channel IPI id number.
91 - const: local_request_region
92 - const: local_response_region
93 - const: remote_request_region
94 - const: remote_response_region
101 additionalProperties: false
112 #include<dt-bindings/interrupt-controller/arm-gic.h>
115 #address-cells = <0x2>;
118 compatible = "xlnx,zynqmp-ipi-mailbox";
119 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
121 #address-cells = <2>;
125 mailbox: mailbox@ff9905c0 {
126 reg = <0x0 0xff9905c0 0x0 0x20>,
127 <0x0 0xff9905e0 0x0 0x20>,
128 <0x0 0xff990e80 0x0 0x20>,
129 <0x0 0xff990ea0 0x0 0x20>;
130 reg-names = "local_request_region",
131 "local_response_region",
132 "remote_request_region",
133 "remote_response_region";