summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorYe Li <ye.li@nxp.com>2023-01-31 11:42:17 +0300
committerStefano Babic <sbabic@denx.de>2023-03-29 21:15:42 +0300
commit8b956bdddd308137b848e5ca87da0115abdb86d7 (patch)
treea23dcd24db5e381fc86d2e0671d291d1782514e0 /board
parentaec9b5de44b0c310c1dda82ad0ad7a8bac292db0 (diff)
downloadu-boot-8b956bdddd308137b848e5ca87da0115abdb86d7.tar.xz
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 'board')
-rw-r--r--board/freescale/imx8ulp_evk/imx8ulp_evk.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/board/freescale/imx8ulp_evk/imx8ulp_evk.c b/board/freescale/imx8ulp_evk/imx8ulp_evk.c
index 5aad1074a8..b58f143f6e 100644
--- a/board/freescale/imx8ulp_evk/imx8ulp_evk.c
+++ b/board/freescale/imx8ulp_evk/imx8ulp_evk.c
@@ -101,18 +101,12 @@ void mipi_dsi_panel_backlight(void)
int board_init(void)
{
- int sync = -ENODEV;
if (IS_ENABLED(CONFIG_FEC_MXC))
setup_fec();
- if (m33_image_booted()) {
- sync = m33_image_handshake(1000);
- printf("M33 Sync: %s\n", sync ? "Timeout" : "OK");
- }
-
/* When sync with M33 is failed, use local driver to set for video */
- if (sync != 0 && IS_ENABLED(CONFIG_VIDEO)) {
+ if (!is_m33_handshake_necessary() && IS_ENABLED(CONFIG_VIDEO)) {
mipi_dsi_mux_panel();
mipi_dsi_panel_backlight();
}