Commit 908fe394df7984688bd3e56b156c3f845b2b8925

Authored by Peng Fan
Committed by Ye Li
1 parent 8324d0f37a

MLK-18333-3 imx8mm: add qspi boot support

Introduce spl_qspi.cfg for booting from qspi.
Add new defconfig files.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit f6ccfcc1eefc45b75f07d8285e9af3d153eb3510)

Showing 4 changed files with 73 additions and 3 deletions Side-by-side Diff

arch/arm/mach-imx/spl_qspi.cfg
  1 +/*
  2 + * Copyright 2018 NXP
  3 + *
  4 + * SPDX-License-Identifier: GPL-2.0+
  5 + */
  6 +
  7 +#define __ASSEMBLY__
  8 +#include <config.h>
  9 +
  10 +IMAGE_VERSION 2
  11 +BOOT_FROM qspi
  12 +
  13 +/*
  14 + * Secure boot support
  15 + */
  16 +#ifdef CONFIG_SECURE_BOOT
  17 +CSF CONFIG_CSF_SIZE
  18 +#endif
configs/imx8mm_evk_defconfig
... ... @@ -4,12 +4,13 @@
4 4 CONFIG_SYS_MALLOC_F_LEN=0x2000
5 5 CONFIG_USB_TCPC=y
6 6 CONFIG_TARGET_IMX8MM_EVK=y
7   -CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
  7 +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,SPL_TEXT_BASE=0x7E1000"
8 8 CONFIG_FIT=y
9 9 CONFIG_SPL_LOAD_FIT=y
10 10 CONFIG_ARCH_MISC_INIT=y
11 11 CONFIG_SPL=y
12 12 CONFIG_SPL_BOARD_INIT=y
  13 +CONFIG_SPL_MMC_SUPPORT=y
13 14 CONFIG_HUSH_PARSER=y
14 15 CONFIG_OF_LIBFDT=y
15 16 CONFIG_FS_FAT=y
configs/imx8mm_evk_fspi_defconfig
  1 +CONFIG_ARM=y
  2 +CONFIG_ARCH_IMX8M=y
  3 +CONFIG_SYS_TEXT_BASE=0x40200000
  4 +CONFIG_SYS_MALLOC_F_LEN=0x2000
  5 +CONFIG_USB_TCPC=y
  6 +CONFIG_TARGET_IMX8MM_EVK=y
  7 +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_qspi.cfg,SPL_TEXT_BASE=0x7E2000"
  8 +CONFIG_FIT=y
  9 +CONFIG_SPL_LOAD_FIT=y
  10 +CONFIG_ARCH_MISC_INIT=y
  11 +CONFIG_SPL=y
  12 +CONFIG_SPL_BOARD_INIT=y
  13 +CONFIG_SPL_NOR_SUPPORT=y
  14 +CONFIG_HUSH_PARSER=y
  15 +CONFIG_OF_LIBFDT=y
  16 +CONFIG_DEFAULT_DEVICE_TREE="fsl-imx8mm-evk"
  17 +CONFIG_ENV_IS_IN_SPI_FLASH=y
  18 +CONFIG_CMD_SF=y
  19 +CONFIG_CMD_I2C=y
  20 +CONFIG_CMD_GPIO=y
  21 +CONFIG_CMD_CACHE=y
  22 +CONFIG_CMD_REGULATOR=y
  23 +CONFIG_OF_CONTROL=y
  24 +CONFIG_DM_GPIO=y
  25 +CONFIG_DM_I2C=y
  26 +CONFIG_SYS_I2C_MXC=y
  27 +CONFIG_DM_MMC=y
  28 +# CONFIG_DM_PMIC=y
  29 +CONFIG_DM_SPI_FLASH=y
  30 +CONFIG_SPI_FLASH=y
  31 +CONFIG_SPI_FLASH_STMICRO=y
  32 +CONFIG_DM_ETH=y
  33 +CONFIG_PINCTRL=y
  34 +CONFIG_PINCTRL_IMX8M=y
  35 +CONFIG_DM_REGULATOR=y
  36 +CONFIG_DM_REGULATOR_FIXED=y
  37 +CONFIG_DM_REGULATOR_GPIO=y
  38 +CONFIG_DM_SPI=y
  39 +CONFIG_FSL_FSPI=y
  40 +CONFIG_DM_THERMAL=y
  41 +CONFIG_USB=y
  42 +CONFIG_DM_USB=y
  43 +CONFIG_USB_EHCI_HCD=y
include/configs/imx8mm_evk.h
... ... @@ -14,12 +14,12 @@
14 14 #define CONFIG_CSF_SIZE 0x2000 /* 8K region */
15 15 #endif
16 16  
17   -#define CONFIG_SPL_TEXT_BASE 0x7E1000
18 17 #define CONFIG_SPL_MAX_SIZE (124 * 1024)
19 18 #define CONFIG_SYS_MONITOR_LEN (512 * 1024)
20 19 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
21 20 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300
22 21 #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
  22 +#define CONFIG_SYS_UBOOT_BASE (QSPI0_AMBA_BASE + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512)
23 23  
24 24 #ifdef CONFIG_SPL_BUILD
25 25 /*#define CONFIG_ENABLE_DDR_TRAINING_DEBUG*/
... ... @@ -32,7 +32,6 @@
32 32 #define CONFIG_SPL_LIBGENERIC_SUPPORT
33 33 #define CONFIG_SPL_SERIAL_SUPPORT
34 34 #define CONFIG_SPL_GPIO_SUPPORT
35   -#define CONFIG_SPL_MMC_SUPPORT
36 35 #define CONFIG_SPL_BSS_START_ADDR 0x00180000
37 36 #define CONFIG_SPL_BSS_MAX_SIZE 0x2000 /* 8 KB */
38 37 #define CONFIG_SYS_SPL_MALLOC_START 0x00182000
39 38  
... ... @@ -185,7 +184,16 @@
185 184 (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
186 185  
187 186 #define CONFIG_ENV_OVERWRITE
  187 +#if defined(CONFIG_ENV_IS_IN_MMC)
188 188 #define CONFIG_ENV_OFFSET (64 * SZ_64K)
  189 +#elif defined(CONFIG_ENV_IS_IN_SPI_FLASH)
  190 +#define CONFIG_ENV_OFFSET (4 * 1024 * 1024)
  191 +#define CONFIG_ENV_SECT_SIZE (64 * 1024)
  192 +#define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS
  193 +#define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS
  194 +#define CONFIG_ENV_SPI_MODE CONFIG_SF_DEFAULT_MODE
  195 +#define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED
  196 +#endif
189 197 #define CONFIG_ENV_SIZE 0x1000
190 198 #define CONFIG_SYS_MMC_ENV_DEV 0 /* USDHC2 */
191 199 #define CONFIG_MMCROOT "/dev/mmcblk1p2" /* USDHC2 */