firmware: scmi: support Arm SMCCC transport
authorEtienne Carriere <etienne.carriere@linaro.org>
Wed, 9 Sep 2020 16:44:02 +0000 (18:44 +0200)
committerTom Rini <trini@konsulko.com>
Wed, 30 Sep 2020 15:55:23 +0000 (11:55 -0400)
commit1e35913a2677b1d0511769425a53cd9ae113c238
tree0d7faa58d79ffb28d838ba8f64efcbe7873c77ca
parent240720e9052fa7459e4d8a46d508db1ae41ed238
firmware: scmi: support Arm SMCCC transport

This change implements a SMCCC transport for SCMI exchanges. This
implementation follows the Linux kernel as references implementation
for SCMI message processing, using the SMT format for communication
channel meta-data.

Use of SMCCC transport in SCMI FDT bindings are defined in the Linux
kernel DT bindings since v5.8. SMCCC with SMT is implemented in OP-TEE
from tag 3.9.0 [2].

Links: [2] https://github.com/OP-TEE/optee_os/commit/a58c4d706d23
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/firmware/scmi/Kconfig
drivers/firmware/scmi/Makefile
drivers/firmware/scmi/smccc_agent.c [new file with mode: 0644]