The RISAB peripheral is part of the RIF and is used to protect internal
RAMs.
Memory firewalls configuration on stm32mp2x platforms can be quite
complex. The RIF configuration is done by the Trusted Domain CID
(TDCID) that is running in secure priviledged mode. However, the
configuration can be read in any mode.
In order to facilitate the memory firewall configuration (check if
correctly applied, what rights for which range, etc...), add a RISAB
configuration dump driver that is embedded only when CONFIG_DEBUGFS
is set. This driver creates a debugfs entry to dump the whole RISAB
configuration in a readable format [1], as for the RIFSC.
[1]: https://wiki.st.com/stm32mpu/wiki/How_to_analyze_IAC_%26_SERC_errors#RISAB_dump
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
---
Gatien Chevallier (7):
dt-bindings: soc: st: document the RISAB firewall peripheral
soc: st: add RISAB dump debug driver
arm64: dts: st: add RISAB1/2/3/4/5/6 nodes to stm32mp251.dtsi
arm64: dts: st: add RISAB1/2/3/4/5/6 nodes to stm32mp231.dtsi
arm64: dts: st: enable all RISAB instances on the stm32mp257f-ev1 board
arm64: dts: st: enable all RISAB instances on the stm32mp257f-dk board
arm64: dts: st: enable all RISAB instances on the stm32mp235f-dk board
.../bindings/soc/st/st,stm32mp25-risab.yaml | 74 +++++
MAINTAINERS | 6 +
arch/arm64/boot/dts/st/stm32mp231.dtsi | 48 +++
arch/arm64/boot/dts/st/stm32mp235f-dk.dts | 24 ++
arch/arm64/boot/dts/st/stm32mp251.dtsi | 48 +++
arch/arm64/boot/dts/st/stm32mp257f-dk.dts | 24 ++
arch/arm64/boot/dts/st/stm32mp257f-ev1.dts | 24 ++
drivers/soc/Kconfig | 1 +
drivers/soc/Makefile | 1 +
drivers/soc/st/Kconfig | 11 +
drivers/soc/st/Makefile | 1 +
drivers/soc/st/stm32_risab.c | 329 +++++++++++++++++++++
12 files changed, 591 insertions(+)
---
base-commit: 05f7e89ab9731565d8a62e3b5d1ec206485eeb0b
change-id: 20260209-stm32_risab-4fbcdb834c43
Best regards,
--
Gatien Chevallier <gatien.chevallier@foss.st.com>