From 02ae8f8df61540c11b84bd16120ead4a72cd4220 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Wed, 12 Dec 2018 14:28:56 +0800 Subject: [PATCH] MLK-20542 imx8qm: xen: mek: add magic number Write magic number in board early init, and clear magic when booting Linux. This is to let XEN know the current EL1 code is U-Boot or Linux when reset/reboot. This is just a workaround because CM41 could not communicate with XEN now, even XEN knows that EL1 is reseting/rebooting. Signed-off-by: Peng Fan Reviewed-by: Flynn xu (cherry picked from commit 8132f6b5848d45cab795bb472d6484130985415d) --- board/freescale/imx8qm_mek/imx8qm_mek.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/board/freescale/imx8qm_mek/imx8qm_mek.c b/board/freescale/imx8qm_mek/imx8qm_mek.c index 2efec39..17979c0 100644 --- a/board/freescale/imx8qm_mek/imx8qm_mek.c +++ b/board/freescale/imx8qm_mek/imx8qm_mek.c @@ -67,8 +67,10 @@ int board_early_init_f(void) sc_err_t sciErr = 0; /* When start u-boot in XEN VM, directly return */ - if (IS_ENABLED(CONFIG_XEN)) + if (IS_ENABLED(CONFIG_XEN)) { + writel(0xF53535F5, (void __iomem *)0x80000000); return 0; + } ipcHndl = gd->arch.ipc_channel_handle; @@ -457,8 +459,11 @@ void board_quiesce_devices(void) "dma_lpuart0", }; - if (IS_ENABLED(CONFIG_XEN)) + if (IS_ENABLED(CONFIG_XEN)) { + /* Clear magic number to let xen know uboot is over */ + writel(0x0, (void __iomem *)0x80000000); return; + } power_off_pd_devices(power_on_devices, ARRAY_SIZE(power_on_devices)); } -- 1.9.1