MA-14273-1 imx8q: Move spl to dram to fix reboot issue

The spl is located at ocram which will be lost when suspend/resume,
partition reboot will make A core reboot from the start address of
ATF, which blocks dual bootloader feature on Android Auto.

Move the spl to dram and make the partition reboot from spl to fix this
issue. The memory map will be changed to:
  SPL:    0x0000_0000 --------> 0x8000_0000
  ATF:    0x8000_0000 --------> 0x8004_0000
  U-boot: 0x8002_0000 --------> 0x8006_0000

Test: reboot ok on imx8qm/imx8qxp.

Change-Id: I49e8be51bf427dd00eb7507de22a787c6f6e1582
Signed-off-by: Ji Luo <ji.luo@nxp.com>
This commit is contained in:
Ji Luo 2019-03-07 09:17:54 +08:00
parent 60fd0ed90a
commit 84c7771c4b
8 changed files with 130 additions and 4 deletions

View File

@ -3,7 +3,7 @@ CONFIG_ARCH_IMX8=y
CONFIG_DEFAULT_DEVICE_TREE="fsl-imx8qm-mek"
CONFIG_SYS_EXTRA_OPTIONS="ANDROID_SUPPORT"
CONFIG_TARGET_IMX8QM_MEK=y
CONFIG_SYS_TEXT_BASE=0x80020000
CONFIG_SYS_TEXT_BASE=0x80060000
CONFIG_EFI_PARTITION=y
CONFIG_CMD_IMPORTENV=n
CONFIG_SYS_MALLOC_F_LEN=0x2000

View File

@ -3,7 +3,7 @@ CONFIG_ARCH_IMX8=y
CONFIG_DEFAULT_DEVICE_TREE="fsl-imx8qm-mek-auto"
CONFIG_SYS_EXTRA_OPTIONS="ANDROID_AUTO_SUPPORT"
CONFIG_TARGET_IMX8QM_MEK=y
CONFIG_SYS_TEXT_BASE=0x80020000
CONFIG_SYS_TEXT_BASE=0x80060000
CONFIG_EFI_PARTITION=y
CONFIG_CMD_IMPORTENV=n
CONFIG_SYS_MALLOC_F_LEN=0x2000

View File

@ -3,7 +3,7 @@ CONFIG_ARCH_IMX8=y
CONFIG_DEFAULT_DEVICE_TREE="fsl-imx8qxp-mek"
CONFIG_SYS_EXTRA_OPTIONS="ANDROID_SUPPORT"
CONFIG_TARGET_IMX8QXP_MEK=y
CONFIG_SYS_TEXT_BASE=0x80020000
CONFIG_SYS_TEXT_BASE=0x80060000
CONFIG_EFI_PARTITION=y
CONFIG_CMD_IMPORTENV=n
CONFIG_SYS_MALLOC_F_LEN=0x2000

View File

@ -3,7 +3,7 @@ CONFIG_ARCH_IMX8=y
CONFIG_DEFAULT_DEVICE_TREE="fsl-imx8qxp-mek-auto"
CONFIG_SYS_EXTRA_OPTIONS="ANDROID_AUTO_SUPPORT"
CONFIG_TARGET_IMX8QXP_MEK=y
CONFIG_SYS_TEXT_BASE=0x80020000
CONFIG_SYS_TEXT_BASE=0x80060000
CONFIG_EFI_PARTITION=y
CONFIG_SYS_MALLOC_F_LEN=0x2000
CONFIG_DM=y

View File

@ -66,6 +66,38 @@
#define CONFIG_FASTBOOT_BUF_ADDR 0x98000000
#define CONFIG_FASTBOOT_BUF_SIZE 0x19000000
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_NOT_UUU_BUILD)
/* Change default spl/atf/u-boot address to support partition reboot. */
#ifdef CONFIG_SPL_TEXT_BASE
#undef CONFIG_SPL_TEXT_BASE
#define CONFIG_SPL_TEXT_BASE 0x80000000
#endif
#ifdef CONFIG_SPL_STACK
#undef CONFIG_SPL_STACK
#define CONFIG_SPL_STACK 0x8003E000
#endif
#ifdef CONFIG_SPL_BSS_START_ADDR
#undef CONFIG_SPL_BSS_START_ADDR
#define CONFIG_SPL_BSS_START_ADDR 0x80038000
#endif
#ifdef CONFIG_SYS_SPL_MALLOC_START
#undef CONFIG_SYS_SPL_MALLOC_START
#define CONFIG_SYS_SPL_MALLOC_START 0x80020000
#endif
#ifdef CONFIG_MALLOC_F_ADDR
#undef CONFIG_MALLOC_F_ADDR
#define CONFIG_MALLOC_F_ADDR 0x80020000
#endif
#ifdef CONFIG_ATF_TEXT_BASE
#undef CONFIG_ATF_TEXT_BASE
#define CONFIG_ATF_TEXT_BASE 0x80040000
#endif
#ifdef CONFIG_SYS_ATF_START
#undef CONFIG_SYS_ATF_START
#define CONFIG_SYS_ATF_START 0x80040000
#endif
#endif
#define AVB_AB_I_UNDERSTAND_LIBAVB_AB_IS_DEPRECATED
#endif /* IMX8QM_MEK_ANDROID_H */

