162306a36Sopenharmony_ciTexas Instruments' Message Manager Driver
262306a36Sopenharmony_ci========================================
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciThe Texas Instruments' Message Manager is a mailbox controller that has
562306a36Sopenharmony_ciconfigurable queues selectable at SoC(System on Chip) integration. The Message
662306a36Sopenharmony_cimanager is broken up into queues in different address regions that are called
762306a36Sopenharmony_ci"proxies" - each instance is unidirectional and is instantiated at SoC
862306a36Sopenharmony_ciintegration level to indicate receive or transmit path.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciMessage Manager Device Node:
1162306a36Sopenharmony_ci===========================
1262306a36Sopenharmony_ciRequired properties:
1362306a36Sopenharmony_ci--------------------
1462306a36Sopenharmony_ci- compatible:		Shall be: "ti,k2g-message-manager"
1562306a36Sopenharmony_ci- reg-names 		queue_proxy_region - Map the queue proxy region.
1662306a36Sopenharmony_ci			queue_state_debug_region - Map the queue state debug
1762306a36Sopenharmony_ci			region.
1862306a36Sopenharmony_ci- reg:			Contains the register map per reg-names.
1962306a36Sopenharmony_ci- #mbox-cells		Shall be 2. Contains the queue ID and proxy ID in that
2062306a36Sopenharmony_ci		        order referring to the transfer path.
2162306a36Sopenharmony_ci- interrupt-names:	Contains interrupt names matching the rx transfer path
2262306a36Sopenharmony_ci			for a given SoC. Receive interrupts shall be of the
2362306a36Sopenharmony_ci			format: "rx_<QID>".
2462306a36Sopenharmony_ci			For ti,k2g-message-manager, this shall contain:
2562306a36Sopenharmony_ci				"rx_005", "rx_057"
2662306a36Sopenharmony_ci- interrupts:		Contains the interrupt information corresponding to
2762306a36Sopenharmony_ci			interrupt-names property.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciExample(K2G):
3062306a36Sopenharmony_ci------------
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	msgmgr: msgmgr@2a00000 {
3362306a36Sopenharmony_ci		compatible = "ti,k2g-message-manager";
3462306a36Sopenharmony_ci		#mbox-cells = <2>;
3562306a36Sopenharmony_ci		reg-names = "queue_proxy_region", "queue_state_debug_region";
3662306a36Sopenharmony_ci		reg = <0x02a00000 0x400000>, <0x028c3400 0x400>;
3762306a36Sopenharmony_ci		interrupt-names = "rx_005", "rx_057";
3862306a36Sopenharmony_ci		interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
3962306a36Sopenharmony_ci			     <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
4062306a36Sopenharmony_ci	};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	pmmc: pmmc {
4362306a36Sopenharmony_ci		[...]
4462306a36Sopenharmony_ci		mbox-names = "rx", "tx";
4562306a36Sopenharmony_ci		# RX queue ID is 5, proxy ID is 2
4662306a36Sopenharmony_ci		# TX queue ID is 0, proxy ID is 0
4762306a36Sopenharmony_ci		mboxes= <&msgmgr 5 2>,
4862306a36Sopenharmony_ci			<&msgmgr 0 0>;
4962306a36Sopenharmony_ci		[...]
5062306a36Sopenharmony_ci	};
51