Fwd: RK3506B: what enables FW_DDR (0xff5f0000) region enforcement from the secure monitor?
Owen O'Hehir
electronicconsult1 at gmail.com
Sun May 17 11:48:45 PDT 2026
Hello all,
I've been working on replacing the closed `rk3506_tee` blob on an
RK3506B (Luckfox Lyra Ultra) with an upstream from-source OP-TEE
build. I've made decent progress but one part that I'm stuck on is DDR
firewall (FW_DDR, base `0xff5f0000`) locking the secure DRAM region
against the non-secure CPU master. So far I can:
- program the region-map + CON + per-master (MST) registers and can
read them back,
- reproduce the exact register/value/ordering sequence that the vendor
secure firmware uses.
I've verified
- With the same idbloader/SPL (mainline-style U-Boot `arch_cpu_init`,
which only does the MST grants), the vendor TEE enforces but my OP-TEE
does not, NS still reads/writes the region.
- The SGRF slave-security set is identical between the two.
So there appears to be a precondition outside the FW_DDR register
block that is set by the vendor secure firmware's broader init that
makes region checks actually apply to the A7 NS master.
Any pointers to the FW_DDR register summary or how to set this would
be gratefully appreciated!
Regards,
Owen
More information about the Linux-rockchip
mailing list