Commit | Line | Data |
---|---|---|
4a855a95 SD |
1 | # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
2 | %YAML 1.2 | |
3 | --- | |
68b8960a RH |
4 | $id: http://devicetree.org/schemas/mailbox/xlnx,zynqmp-ipi-mailbox.yaml# |
5 | $schema: http://devicetree.org/meta-schemas/core.yaml# | |
4a855a95 SD |
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: | |
d5c421d2 | 36 | - Shubhrajyoti Datta <shubhrajyoti.datta@amd.com> |
4a855a95 SD |
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 | |
e62fc182 | 75 | additionalProperties: false |
4a855a95 | 76 | properties: |
81186dc1 TS |
77 | |
78 | compatible: | |
79 | const: xlnx,zynqmp-ipi-dest-mailbox | |
80 | ||
4a855a95 SD |
81 | xlnx,ipi-id: |
82 | description: | |
83 | Remote Xilinx IPI agent ID of which the mailbox is connected to. | |
84 | $ref: /schemas/types.yaml#/definitions/uint32 | |
85 | ||
86 | '#mbox-cells': | |
87 | const: 1 | |
88 | description: | |
89 | It contains tx(0) or rx(1) channel IPI id number. | |
90 | ||
91 | reg: | |
92 | maxItems: 4 | |
93 | ||
94 | reg-names: | |
95 | items: | |
96 | - const: local_request_region | |
97 | - const: local_response_region | |
98 | - const: remote_request_region | |
99 | - const: remote_response_region | |
100 | ||
101 | required: | |
81186dc1 | 102 | - compatible |
4a855a95 SD |
103 | - reg |
104 | - reg-names | |
105 | - "#mbox-cells" | |
106 | ||
107 | additionalProperties: false | |
108 | ||
109 | required: | |
110 | - compatible | |
111 | - interrupts | |
112 | - '#address-cells' | |
113 | - '#size-cells' | |
114 | - xlnx,ipi-id | |
115 | ||
116 | examples: | |
117 | - | | |
118 | #include<dt-bindings/interrupt-controller/arm-gic.h> | |
119 | ||
120 | amba { | |
121 | #address-cells = <0x2>; | |
122 | #size-cells = <0x2>; | |
123 | zynqmp-mailbox { | |
124 | compatible = "xlnx,zynqmp-ipi-mailbox"; | |
125 | interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; | |
126 | xlnx,ipi-id = <0>; | |
127 | #address-cells = <2>; | |
128 | #size-cells = <2>; | |
129 | ranges; | |
130 | ||
131 | mailbox: mailbox@ff9905c0 { | |
81186dc1 | 132 | compatible = "xlnx,zynqmp-ipi-dest-mailbox"; |
4a855a95 SD |
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"; | |
141 | #mbox-cells = <1>; | |
142 | xlnx,ipi-id = <4>; | |
143 | }; | |
144 | }; | |
145 | }; | |
146 | ||
147 | ... |