From 1c3a8e7753e7971fe9444bf715a9d169ed534b09 Mon Sep 17 00:00:00 2001 From: Mamta Shukla Date: Tue, 12 Jul 2022 14:36:21 +0000 Subject: [PATCH] configs: imx8mm: Define CONFIG_SYS_UBOOT_BASE for i.MX8m The macro `CONFIG_SYS_UBOOT_BASE` is used by SPL loaders `"NOR"` and `"XIP"` to determine the base address of u-boot. For `"NOR"` on i.MX8MM it is the base address of QSPI0 plus the offset of the flattened image tree blob. Although `QSPI0_AMBA_BASE` is used to define CONFIG_SYS_UBOOT_BASE in multiple board header files for i.MX8MM, it is not specified. Specify offset of flattened image tree blob (needs to be set to same value as specified in 'binman' node), base address of QSPI0 and size of FlexSPI configuration block. Signed-off-by: Mamta Shukla Signed-off-by: Thomas Haemmerle Tested-by: Adam Ford Reviewed-by: Fabio Estevam Reviewed-by: Andrey Zhizhikin --- arch/arm/include/asm/arch-imx8m/imx-regs.h | 1 + include/configs/imx8mm_evk.h | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/arch/arm/include/asm/arch-imx8m/imx-regs.h b/arch/arm/include/asm/arch-imx8m/imx-regs.h index 1da7552..6969cde 100644 --- a/arch/arm/include/asm/arch-imx8m/imx-regs.h +++ b/arch/arm/include/asm/arch-imx8m/imx-regs.h @@ -45,6 +45,7 @@ #define UART4_BASE_ADDR 0x30A60000 #define USDHC1_BASE_ADDR 0x30B40000 #define USDHC2_BASE_ADDR 0x30B50000 +#define QSPI0_AMBA_BASE 0x08000000 #ifdef CONFIG_IMX8MM #define USDHC3_BASE_ADDR 0x30B60000 #endif diff --git a/include/configs/imx8mm_evk.h b/include/configs/imx8mm_evk.h index 5e9e3e8..dac642e 100644 --- a/include/configs/imx8mm_evk.h +++ b/include/configs/imx8mm_evk.h @@ -11,8 +11,17 @@ #include #define CONFIG_SYS_MONITOR_LEN SZ_512K +#define UBOOT_ITB_OFFSET 0x57C00 +#define FSPI_CONF_BLOCK_SIZE 0x1000 +#define UBOOT_ITB_OFFSET_FSPI \ + (UBOOT_ITB_OFFSET + FSPI_CONF_BLOCK_SIZE) +#ifdef CONFIG_FSPI_CONF_HEADER +#define CONFIG_SYS_UBOOT_BASE \ + (QSPI0_AMBA_BASE + UBOOT_ITB_OFFSET_FSPI) +#else #define CONFIG_SYS_UBOOT_BASE \ (QSPI0_AMBA_BASE + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512) +#endif #ifdef CONFIG_SPL_BUILD /* malloc f used before GD_FLG_FULL_MALLOC_INIT set */ -- 2.7.4