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