blob: ebf0e3710ceecebf8682c649dcd19f1969c990bd [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001Texas Instruments' Message Manager Driver
2========================================
3
4The Texas Instruments' Message Manager is a mailbox controller that has
5configurable queues selectable at SoC(System on Chip) integration. The Message
6manager is broken up into queues in different address regions that are called
7"proxies" - each instance is unidirectional and is instantiated at SoC
8integration level to indicate receive or transmit path.
9
10Message Manager Device Node:
11===========================
12Required 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>".
24 For ti,k2g-message-manager, this shall contain:
25 "rx_005", "rx_057"
26- interrupts: Contains the interrupt information corresponding to
27 interrupt-names property.
28
29Example(K2G):
30------------
31
32 msgmgr: msgmgr@2a00000 {
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 };