1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: "http://devicetree.org/schemas/mailbox/xlnx,zynqmp-ipi-mailbox.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7 title: Xilinx IPI(Inter Processor Interrupt) mailbox controller
8
9 description: |
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.
13
14 +-------------------------------------+
15 | Xilinx ZynqMP IPI Controller |
16 +-------------------------------------+
17 +--------------------------------------------------+
18 TF-A | |
19 | |
20 | |
21 +--------------------------+ |
22 | |
23 | |
24 +--------------------------------------------------+
25 +------------------------------------------+
26 | +----------------+ +----------------+ |
27 Hardware | | IPI Agent | | IPI Buffers | |
28 | | Registers | | | |
29 | | | | | |
30 | +----------------+ +----------------+ |
31 | |
32 | Xilinx IPI Agent Block |
33 +------------------------------------------+
34
35 maintainers:
36 - Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
37
38 properties:
39 compatible:
40 const: xlnx,zynqmp-ipi-mailbox
41
42 method:
43 description: |
44 The method of calling the PM-API firmware layer.
45 Permitted values are.
46 - "smc" : SMC #0, following the SMCCC
47 - "hvc" : HVC #0, following the SMCCC
48
49 $ref: /schemas/types.yaml#/definitions/string
50 enum:
51 - smc
52 - hvc
53 default: smc
54
55 '#address-cells':
56 const: 2
57
58 '#size-cells':
59 const: 2
60
61 xlnx,ipi-id:
62 description: |
63 Remote Xilinx IPI agent ID of which the mailbox is connected to.
64 $ref: /schemas/types.yaml#/definitions/uint32
65
66 interrupts:
67 maxItems: 1
68
69 ranges: true
70
71 patternProperties:
72 '^mailbox@[0-9a-f]+$':
73 description: Internal ipi mailbox node
74 type: object # DT nodes are json objects
75 properties:
76 xlnx,ipi-id:
77 description:
78 Remote Xilinx IPI agent ID of which the mailbox is connected to.
79 $ref: /schemas/types.yaml#/definitions/uint32
80
81 '#mbox-cells':
82 const: 1
83 description:
84 It contains tx(0) or rx(1) channel IPI id number.
85
86 reg:
87 maxItems: 4
88
89 reg-names:
90 items:
91 - const: local_request_region
92 - const: local_response_region
93 - const: remote_request_region
94 - const: remote_response_region
95
96 required:
97 - reg
98 - reg-names
99 - "#mbox-cells"
100
101 additionalProperties: false
102
103 required:
104 - compatible
105 - interrupts
106 - '#address-cells'
107 - '#size-cells'
108 - xlnx,ipi-id
109
110 examples:
111 - |
112 #include<dt-bindings/interrupt-controller/arm-gic.h>
113
114 amba {
115 #address-cells = <0x2>;
116 #size-cells = <0x2>;
117 zynqmp-mailbox {
118 compatible = "xlnx,zynqmp-ipi-mailbox";
119 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
120 xlnx,ipi-id = <0>;
121 #address-cells = <2>;
122 #size-cells = <2>;
123 ranges;
124
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";
134 #mbox-cells = <1>;
135 xlnx,ipi-id = <4>;
136 };
137 };
138 };
139
140 ...
Cache object: 843c8b9f0019e636e7f882653573f0c8
|