diff options
author | Ye.Li <B37916@freescale.com> | 2014-06-12 16:38:35 +0800 |
---|---|---|
committer | Ye.Li <B37916@freescale.com> | 2014-06-17 11:14:01 +0800 |
commit | 0a79c88e23b361d1309f1baaf800a5f7b7af79ad (patch) | |
tree | 85bbbad63da27242e99977a151096535b4c6d874 | |
parent | bfc7a914724643beb327d6b9412afa468ead81ec (diff) | |
download | u-boot-imx-0a79c88e23b361d1309f1baaf800a5f7b7af79ad.zip u-boot-imx-0a79c88e23b361d1309f1baaf800a5f7b7af79ad.tar.gz u-boot-imx-0a79c88e23b361d1309f1baaf800a5f7b7af79ad.tar.bz2 |
ENGR00315894-66 iMX6SX:SABRESD Support M4 fast boot at early stage
T support M4 boot in 50 ms, kick start M4 at "board_early_init_f"
stage where u-boot passes ARM and architecture initialization.
Add a configuration "CONFIG_SYS_AUXCORE_FASTUP" for this feature
enablement. And a build config "mx6sxsabresd_m4fastup".
Adjust the default M4 image address to 0x78000000 represented by
"CONFIG_SYS_AUXCORE_BOOTDATA".
When M4 fast boot is enabled, RDC should be enabled together and
the QSPI driver must turn off, because M4 is running on QSPI flash
in XIP. Setup this relationship by configurations.
Signed-off-by: Ye.Li <B37916@freescale.com>
-rw-r--r-- | board/freescale/mx6sxsabresd/mx6sxsabresd.c | 4 | ||||
-rw-r--r-- | boards.cfg | 1 | ||||
-rw-r--r-- | include/configs/mx6sxsabresd.h | 9 |
3 files changed, 12 insertions, 2 deletions
diff --git a/board/freescale/mx6sxsabresd/mx6sxsabresd.c b/board/freescale/mx6sxsabresd/mx6sxsabresd.c index 3f098f4..5aca602 100644 --- a/board/freescale/mx6sxsabresd/mx6sxsabresd.c +++ b/board/freescale/mx6sxsabresd/mx6sxsabresd.c @@ -555,6 +555,10 @@ int board_early_init_f(void) imx_rdc_setup_peripherals(shared_resources, ARRAY_SIZE(shared_resources)); #endif +#ifdef CONFIG_SYS_AUXCORE_FASTUP + arch_auxiliary_core_up(0, CONFIG_SYS_AUXCORE_BOOTDATA); +#endif + setup_iomux_uart(); return 0; } @@ -361,6 +361,7 @@ Active arm armv7 mx6 freescale mx6sx_19x19_arm2 Active arm armv7 mx6 freescale mx6sx_19x19_arm2 mx6sx_19x19_lpddr2_arm2_qspi2 mx6sx_19x19_arm2:IMX_CONFIG=board/freescale/mx6sx_19x19_arm2/imximage_lpddr2.cfg,MX6SX,LPDDR2,DEFAULT_FDT_FILE="imx6sx-19x19-arm2.dtb",SYS_BOOT_QSPI Active arm armv7 mx6 freescale mx6sxsabresd mx6sxsabresd mx6sxsabresd:IMX_CONFIG=board/freescale/mx6sxsabresd/imximage.cfg,MX6SX Fabio Estevam <fabio.estevam@freescale.com> Active arm armv7 mx6 freescale mx6sxsabresd mx6sxsabresd_qspi2 mx6sxsabresd:IMX_CONFIG=board/freescale/mx6sxsabresd/imximage.cfg,MX6SX,SYS_BOOT_QSPI Fabio Estevam <fabio.estevam@freescale.com> +Active arm armv7 mx6 freescale mx6sxsabresd mx6sxsabresd_m4fastup mx6sxsabresd:IMX_CONFIG=board/freescale/mx6sxsabresd/imximage.cfg,MX6SX,SYS_BOOT_QSPI,SYS_AUXCORE_FASTUP Fabio Estevam <fabio.estevam@freescale.com> Active arm armv7 mx6 gateworks gw_ventana gwventanadl gw_ventana:IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6DL,DDR_MB=512 Tim Harvey <tharvey@gateworks.com> Active arm armv7 mx6 gateworks gw_ventana gwventanadl1g gw_ventana:IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6DL,DDR_MB=1024 Tim Harvey <tharvey@gateworks.com> Active arm armv7 mx6 gateworks gw_ventana gwventanaq gw_ventana:IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6Q,DDR_MB=512 Tim Harvey <tharvey@gateworks.com> diff --git a/include/configs/mx6sxsabresd.h b/include/configs/mx6sxsabresd.h index a495377..ea26f3f 100644 --- a/include/configs/mx6sxsabresd.h +++ b/include/configs/mx6sxsabresd.h @@ -125,8 +125,10 @@ #define CONFIG_SYS_TEXT_BASE 0x87800000 #define CONFIG_SYS_AUXCORE_BOOTDATA 0x78000000 /* Set to QSPI2 B flash at default */ -#define CONFIG_CMD_BOOTAUX /* Boot M4 */ +#ifndef CONFIG_SYS_AUXCORE_FASTUP +#define CONFIG_CMD_BOOTAUX /* Boot M4 by command, disable this when M4 fast up */ #define CONFIG_CMD_SETEXPR +#endif #ifdef CONFIG_CMD_BOOTAUX #define UPDATE_M4_ENV \ @@ -274,7 +276,10 @@ #define CONFIG_ENV_SIZE SZ_8K -#ifdef CONFIG_SYS_BOOT_QSPI +#ifdef CONFIG_SYS_AUXCORE_FASTUP +#define CONFIG_MXC_RDC +#define CONFIG_ENV_IS_IN_MMC /* Must disable QSPI driver, because M4 run on QSPI */ +#elif defined CONFIG_SYS_BOOT_QSPI #define CONFIG_SYS_USE_QSPI #define CONFIG_ENV_IS_IN_SPI_FLASH #else |