imx: imx8ulp: Adjust handshake to sync TRDC and XRDC completion
authorYe Li <ye.li@nxp.com>
Tue, 31 Jan 2023 08:42:17 +0000 (16:42 +0800)
committerStefano Babic <sbabic@denx.de>
Wed, 29 Mar 2023 18:15:42 +0000 (20:15 +0200)
commit8b956bdddd308137b848e5ca87da0115abdb86d7
treea23dcd24db5e381fc86d2e0671d291d1782514e0
parentaec9b5de44b0c310c1dda82ad0ad7a8bac292db0
imx: imx8ulp: Adjust handshake to sync TRDC and XRDC completion

To fit the DBD_EN fused part, we re-design the TRDC and XRDC assignment.
M33 will be the TRDC owner and needs to configure TRDC. A35 is the
XRDC owner, ATF will configure XRDC.

The handshake between U-boot and M33 image is used to sync TRDC and
XRDC configuration completion. Once the handshake is done, A35 and M33
can access the allowed resources in others domain.

The handshake is needed when M33 is booted or DBD_EN fused, because both
cases will enable the TRDC. If handshake is timeout, the boot will hang.
We use SIM GPR0 to pass the info from SPL to u-boot, because before the
handshake, u-boot can't access SEC SIM and FSB.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
arch/arm/include/asm/arch-imx8ulp/sys_proto.h
arch/arm/include/asm/global_data.h
arch/arm/mach-imx/imx8ulp/soc.c
board/freescale/imx8ulp_evk/imx8ulp_evk.c