SPI8 Peripheral Blocked by RIF (Resource Isolation Framework) on STM32MP257F-EV1 — Cannot Access from Linux
Hello ST Support Team,
We are working with the STM32MP257F-EV1 evaluation board and have identified a hardware/firmware-level restriction preventing us from using the SPI8 peripheral from the Linux (Cortex-A35) side, despite correct device tree configuration.
Board: STM32MP257F-EV1
OpenSTLinux version: 5.0.15-openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18
Kernel: Linux 6.6.116-stm32mp-r3
The issue:
When we enable the &spi8 node in our device tree (with correct pin configuration, matching the same pattern that successfully works for other SPI peripherals like SPI3), the driver never initializes at all. There is no error message, no warning, and no output anywhere in dmesg — the peripheral simply remains completely silent and unclaimed, as if the device tree node doesn't exist.
What we've already investigated and ruled out:
- Device tree correctness — confirmed the node, pinctrl, and pin assignments are syntactically and semantically correct, following the identical working pattern used successfully for other SPI buses on this same board
- Pin conflicts — confirmed no other peripheral or driver claims these same pins
- RIF (Resource Isolation Framework) investigation — we traced this to the RIF security configuration in the OP-TEE secure firmware layer. Specifically:
SPI3's RIF resource ID (24) is granted to the non-secure (Linux) worldSPI8's RIF resource ID (29) appears to be denied to the non-secure world by default
- We reviewed the available OP-TEE and TF-A device tree/configuration files we have access to, but could not find a supported, documented way from the Linux/application side to request or modify this RIF grant for SPI8.
Our question for ST:
Is SPI8 intentionally reserved for secure-world/Cortex-M33 use only on this board by default? If so:
- Is there a supported, documented mechanism to grant SPI8 access to the non-secure (Linux) world, either via device tree configuration, OP-TEE configuration, or another supported path?
- If this is not possible on this board revision, could you confirm this so we can plan around it definitively rather than continuing to investigate a configuration that may be permanently blocked by design?
We're happy to share our device tree files, dmesg output, or any other diagnostic information that would help you assist us.
Thank you for your time.
Best regards,
Radha Kadam
