cancel
Showing results for 
Search instead for 
Did you mean: 

STM32MP157C Odyssey: stm32_etzpc bus@5c007000: rng@54003000 not allowed on bus (-13)

hypnotriod
Associate II

Hello. Could someone clarify for me where this message is coming from and how can I fix it?

stm32_etzpc bus@5c007000: rng@54003000 not allowed on bus (-13)


Is it OP-TEE or U-Boot miss-configuration?
I'm trying to patch openstlinux-6.6 OP-TEE and U-Boot for the STM32MP157C Odyssey based on the https://github.com/Seeed-Studio/meta-st-odyssey

This is my boot log:

NOTICE:  CPU: STM32MP157CAC Rev.Z
NOTICE:  Model: Seeed Studio Odyssey-STM32MP157C Board
NOTICE:  BL2: v2.10-stm32mp1-r1.0(release):v2.10-stm32mp-r1.2-dirty(cfe4a020)
NOTICE:  BL2: Built : 08:41:18, Jun 30 2025
NOTICE:  BL2: Booting BL32
I/TC: Early console on UART#4
I/TC: 
I/TC: Embedded DTB found
I/TC: OP-TEE version: 4.0.0-stm32mp-r1.2-dev (gcc version 13.3.0 (GCC)) #1 Mon Jun 30 08:40:36 UTC 2025 arm
I/TC: WARNING: This OP-TEE configuration might be insecure!
I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
I/TC: Primary CPU initializing
I/TC: WARNING: All debug accesses are allowed
I/TC: Override the OTP 18: 0x7a850000 to 0x7a8501e0
I/TC: WARNING: Embeds insecure stm32mp_provisioning driver
I/TC: UART console (non-secure)
I/TC: Platform stm32mp1: flavor PLATFORM_FLAVOR - DT stm32mp157c-odyssey.dts
I/TC: OP-TEE ST profile: system_services
I/TC: Primary CPU switching to normal world boot
stm32_etzpc bus@5c007000: rng@54003000 not allowed on bus (-13)


U-Boot 2023.10-stm32mp-r1.2-dirty (Jun 30 2025 - 10:40:28 +0300)

stm32_smc: Failed to exec svc=82001003 op=1 in secure mode (err = -1)
stm32_smc: Failed to exec svc=82001003 op=1 in secure mode (err = -1)
CPU: STM32MP157C?? Rev.Z
Model: Seeed Studio Odyssey-STM32MP157C Board
Board: stm32mp1 in trusted mode (seeed,stm32mp157c-odyssey)
stm32_smc: Failed to exec svc=82001003 op=1 in secure mode (err = -1)
DRAM:  512 MiB
stm32_etzpc bus@5c007000: rng@54003000 not allowed on bus (-13)
Clocks:
- MPU : 650 MHz
- MCU : 208.878 MHz
- AXI : 266.500 MHz
- PER : 24 MHz
- DDR : 533 MHz
optee optee: OP-TEE: revision 4.0 (dc74bac3)
I/TC: Reserved shared memory is disabled
I/TC: Dynamic shared memory is enabled
I/TC: Normal World virtualization support is disabled
I/TC: Asynchronous notifications are disabled
Core:  324 devices, 36 uclasses, devicetree: board
WDT:   Started watchdog@5a002000 with servicing every 1000ms (32s timeout)
NAND:  0 MiB
MMC:   STM32 SD/MMC: 0, STM32 SD/MMC: 1
Loading Environment from MMC... Invalid ENV offset in MMC, copy=0
In:    serial
Out:   serial
Err:   serial
invalid MAC address 0 in OTP 00:00:00:00:00:00
Net:   
Warning: ethernet@5800a000 (eth0) using random MAC address - 0e:8b:04:73:d8:38
eth0: ethernet@5800a000
Hit any key to stop autoboot:  0 
ODYSSEY> poweroff
poweroff ...
I/TC: Enter cstop mode 6



1 REPLY 1
GatienC
ST Employee

Hello @hypnotriod ,

This basically means that the firewall configuration for the RNG does not allow  the current context to use it. I guess the RNG is set as secure but the node is enabled in U-Boot. Please refer to ETZPC device tree configuraiton to know how to edit the configuration.

Do you want the RNG to be secure or non-secure?

If secure, OP-TEE exposes RNG services through the RNG PTA. The RNG node in U-Boot/Linux device trees should be disabled.

Else, set the RNG as non-secure and keep the nodes enabled in U-Boot/Linux device trees.

More info at:HW RNG overview 

Best regards,

Gatien