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