hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/Documentation/devicetree/bindings/mailbox/omap-mailbox.txt
....@@ -1,4 +1,4 @@
1
-OMAP2+ Mailbox Driver
1
+OMAP2+ and K3 Mailbox
22 =====================
33
44 The OMAP mailbox hardware facilitates communication between different processors
....@@ -7,7 +7,7 @@
77 communication is achieved through a set of registers for message storage and
88 interrupt configuration registers.
99
10
-Each mailbox IP block has a certain number of h/w fifo queues and output
10
+Each mailbox IP block/cluster has a certain number of h/w fifo queues and output
1111 interrupt lines. An output interrupt line is routed to an interrupt controller
1212 within a processor subsystem, and there can be more than one line going to a
1313 specific processor's interrupt controller. The interrupt line connections are
....@@ -23,12 +23,16 @@
2323 instance. DRA7xx has multiple instances with different number of h/w fifo queues
2424 and interrupt lines between different instances. The interrupt lines can also be
2525 routed to different processor sub-systems on DRA7xx as they are routed through
26
-the Crossbar, a kind of interrupt router/multiplexer.
26
+the Crossbar, a kind of interrupt router/multiplexer. The K3 AM65x and J721E
27
+SoCs has each of these instances form a cluster and combine multiple clusters
28
+into a single IP block present within the Main NavSS. The interrupt lines from
29
+all these clusters are multiplexed and routed to different processor subsystems
30
+over a limited number of common interrupt output lines of an Interrupt Router.
2731
2832 Mailbox Device Node:
2933 ====================
30
-A Mailbox device node is used to represent a Mailbox IP instance within a SoC.
31
-The sub-mailboxes are represented as child nodes of this parent node.
34
+A Mailbox device node is used to represent a Mailbox IP instance/cluster within
35
+a SoC. The sub-mailboxes are represented as child nodes of this parent node.
3236
3337 Required properties:
3438 --------------------
....@@ -37,18 +41,35 @@
3741 "ti,omap3-mailbox" for OMAP3430, OMAP3630 SoCs
3842 "ti,omap4-mailbox" for OMAP44xx, OMAP54xx, AM33xx,
3943 AM43xx and DRA7xx SoCs
44
+ "ti,am654-mailbox" for K3 AM65x and J721E SoCs
4045 - reg: Contains the mailbox register address range (base
4146 address and length)
4247 - interrupts: Contains the interrupt information for the mailbox
4348 device. The format is dependent on which interrupt
44
- controller the OMAP device uses
45
-- ti,hwmods: Name of the hwmod associated with the mailbox
49
+ controller the Mailbox device uses
4650 - #mbox-cells: Common mailbox binding property to identify the number
4751 of cells required for the mailbox specifier. Should be
4852 1
4953 - ti,mbox-num-users: Number of targets (processor devices) that the mailbox
5054 device can interrupt
5155 - ti,mbox-num-fifos: Number of h/w fifo queues within the mailbox IP block
56
+
57
+SoC-specific Required properties:
58
+---------------------------------
59
+The following are mandatory properties for the OMAP architecture based SoCs
60
+only:
61
+- ti,hwmods: Name of the hwmod associated with the mailbox. This
62
+ should be defined in the mailbox node only if the node
63
+ is not defined as a child node of a corresponding sysc
64
+ interconnect node.
65
+
66
+The following are mandatory properties for the K3 AM65x and J721E SoCs only:
67
+- interrupt-parent: Should contain a phandle to the TI-SCI interrupt
68
+ controller node that is used to dynamically program
69
+ the interrupt routes between the IP and the main GIC
70
+ controllers. See the following binding for additional
71
+ details,
72
+ Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.yaml
5273
5374 Child Nodes:
5475 ============
....@@ -98,7 +119,7 @@
98119 Example:
99120 --------
100121
101
-/* OMAP4 */
122
+1. /* OMAP4 */
102123 mailbox: mailbox@4a0f4000 {
103124 compatible = "ti,omap4-mailbox";
104125 reg = <0x4a0f4000 0x200>;
....@@ -123,7 +144,7 @@
123144 ...
124145 };
125146
126
-/* AM33xx */
147
+2. /* AM33xx */
127148 mailbox: mailbox@480c8000 {
128149 compatible = "ti,omap4-mailbox";
129150 reg = <0x480C8000 0x200>;
....@@ -137,3 +158,23 @@
137158 ti,mbox-rx = <0 0 3>;
138159 };
139160 };
161
+
162
+3. /* AM65x */
163
+&cbass_main {
164
+ cbass_main_navss: interconnect0 {
165
+ mailbox0_cluster0: mailbox@31f80000 {
166
+ compatible = "ti,am654-mailbox";
167
+ reg = <0x00 0x31f80000 0x00 0x200>;
168
+ #mbox-cells = <1>;
169
+ ti,mbox-num-users = <4>;
170
+ ti,mbox-num-fifos = <16>;
171
+ interrupt-parent = <&intr_main_navss>;
172
+ interrupts = <164 0>;
173
+
174
+ mbox_mcu_r5fss0_core0: mbox-mcu-r5fss0-core0 {
175
+ ti,mbox-tx = <1 0 0>;
176
+ ti,mbox-rx = <0 0 0>;
177
+ };
178
+ };
179
+ };
180
+};