xref: /freebsd/sys/contrib/device-tree/Bindings/mailbox/ti,message-manager.txt (revision 8ddb146abcdf061be9f2c0db7e391697dafad85c)
1Texas 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	};
51