[PATCH V3 0/2] mailbox: Introduce Texas Instrument's message manager driver

From: Nishanth Menon
Date: Wed Mar 16 2016 - 20:24:13 EST


The following v2 of the series provides a base driver for the support
of TI's message manager hardware block which facilitates communication
between multiple compute engines(or processors) with a central system
controller (called PMMC in K2G SoC). Keystone family of TI processors
incorporate this solution starting with K2G[1].

The hardware specification is available here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf Chapter 8.1 (Message
Manager - NOTE: complete chapter update is estimated to be somewhere
in March '16 - This does not seem done as of this writing).

Starting with K2G SoC, TI Keystone architecture is moving towards an
architecture similar to ARM Juno platform with a centralized system
controller where all system control takes place - all power management
and system control functions are now centralized in this system
controller. A protocol called TI-SCI (TI System Control Interface)
is built on top of this mailbox driver providing for communication
protocol (similar to SCPI drivers/firmware/arm_scpi.c) Follow on
patches (once the message manager is accepted) will enable the same.
However, an 4.1 kernel based vendor kernel implementation is available
at [2].

The following series is functional in TI vendor kernel, however, was
tested on K2G EVM using the following test fragment:

Boot log: http://pastebin.ubuntu.com/15405132/

baseline: next-20160316

Changes since v2:
- driver update for review comments from Jassi.

v2: http://marc.info/?l=linux-kernel&m=145652549004201&w=2
v1: http://marc.info/?l=devicetree&m=145469015018996&w=2

Nishanth Menon (2):
Documentation: dt: mailbox: Add TI Message Manager
mailbox: Introduce TI message manager driver

.../bindings/mailbox/ti,message-manager.txt | 50 ++
drivers/mailbox/Kconfig | 11 +
drivers/mailbox/Makefile | 2 +
drivers/mailbox/ti-msgmgr.c | 639 +++++++++++++++++++++
include/linux/soc/ti/ti-msgmgr.h | 35 ++
5 files changed, 737 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
create mode 100644 drivers/mailbox/ti-msgmgr.c
create mode 100644 include/linux/soc/ti/ti-msgmgr.h

[1] K2G support

[2] TISCI support(for reference): (mailbox client driver)
The above protocol is used for clock, generic powerdomain, reset etc..