arm-trusted-firmware/include/drivers/st
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
..
bsec.h bsec: move bsec_mode_is_closed_device() service to platform 2019-09-20 23:21:10 +02:00
etzpc.h drivers: introduce ST ETZPC driver 2020-06-03 15:53:46 +02:00
io_mmc.h Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
io_stm32image.h io: stm32image: fix device_size type 2020-01-20 11:32:59 +01:00
scmi-msg.h drivers/scmi-msg: driver for processing scmi messages 2020-06-17 11:05:04 +02:00
scmi.h drivers/scmi-msg: driver for processing scmi messages 2020-06-17 11:05:04 +02:00
stm32_console.h stm32: Use generic console_t data structure 2020-02-25 09:34:38 +00:00
stm32_fmc2_nand.h fmc: stm32_fmc2_nand: Add FMC2 driver support 2020-01-20 11:32:59 +01:00
stm32_gpio.h Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__ 2019-08-01 13:14:12 -07:00
stm32_hash.h crypto: stm32_hash: align stm32_hash_update() prototype 2019-10-03 11:17:15 +02:00
stm32_i2c.h stm32mp1: update I2C and PMIC drivers 2019-02-14 11:20:23 +01:00
stm32_iwdg.h stm32mp1: add watchdog support 2019-09-02 17:25:08 +02:00
stm32_qspi.h spi: stm32_qspi: Add QSPI support 2020-01-20 11:32:59 +01:00
stm32_sdmmc2.h mmc: stm32_sdmmc2: manage max-frequency property from DT 2019-09-02 17:53:14 +02:00
stm32_uart_regs.h Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
stm32mp1_clk.h clk: stm32mp1: move oscillator functions to generic file 2019-06-17 14:03:51 +02:00
stm32mp1_ddr.h stm32mp1: update device tree files 2019-01-18 15:45:08 +01:00
stm32mp1_ddr_helpers.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
stm32mp1_ddr_regs.h drivers: st: update drivers code 2019-01-18 15:45:08 +01:00
stm32mp1_pwr.h Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
stm32mp1_ram.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
stm32mp1_rcc.h drivers: stm32mp1 clocks: allow tree lookup for several system clocks 2020-05-11 15:01:29 +02:00
stm32mp_clkfunc.h plat/stm32: Use generic fdt_read_uint32_array() implementation 2020-04-28 15:56:31 +01:00
stm32mp_pmic.h stm32mp1: update I2C and PMIC drivers 2019-02-14 11:20:23 +01:00
stm32mp_reset.h drivers: stm32_reset adapt interface to timeout argument 2020-06-01 08:38:20 +02:00
stpmic1.h drivers: st: pmic: update stpmic1 driver 2019-01-18 15:45:08 +01:00