Kernel-4.18.0-80.el8_ti,message-manager

Texas Instruments’ Message Manager Driver

The Texas Instruments’ Message Manager is a mailbox controller that has
configurable queues selectable at SoC(System on Chip) integration. The Message
manager is broken up into queues in different address regions that are called
“proxies” - each instance is unidirectional and is instantiated at SoC
integration level to indicate receive or transmit path.

Message Manager Device Node:

Required properties:

  • compatible: Shall be: “ti,k2g-message-manager”
  • reg-names queue_proxy_region - Map the queue proxy region.
          queue_state_debug_region - Map the queue state debug
          region.
    
  • reg: Contains the register map per reg-names.
  • #mbox-cells Shall be 2. Contains the queue ID and proxy ID in that
              order referring to the transfer path.
    
  • interrupt-names: Contains interrupt names matching the rx transfer path
          for a given SoC. Receive interrupts shall be of the
          format: "rx_<QID>".
          For ti,k2g-message-manager, this shall contain:
              "rx_005", "rx_057"
    
  • interrupts: Contains the interrupt information corresponding to
          interrupt-names property.
    

Example(K2G):

msgmgr: msgmgr@2a00000 {
    compatible = "ti,k2g-message-manager";
    #mbox-cells = <2>;
    reg-names = "queue_proxy_region", "queue_state_debug_region";
    reg = <0x02a00000 0x400000>, <0x028c3400 0x400>;
    interrupt-names = "rx_005", "rx_057";
    interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
             <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
};

pmmc: pmmc {
    [...]
    mbox-names = "rx", "tx";
    # RX queue ID is 5, proxy ID is 2
    # TX queue ID is 0, proxy ID is 0
    mboxes= <&msgmgr 5 2>,
        <&msgmgr 0 0>;
    [...]
};