public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 0/2] mailbox: tmel-qmp: Introduce QCOM TMEL QMP mailbox driver
@ 2024-12-31  5:48 Sricharan R
  2024-12-31  5:48 ` [PATCH V2 1/2] dt-bindings: mailbox: Document qcom,tmel-qmp Sricharan R
                   ` (3 more replies)
  0 siblings, 4 replies; 24+ messages in thread
From: Sricharan R @ 2024-12-31  5:48 UTC (permalink / raw)
  To: jassisinghbrar, robh, krzk+dt, conor+dt, linux-arm-msm,
	linux-kernel, devicetree, andersson, konradybcio,
	manivannan.sadhasivam, dmitry.baryshkov, quic_srichara

From: Sricharan Ramabadhran <quic_srichara@quicinc.com>

The QMP mailbox is the primary means of communication between TME-L SS
and other subsystem on the SoC. A dedicated pair of inbound and outbound
mailboxes is implemented for each subsystem/external execution environment
which needs to communicate with TME-L for security services. The inbound
mailboxes are used to send IPC requests to TME-L, which are then processed
by TME-L firmware and accordingly the responses are sent to the requestor
via outbound mailboxes.

It is an IPC transport protocol which is light weight and supports
a subset of API's. It handles link initialization, negotiation,
establishment and communication across client(APPSS/BTSS/AUDIOSS)
and server(TME-L SS).

   -----------------------------------------------       ---------------------------------------------------
  |                                              |       |                                                 |
  |                 SOC  CLIENT                  | SOC   |                TME-L  SS                        |
  |                                              | AHB   |                                                 |
  |     ----------    ---------   ---------      |       | ------    -------     --------    ------------  |
  |     |        |    |       |   |       |      | WO    | |     | R |     |     |      |    |SERVICES   | |
  |     | APPS   |<-->| TMEL  |<->|       |------------->| | IN  |-->|     |     | TMEL |    |--------   | |
  |     |        |    | COM   |   | QMP   |      | RO    | |     | W | QMP |<--->| COM  |<-->| a) ATTEST | |
  |     |        |    |       |   |       |<-------------| | OUT |<--|     |     |      |    | b) CRYPTO | |
  |     |        |    |       |   |       |      |       | |     |   |     |     |      |    | .. more   | |
  |     ---------     ---------   ---------      |       | ------    -------     -------     ------------  |
  |                                              |       |                                                 |
   -----------------------------------------------       --------------------------------------------------

TME-L SS provides different kinds of services like secureboot, remote image authentication,
key management, crypto, OEM provisioning etc. This patch adds support for remote image
authentication. Support for rest of the services can be added.

Remote proc driver subscribes to this mailbox and uses the mbox_send_message to use
TME-L to securely authenticate/teardown the images.

Since clients like same rproc driver use SCM/TMEL across socs, the goal here was to abstract the
TMEL-QMP SS functionality, so that clients should be able to connect and send messages with
a common API.

[v1] RFC Post

[v2]
     Added HW description in the bindings patch.
     Fixed review comments for bindings from Krzysztof and Dmitry
     Changed patch#2 driver to add work for mailbox tx processing    
     Cleaned up patch#2 for some checkpatch warnings.
     There are some checkpatch [CHECK] like below, which looks like false positive.

	CHECK: Macro argument 'm' may be better as '(m)' to avoid precedence issues
	#1072: FILE: include/linux/mailbox/tmelcom-qmp.h:40:
	+#define TMEL_MSG_UID_CREATE(m, a)      ((u32)(((m & 0xff) << 8) | (a & 0xff)))


Sricharan Ramabadhran (2):
  dt-bindings: mailbox: Document qcom,tmel-qmp
  mailbox: tmelite-qmp: Introduce TMEL QMP mailbox driver

 .../bindings/mailbox/qcom,tmelite-qmp.yaml    |  65 ++
 drivers/mailbox/Kconfig                       |   7 +
 drivers/mailbox/Makefile                      |   2 +
 drivers/mailbox/qcom-tmel-qmp.c               | 969 ++++++++++++++++++
 include/linux/mailbox/tmelcom-qmp.h           | 157 +++
 5 files changed, 1200 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mailbox/qcom,tmelite-qmp.yaml
 create mode 100644 drivers/mailbox/qcom-tmel-qmp.c
 create mode 100644 include/linux/mailbox/tmelcom-qmp.h

-- 
2.34.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2025-01-27 10:28 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-31  5:48 [PATCH V2 0/2] mailbox: tmel-qmp: Introduce QCOM TMEL QMP mailbox driver Sricharan R
2024-12-31  5:48 ` [PATCH V2 1/2] dt-bindings: mailbox: Document qcom,tmel-qmp Sricharan R
2024-12-31  5:57   ` Varadarajan Narayanan
2025-01-03 11:56     ` Sricharan Ramabadhran
2024-12-31  8:32   ` Krzysztof Kozlowski
2025-01-03 18:34     ` Sricharan Ramabadhran
2025-01-03 18:43       ` Krzysztof Kozlowski
2025-01-06  5:36         ` Sricharan Ramabadhran
2024-12-31  9:32   ` Konrad Dybcio
2025-01-03 18:34     ` Sricharan Ramabadhran
2024-12-31  5:49 ` [PATCH V2 2/2] mailbox: tmelite-qmp: Introduce TMEL QMP mailbox driver Sricharan R
2024-12-31  6:21   ` Varadarajan Narayanan
2025-01-03 12:09     ` Sricharan Ramabadhran
2024-12-31  8:06   ` Krzysztof Kozlowski
2025-01-03 12:29     ` Sricharan Ramabadhran
2024-12-31 16:22   ` Dmitry Baryshkov
2025-01-06 10:29     ` Sricharan Ramabadhran
2024-12-31 18:59   ` kernel test robot
2025-01-01  9:34   ` kernel test robot
2024-12-31  7:57 ` [PATCH V2 0/2] mailbox: tmel-qmp: Introduce QCOM " Krzysztof Kozlowski
2025-01-03 12:10   ` Sricharan Ramabadhran
2025-01-03 12:41     ` Krzysztof Kozlowski
2025-01-24  5:53 ` Jeff Johnson
2025-01-27 10:27   ` Sricharan Ramabadhran

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox