1*4882a593SmuzhiyunTexas Instruments' Message Manager Driver 2*4882a593Smuzhiyun======================================== 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunThe Texas Instruments' Message Manager is a mailbox controller that has 5*4882a593Smuzhiyunconfigurable queues selectable at SoC(System on Chip) integration. The Message 6*4882a593Smuzhiyunmanager is broken up into queues in different address regions that are called 7*4882a593Smuzhiyun"proxies" - each instance is unidirectional and is instantiated at SoC 8*4882a593Smuzhiyunintegration level to indicate receive or transmit path. 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunMessage Manager Device Node: 11*4882a593Smuzhiyun=========================== 12*4882a593SmuzhiyunRequired properties: 13*4882a593Smuzhiyun-------------------- 14*4882a593Smuzhiyun- compatible: Shall be: "ti,k2g-message-manager" 15*4882a593Smuzhiyun- reg-names queue_proxy_region - Map the queue proxy region. 16*4882a593Smuzhiyun queue_state_debug_region - Map the queue state debug 17*4882a593Smuzhiyun region. 18*4882a593Smuzhiyun- reg: Contains the register map per reg-names. 19*4882a593Smuzhiyun- #mbox-cells Shall be 2. Contains the queue ID and proxy ID in that 20*4882a593Smuzhiyun order referring to the transfer path. 21*4882a593Smuzhiyun- interrupt-names: Contains interrupt names matching the rx transfer path 22*4882a593Smuzhiyun for a given SoC. Receive interrupts shall be of the 23*4882a593Smuzhiyun format: "rx_<QID>". 24*4882a593Smuzhiyun For ti,k2g-message-manager, this shall contain: 25*4882a593Smuzhiyun "rx_005", "rx_057" 26*4882a593Smuzhiyun- interrupts: Contains the interrupt information corresponding to 27*4882a593Smuzhiyun interrupt-names property. 28*4882a593Smuzhiyun 29*4882a593SmuzhiyunExample(K2G): 30*4882a593Smuzhiyun------------ 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun msgmgr: msgmgr@2a00000 { 33*4882a593Smuzhiyun compatible = "ti,k2g-message-manager"; 34*4882a593Smuzhiyun #mbox-cells = <2>; 35*4882a593Smuzhiyun reg-names = "queue_proxy_region", "queue_state_debug_region"; 36*4882a593Smuzhiyun reg = <0x02a00000 0x400000>, <0x028c3400 0x400>; 37*4882a593Smuzhiyun interrupt-names = "rx_005", "rx_057"; 38*4882a593Smuzhiyun interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>, 39*4882a593Smuzhiyun <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>; 40*4882a593Smuzhiyun }; 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun pmmc: pmmc { 43*4882a593Smuzhiyun [...] 44*4882a593Smuzhiyun mbox-names = "rx", "tx"; 45*4882a593Smuzhiyun # RX queue ID is 5, proxy ID is 2 46*4882a593Smuzhiyun # TX queue ID is 0, proxy ID is 0 47*4882a593Smuzhiyun mboxes= <&msgmgr 5 2>, 48*4882a593Smuzhiyun <&msgmgr 0 0>; 49*4882a593Smuzhiyun [...] 50*4882a593Smuzhiyun }; 51