Commit 8c665292 authored by Suman Anna's avatar Suman Anna Committed by Jassi Brar

dt-bindings: mailbox: omap: Update bindings for TI K3 SoCs

The TI K3 AM65x and J721E family of SoCs have a new Mailbox IP that
is based on the existing Mailbox IP present in OMAP architecture based
SoCs. Update the existing OMAP Mailbox bindings for this new IP present
on TI K3 AM65x and J721E SoCs. The same compatible from AM65x SoCs is
reused for J721E SoCs.
Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarJassi Brar <jaswinder.singh@linaro.org>
parent 06c182c3
OMAP2+ Mailbox Driver OMAP2+ and K3 Mailbox
===================== =====================
The OMAP mailbox hardware facilitates communication between different processors The OMAP mailbox hardware facilitates communication between different processors
...@@ -7,7 +7,7 @@ various processor subsystems and is connected on an interconnect bus. The ...@@ -7,7 +7,7 @@ various processor subsystems and is connected on an interconnect bus. The
communication is achieved through a set of registers for message storage and communication is achieved through a set of registers for message storage and
interrupt configuration registers. interrupt configuration registers.
Each mailbox IP block has a certain number of h/w fifo queues and output Each mailbox IP block/cluster has a certain number of h/w fifo queues and output
interrupt lines. An output interrupt line is routed to an interrupt controller interrupt lines. An output interrupt line is routed to an interrupt controller
within a processor subsystem, and there can be more than one line going to a within a processor subsystem, and there can be more than one line going to a
specific processor's interrupt controller. The interrupt line connections are specific processor's interrupt controller. The interrupt line connections are
...@@ -23,12 +23,16 @@ All the current OMAP SoCs except for the newest DRA7xx SoC has a single IP ...@@ -23,12 +23,16 @@ All the current OMAP SoCs except for the newest DRA7xx SoC has a single IP
instance. DRA7xx has multiple instances with different number of h/w fifo queues instance. DRA7xx has multiple instances with different number of h/w fifo queues
and interrupt lines between different instances. The interrupt lines can also be and interrupt lines between different instances. The interrupt lines can also be
routed to different processor sub-systems on DRA7xx as they are routed through routed to different processor sub-systems on DRA7xx as they are routed through
the Crossbar, a kind of interrupt router/multiplexer. the Crossbar, a kind of interrupt router/multiplexer. The K3 AM65x and J721E
SoCs has each of these instances form a cluster and combine multiple clusters
into a single IP block present within the Main NavSS. The interrupt lines from
all these clusters are multiplexed and routed to different processor subsystems
over a limited number of common interrupt output lines of an Interrupt Router.
Mailbox Device Node: Mailbox Device Node:
==================== ====================
A Mailbox device node is used to represent a Mailbox IP instance within a SoC. A Mailbox device node is used to represent a Mailbox IP instance/cluster within
The sub-mailboxes are represented as child nodes of this parent node. a SoC. The sub-mailboxes are represented as child nodes of this parent node.
Required properties: Required properties:
-------------------- --------------------
...@@ -37,12 +41,12 @@ Required properties: ...@@ -37,12 +41,12 @@ Required properties:
"ti,omap3-mailbox" for OMAP3430, OMAP3630 SoCs "ti,omap3-mailbox" for OMAP3430, OMAP3630 SoCs
"ti,omap4-mailbox" for OMAP44xx, OMAP54xx, AM33xx, "ti,omap4-mailbox" for OMAP44xx, OMAP54xx, AM33xx,
AM43xx and DRA7xx SoCs AM43xx and DRA7xx SoCs
"ti,am654-mailbox" for K3 AM65x and J721E SoCs
- reg: Contains the mailbox register address range (base - reg: Contains the mailbox register address range (base
address and length) address and length)
- interrupts: Contains the interrupt information for the mailbox - interrupts: Contains the interrupt information for the mailbox
device. The format is dependent on which interrupt device. The format is dependent on which interrupt
controller the OMAP device uses controller the Mailbox device uses
- ti,hwmods: Name of the hwmod associated with the mailbox
- #mbox-cells: Common mailbox binding property to identify the number - #mbox-cells: Common mailbox binding property to identify the number
of cells required for the mailbox specifier. Should be of cells required for the mailbox specifier. Should be
1 1
...@@ -50,6 +54,23 @@ Required properties: ...@@ -50,6 +54,23 @@ Required properties:
device can interrupt device can interrupt
- ti,mbox-num-fifos: Number of h/w fifo queues within the mailbox IP block - ti,mbox-num-fifos: Number of h/w fifo queues within the mailbox IP block
SoC-specific Required properties:
---------------------------------
The following are mandatory properties for the OMAP architecture based SoCs
only:
- ti,hwmods: Name of the hwmod associated with the mailbox. This
should be defined in the mailbox node only if the node
is not defined as a child node of a corresponding sysc
interconnect node.
The following are mandatory properties for the K3 AM65x and J721E SoCs only:
- interrupt-parent: Should contain a phandle to the TI-SCI interrupt
controller node that is used to dynamically program
the interrupt routes between the IP and the main GIC
controllers. See the following binding for additional
details,
Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt
Child Nodes: Child Nodes:
============ ============
A child node is used for representing the actual sub-mailbox device that is A child node is used for representing the actual sub-mailbox device that is
...@@ -98,7 +119,7 @@ to be used by the client user. ...@@ -98,7 +119,7 @@ to be used by the client user.
Example: Example:
-------- --------
/* OMAP4 */ 1. /* OMAP4 */
mailbox: mailbox@4a0f4000 { mailbox: mailbox@4a0f4000 {
compatible = "ti,omap4-mailbox"; compatible = "ti,omap4-mailbox";
reg = <0x4a0f4000 0x200>; reg = <0x4a0f4000 0x200>;
...@@ -123,7 +144,7 @@ dsp { ...@@ -123,7 +144,7 @@ dsp {
... ...
}; };
/* AM33xx */ 2. /* AM33xx */
mailbox: mailbox@480c8000 { mailbox: mailbox@480c8000 {
compatible = "ti,omap4-mailbox"; compatible = "ti,omap4-mailbox";
reg = <0x480C8000 0x200>; reg = <0x480C8000 0x200>;
...@@ -137,3 +158,23 @@ mailbox: mailbox@480c8000 { ...@@ -137,3 +158,23 @@ mailbox: mailbox@480c8000 {
ti,mbox-rx = <0 0 3>; ti,mbox-rx = <0 0 3>;
}; };
}; };
3. /* AM65x */
&cbass_main {
cbass_main_navss: interconnect0 {
mailbox0_cluster0: mailbox@31f80000 {
compatible = "ti,am654-mailbox";
reg = <0x00 0x31f80000 0x00 0x200>;
#mbox-cells = <1>;
ti,mbox-num-users = <4>;
ti,mbox-num-fifos = <16>;
interrupt-parent = <&intr_main_navss>;
interrupts = <164 0>;
mbox_mcu_r5fss0_core0: mbox-mcu-r5fss0-core0 {
ti,mbox-tx = <1 0 0>;
ti,mbox-rx = <0 0 0>;
};
};
};
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment