diff options
author | Ye Li <ye.li@nxp.com> | 2023-01-31 16:42:17 +0800 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2023-03-29 20:15:42 +0200 |
commit | 8b956bdddd308137b848e5ca87da0115abdb86d7 (patch) | |
tree | a23dcd24db5e381fc86d2e0671d291d1782514e0 /arch/arm/include/asm/global_data.h | |
parent | aec9b5de44b0c310c1dda82ad0ad7a8bac292db0 (diff) |
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>
Diffstat (limited to 'arch/arm/include/asm/global_data.h')
-rw-r--r-- | arch/arm/include/asm/global_data.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h index 9e746e380a2..86987838f46 100644 --- a/arch/arm/include/asm/global_data.h +++ b/arch/arm/include/asm/global_data.h @@ -97,6 +97,9 @@ struct arch_global_data { u32 uid[4]; #endif +#ifdef CONFIG_ARCH_IMX8ULP + bool m33_handshake_done; +#endif }; #include <asm-generic/global_data.h> |