mbox series

[0/5] stm32mp15: update remoteproc to support SCMI Device tree

Message ID 20230331154651.3107173-1-arnaud.pouliquen@foss.st.com
Headers show
Series stm32mp15: update remoteproc to support SCMI Device tree | expand

Message

Arnaud POULIQUEN March 31, 2023, 3:46 p.m. UTC
This series updates the stm32_rproc driver and associated DT node to
support device tree configuration with and without SCMI server. 
The impact is mainly on the MCU hold boot management.

1) Configuration without SCMI server (legacy): Trusted context not activated
- The MCU reset is controlled through the Linux RCC reset driver.
- The MCU HOLD BOOT is controlled through The RCC sysconf.

2) Configuration with SCMI server: Trusted context activated
- The MCU reset is controlled through the SCMI reset service.
- The MCU HOLD BOOT is no more controlled through a SMC call service but
  through the SCMI reset service.

In consequence this series:
- Use the SCMI server to manage the MCU hold boot instead of the a SMC
  call service,
- determine the configuration to use depending on the presence of the
  "reset-names" property
  if ( "reset-names" property contains "hold_boot")
  then use reset_control services
  else use regmap access based on "st,syscfg-holdboot" property.
- Update the bindings and DTs in consequence.

Arnaud Pouliquen (5):
  dt-bindings: remoteproc: st,stm32-rproc: Rework reset declarations
  ARM: dts: stm32: Remove the st,syscfg-tz property
  remoteproc: stm32: Clean-up the management of the hold boot by smc
    call
  remoteproc: stm32: Allow hold boot management by the SCMI reset
    controller
  ARM: dts: stm32: fix m4_rproc references to use scmi

 .../bindings/remoteproc/st,stm32-rproc.yaml   | 52 ++++++++++-----
 arch/arm/boot/dts/stm32mp151.dtsi             |  2 +-
 arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts    |  6 +-
 arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts    |  6 +-
 arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts    |  6 +-
 arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts    |  6 +-
 drivers/remoteproc/stm32_rproc.c              | 64 ++++++++-----------
 7 files changed, 82 insertions(+), 60 deletions(-)