View File

@ -120,6 +120,37 @@
#define CONFIG_FSL_CAAM_KB
#define CONFIG_SPL_CRYPTO_SUPPORT
#define CONFIG_SYS_FSL_SEC_LE
/* Change default spl/atf/u-boot address to support partition reboot. */
#ifdef CONFIG_SPL_TEXT_BASE
#undef CONFIG_SPL_TEXT_BASE
#define CONFIG_SPL_TEXT_BASE 0x80000000
#endif
#ifdef CONFIG_SPL_STACK
#undef CONFIG_SPL_STACK
#define CONFIG_SPL_STACK 0x8003E000
#endif
#ifdef CONFIG_SPL_BSS_START_ADDR
#undef CONFIG_SPL_BSS_START_ADDR
#define CONFIG_SPL_BSS_START_ADDR 0x80038000
#endif
#ifdef CONFIG_SYS_SPL_MALLOC_START
#undef CONFIG_SYS_SPL_MALLOC_START
#define CONFIG_SYS_SPL_MALLOC_START 0x80020000
#endif
#ifdef CONFIG_MALLOC_F_ADDR
#undef CONFIG_MALLOC_F_ADDR
#define CONFIG_MALLOC_F_ADDR 0x80020000
#endif
#ifdef CONFIG_ATF_TEXT_BASE
#undef CONFIG_ATF_TEXT_BASE
#define CONFIG_ATF_TEXT_BASE 0x80040000
#endif
#ifdef CONFIG_SYS_ATF_START
#undef CONFIG_SYS_ATF_START
#define CONFIG_SYS_ATF_START 0x80040000
#endif
#endif
#define AVB_AB_I_UNDERSTAND_LIBAVB_AB_IS_DEPRECATED

View File

@ -61,6 +61,38 @@
#define CONFIG_FASTBOOT_BUF_ADDR 0x98000000
#define CONFIG_FASTBOOT_BUF_SIZE 0x19000000
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_NOT_UUU_BUILD)
/* Change default spl/atf/u-boot address to support partition reboot. */
#ifdef CONFIG_SPL_TEXT_BASE
#undef CONFIG_SPL_TEXT_BASE
#define CONFIG_SPL_TEXT_BASE 0x80000000
#endif
#ifdef CONFIG_SPL_STACK
#undef CONFIG_SPL_STACK
#define CONFIG_SPL_STACK 0x8003E000
#endif
#ifdef CONFIG_SPL_BSS_START_ADDR
#undef CONFIG_SPL_BSS_START_ADDR
#define CONFIG_SPL_BSS_START_ADDR 0x80038000
#endif
#ifdef CONFIG_SYS_SPL_MALLOC_START
#undef CONFIG_SYS_SPL_MALLOC_START
#define CONFIG_SYS_SPL_MALLOC_START 0x80020000
#endif
#ifdef CONFIG_MALLOC_F_ADDR
#undef CONFIG_MALLOC_F_ADDR
#define CONFIG_MALLOC_F_ADDR 0x80020000
#endif
#ifdef CONFIG_ATF_TEXT_BASE
#undef CONFIG_ATF_TEXT_BASE
#define CONFIG_ATF_TEXT_BASE 0x80040000
#endif
#ifdef CONFIG_SYS_ATF_START
#undef CONFIG_SYS_ATF_START
#define CONFIG_SYS_ATF_START 0x80040000
#endif
#endif
#define AVB_AB_I_UNDERSTAND_LIBAVB_AB_IS_DEPRECATED
#endif /* IMX8QXP_MEK_ANDROID_H */

View File

@ -112,6 +112,37 @@
#define CONFIG_FSL_CAAM_KB
#define CONFIG_SPL_CRYPTO_SUPPORT
#define CONFIG_SYS_FSL_SEC_LE
/* Change default spl/atf/u-boot address to support partition reboot. */
#ifdef CONFIG_SPL_TEXT_BASE
#undef CONFIG_SPL_TEXT_BASE
#define CONFIG_SPL_TEXT_BASE 0x80000000
#endif
#ifdef CONFIG_SPL_STACK
#undef CONFIG_SPL_STACK
#define CONFIG_SPL_STACK 0x8003E000
#endif
#ifdef CONFIG_SPL_BSS_START_ADDR
#undef CONFIG_SPL_BSS_START_ADDR
#define CONFIG_SPL_BSS_START_ADDR 0x80038000
#endif
#ifdef CONFIG_SYS_SPL_MALLOC_START
#undef CONFIG_SYS_SPL_MALLOC_START
#define CONFIG_SYS_SPL_MALLOC_START 0x80020000
#endif
#ifdef CONFIG_MALLOC_F_ADDR
#undef CONFIG_MALLOC_F_ADDR
#define CONFIG_MALLOC_F_ADDR 0x80020000
#endif
#ifdef CONFIG_ATF_TEXT_BASE
#undef CONFIG_ATF_TEXT_BASE
#define CONFIG_ATF_TEXT_BASE 0x80040000
#endif
#ifdef CONFIG_SYS_ATF_START
#undef CONFIG_SYS_ATF_START
#define CONFIG_SYS_ATF_START 0x80040000
#endif
#endif
#define AVB_AB_I_UNDERSTAND_LIBAVB_AB_IS_DEPRECATED