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@amd.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
75 additionalProperties: false
79 const: xlnx,zynqmp-ipi-dest-mailbox
83 Remote Xilinx IPI agent ID of which the mailbox is connected to.
84 $ref: /schemas/types.yaml#/definitions/uint32
89 It contains tx(0) or rx(1) channel IPI id number.
96 - const: local_request_region
97 - const: local_response_region
98 - const: remote_request_region
99 - const: remote_response_region
107 additionalProperties: false
118 #include<dt-bindings/interrupt-controller/arm-gic.h>
121 #address-cells = <0x2>;
124 compatible = "xlnx,zynqmp-ipi-mailbox";
125 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
127 #address-cells = <2>;
131 mailbox: mailbox@ff9905c0 {
132 compatible = "xlnx,zynqmp-ipi-dest-mailbox";
133 reg = <0x0 0xff9905c0 0x0 0x20>,
134 <0x0 0xff9905e0 0x0 0x20>,
135 <0x0 0xff990e80 0x0 0x20>,
136 <0x0 0xff990ea0 0x0 0x20>;
137 reg-names = "local_request_region",
138 "local_response_region",
139 "remote_request_region",
140 "remote_response_region";