GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / mailbox / ti,message-manager.txt
1 Texas Instruments' Message Manager Driver
2 ========================================
3
4 The Texas Instruments' Message Manager is a mailbox controller that has
5 configurable queues selectable at SoC(System on Chip) integration. The Message
6 manager is broken up into queues in different address regions that are called
7 "proxies" - each instance is unidirectional and is instantiated at SoC
8 integration level to indicate receive or transmit path.
9
10 Message Manager Device Node:
11 ===========================
12 Required properties:
13 --------------------
14 - compatible:           Shall be: "ti,k2g-message-manager"
15 - reg-names             queue_proxy_region - Map the queue proxy region.
16                         queue_state_debug_region - Map the queue state debug
17                         region.
18 - reg:                  Contains the register map per reg-names.
19 - #mbox-cells           Shall be 2. Contains the queue ID and proxy ID in that
20                         order referring to the transfer path.
21 - interrupt-names:      Contains interrupt names matching the rx transfer path
22                         for a given SoC. Receive interrupts shall be of the
23                         format: "rx_<QID>_<PID>".
24                         For ti,k2g-message-manager, this shall contain:
25                                 "rx_005_002", "rx_057_002"
26 - interrupts:           Contains the interrupt information corresponding to
27                         interrupt-names property.
28
29 Example(K2G):
30 ------------
31
32         msgmgr: msgmgr@02a00000 {
33                 compatible = "ti,k2g-message-manager";
34                 #mbox-cells = <2>;
35                 reg-names = "queue_proxy_region", "queue_state_debug_region";
36                 reg = <0x02a00000 0x400000>, <0x028c3400 0x400>;
37                 interrupt-names = "rx_005", "rx_057";
38                 interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
39                              <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
40         };
41
42         pmmc: pmmc {
43                 [...]
44                 mbox-names = "rx", "tx";
45                 # RX queue ID is 5, proxy ID is 2
46                 # TX queue ID is 0, proxy ID is 0
47                 mboxes= <&msgmgr 5 2>,
48                         <&msgmgr 0 0>;
49                 [...]
50         };