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 23*3b73ad33SNishanth Menon format: "rx_<QID>". 2494b5293dSNishanth Menon For ti,k2g-message-manager, this shall contain: 25*3b73ad33SNishanth 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