[PATCH 0/6] firmware: arm_scmi: add OP-TEE transport support

Ahmad Fatoum a.fatoum at pengutronix.de
Sun Nov 26 22:40:28 PST 2023


STM32MP15 in trusted mode and STM32MP13 by default use OP-TEE as secure
monitor and some resets, clocks and voltage regulators are off-limits
to the normal world.

This series syncs barebox SCMI support with v6.6 and adds OP-TEE as
transport alongside SMCCC. This series has been tested on:

  - STM32MP15 + OP-TEE + OP-TEE shm
  - STM32MP13 + OP-TEE + OP-TEE shm
  - STM32MP15 + OP-TEE + CFG_STM32MP1_SCMI_SIP
  - STM32MP15 + TF-A as SCMI provider (no OP-TEE)

This series depends on the OP-TEE infrastructure added in
<M20231127063559.2205776-1-a.fatoum at pengutronix.de>

Ahmad Fatoum (6):
  firmware: arm_scmi: sync with Linux v6.6
  ARM: dts: stm32mp: dk1/2: build SCMI-enabled device tree
  nvmem: bsec: add support for STM32 bsec pseudo TA
  ARM: dts: stm32mp: ev1: build extra device tree with SCMI
  ARM: dts: stm32mp: add dtsi for SMC SiP-based SCMI
  ARM: dts: stm32mp: lxa-mc1: build SCMI-enabled DT

 arch/arm/dts/Makefile                      |    7 +-
 arch/arm/dts/stm32mp1-scmi-smc.dtsi        |   49 +
 arch/arm/dts/stm32mp157a-dk1-scmi.dts      |    4 +
 arch/arm/dts/stm32mp157c-dk2-scmi.dts      |    4 +
 arch/arm/dts/stm32mp157c-ev1-scmi.dts      |   20 +
 arch/arm/dts/stm32mp157c-lxa-mc1-scmi.dts  |   63 +
 drivers/clk/clk-scmi.c                     |  100 +-
 drivers/firmware/Kconfig                   |   12 +-
 drivers/firmware/arm_scmi/Kconfig          |   86 +
 drivers/firmware/arm_scmi/Makefile         |   18 +-
 drivers/firmware/arm_scmi/base.c           |   85 +-
 drivers/firmware/arm_scmi/bus.c            |  356 ++++-
 drivers/firmware/arm_scmi/clock.c          |  292 ++--
 drivers/firmware/arm_scmi/common.h         |  315 ++--
 drivers/firmware/arm_scmi/driver.c         | 1668 +++++++++++++-------
 drivers/firmware/arm_scmi/msg.c            |   93 ++
 drivers/firmware/arm_scmi/optee.c          |  614 +++++++
 drivers/firmware/arm_scmi/power.c          |  229 +++
 drivers/firmware/arm_scmi/protocols.h      |  325 ++++
 drivers/firmware/arm_scmi/reset.c          |   67 +-
 drivers/firmware/arm_scmi/scmi_pm_domain.c |  135 ++
 drivers/firmware/arm_scmi/sensors.c        |  936 +++++++++++
 drivers/firmware/arm_scmi/shmem.c          |   53 +-
 drivers/firmware/arm_scmi/smc.c            |   86 +-
 drivers/firmware/arm_scmi/voltage.c        |  204 ++-
 drivers/nvmem/Kconfig                      |    6 +
 drivers/nvmem/Makefile                     |    1 +
 drivers/nvmem/bsec.c                       |  133 +-
 drivers/nvmem/stm32-bsec-optee-ta.c        |  298 ++++
 drivers/nvmem/stm32-bsec-optee-ta.h        |   85 +
 drivers/regulator/scmi-regulator.c         |   13 +-
 drivers/reset/reset-scmi.c                 |    2 +-
 include/linux/scmi_protocol.h              |   94 +-
 33 files changed, 5216 insertions(+), 1237 deletions(-)
 create mode 100644 arch/arm/dts/stm32mp1-scmi-smc.dtsi
 create mode 100644 arch/arm/dts/stm32mp157a-dk1-scmi.dts
 create mode 100644 arch/arm/dts/stm32mp157c-dk2-scmi.dts
 create mode 100644 arch/arm/dts/stm32mp157c-ev1-scmi.dts
 create mode 100644 arch/arm/dts/stm32mp157c-lxa-mc1-scmi.dts
 create mode 100644 drivers/firmware/arm_scmi/Kconfig
 create mode 100644 drivers/firmware/arm_scmi/msg.c
 create mode 100644 drivers/firmware/arm_scmi/optee.c
 create mode 100644 drivers/firmware/arm_scmi/power.c
 create mode 100644 drivers/firmware/arm_scmi/protocols.h
 create mode 100644 drivers/firmware/arm_scmi/scmi_pm_domain.c
 create mode 100644 drivers/firmware/arm_scmi/sensors.c
 create mode 100644 drivers/nvmem/stm32-bsec-optee-ta.c
 create mode 100644 drivers/nvmem/stm32-bsec-optee-ta.h

-- 
2.39.2




More information about the barebox mailing list