arm-trusted-firmware/include/drivers
Etienne Carriere 75366ccd9b drivers/scmi-msg: driver for processing scmi messages
This change introduces drivers to allow a platform to create a basic
SCMI service and register handlers for client request (SCMI agent) on
system resources. This is the first piece of the drivers: an entry
function, the SCMI base protocol support and helpers for create
the response message.

With this change, scmi_process_message() is the entry function to
process an incoming SCMI message. The function expect the message
is already copied from shared memory into secure memory. The message
structure stores message reference and output buffer reference where
response message shall be stored.

scmi_process_message() calls the SCMI protocol driver according to
the protocol ID in the message. The SCMI protocol driver will call
defined platform handlers according to the message content.

This change introduces only the SCMI base protocol as defined in
SCMI specification v2.0 [1]. Not all the messages defined
in the specification are supported.

The SCMI message implementation is derived from the OP-TEE project [2]
itself based on the SCP-firmware implementation [3] of the SCMI protocol
server side.

Link: [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf
Link: [2] ae8c806809
Link: [3] https://github.com/ARM-software/SCP-firmware/tree/v2.6.0

Change-Id: I639c4154a39fca60606264baf8d32452641f45e9
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
2020-06-17 11:05:04 +02:00
..
allwinner allwinner: Convert AXP803 regulator setup code into a driver 2019-12-13 19:22:34 -06:00
amlogic meson: Use generic console_t data structure 2020-02-25 09:34:38 +00:00
arm GICv3: GIC-600: Detect GIC-600 at runtime 2020-06-09 17:05:49 +00:00
auth dualroot: add chain of trust for secure partitions 2020-06-09 16:22:26 +01:00
brcm drivers: Add SPI Nor flash support 2020-04-03 17:12:42 +05:30
cadence cdns: Use generic console_t data structure 2020-02-25 09:34:38 +00:00
cfi Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
coreboot coreboot: Use generic base address 2020-02-25 09:34:38 +00:00
io drivers: Add support to retrieve plat_toc_flags 2020-04-01 12:36:02 +05:30
marvell a3700: Use generic console_t data structure 2020-02-25 09:34:38 +00:00
mentor Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
partition drivers: partition: support different block size 2019-09-18 18:18:20 +08:00
renesas/rcar/console rcar: Use generic console_t data structure 2020-02-25 09:34:38 +00:00
rpi3 rpi3: gpio: Simplify GPIO setup 2020-03-17 12:44:09 +00:00
st drivers/scmi-msg: driver for processing scmi messages 2020-06-17 11:05:04 +02:00
synopsys drivers: synopsys: Fix synopsys MMC driver 2019-03-12 14:39:50 +08:00
ti/uart 16550: Use generic console_t data structure 2020-02-25 09:34:38 +00:00
console.h console: Integrate UART base address in generic console_t 2020-02-25 09:34:38 +00:00
console_assertions.h Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
delay_timer.h delay: correct timeout_init_us() 2019-10-08 11:13:06 +02:00
dw_ufs.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
generic_delay_timer.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
gpio.h Factor out cross-BL API into export headers suitable for 3rd party code 2019-07-23 20:25:34 -07:00
mmc.h drivers: mmc: Fix some issues with MMC stack 2019-03-07 11:34:20 +08:00
nand.h Add raw NAND framework 2020-01-20 11:32:59 +01:00
raw_nand.h raw_nand: correct static analysis tool warning 2020-03-23 16:38:41 +01:00
spi_mem.h Add SPI-MEM framework 2020-01-20 11:32:59 +01:00
spi_nand.h Add SPI-NAND framework 2020-01-20 11:32:59 +01:00
spi_nor.h Add SPI-NOR framework 2020-01-20 11:32:59 +01:00
ufs.h Update base code to not rely on undefined overflow behaviour 2019-07-12 09:12:19 +01:00