194b5293dSNishanth MenonTexas Instruments' Message Manager Driver
294b5293dSNishanth Menon========================================
394b5293dSNishanth Menon
494b5293dSNishanth MenonThe Texas Instruments' Message Manager is a mailbox controller that has
594b5293dSNishanth Menonconfigurable queues selectable at SoC(System on Chip) integration. The Message
694b5293dSNishanth Menonmanager is broken up into queues in different address regions that are called
794b5293dSNishanth Menon"proxies" - each instance is unidirectional and is instantiated at SoC
894b5293dSNishanth Menonintegration level to indicate receive or transmit path.
994b5293dSNishanth Menon
1094b5293dSNishanth MenonMessage Manager Device Node:
1194b5293dSNishanth Menon===========================
1294b5293dSNishanth MenonRequired properties:
1394b5293dSNishanth Menon--------------------
1494b5293dSNishanth Menon- compatible:		Shall be: "ti,k2g-message-manager"
1594b5293dSNishanth Menon- reg-names 		queue_proxy_region - Map the queue proxy region.
1694b5293dSNishanth Menon			queue_state_debug_region - Map the queue state debug
1794b5293dSNishanth Menon			region.
1894b5293dSNishanth Menon- reg:			Contains the register map per reg-names.
1994b5293dSNishanth Menon- #mbox-cells		Shall be 2. Contains the queue ID and proxy ID in that
2094b5293dSNishanth Menon		        order referring to the transfer path.
2194b5293dSNishanth Menon- interrupt-names:	Contains interrupt names matching the rx transfer path
2294b5293dSNishanth Menon			for a given SoC. Receive interrupts shall be of the
233b73ad33SNishanth Menon			format: "rx_<QID>".
2494b5293dSNishanth Menon			For ti,k2g-message-manager, this shall contain:
253b73ad33SNishanth Menon				"rx_005", "rx_057"
2694b5293dSNishanth Menon- interrupts:		Contains the interrupt information corresponding to
2794b5293dSNishanth Menon			interrupt-names property.
2894b5293dSNishanth Menon
2994b5293dSNishanth MenonExample(K2G):
3094b5293dSNishanth Menon------------
3194b5293dSNishanth Menon
3248c926cdSMarco Franchi	msgmgr: msgmgr@2a00000 {
3394b5293dSNishanth Menon		compatible = "ti,k2g-message-manager";
3494b5293dSNishanth Menon		#mbox-cells = <2>;
3594b5293dSNishanth Menon		reg-names = "queue_proxy_region", "queue_state_debug_region";
3694b5293dSNishanth Menon		reg = <0x02a00000 0x400000>, <0x028c3400 0x400>;
3794b5293dSNishanth Menon		interrupt-names = "rx_005", "rx_057";
3894b5293dSNishanth Menon		interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
3994b5293dSNishanth Menon			     <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
4094b5293dSNishanth Menon	};
4194b5293dSNishanth Menon
4294b5293dSNishanth Menon	pmmc: pmmc {
4394b5293dSNishanth Menon		[...]
4494b5293dSNishanth Menon		mbox-names = "rx", "tx";
4594b5293dSNishanth Menon		# RX queue ID is 5, proxy ID is 2
4694b5293dSNishanth Menon		# TX queue ID is 0, proxy ID is 0
4794b5293dSNishanth Menon		mboxes= <&msgmgr 5 2>,
4894b5293dSNishanth Menon			<&msgmgr 0 0>;
4994b5293dSNishanth Menon		[...]
5094b5293dSNishanth Menon	};
51