mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
dra7xx_evm: Add QSPI_4 support, qspiboot build target
We previously only supported QSPI_1 (single) support. Add QSPI_4 (quad) read support as well. This means we can be given one of two boot device values, but don't care which it is, so perform a fixup on the QSPI_4 value. We add a qspiboot build target to better show how you would use QSPI as a boot device in deployment. When we boot from QSPI, we can check the environment for 'boot_os' to control Falcon Mode. Signed-off-by: Sourav Poddar <sourav.poddar@ti.com> Signed-off-by: Tom Rini <trini@ti.com>
This commit is contained in:
parent
fa1a73fa87
commit
79b079f35c
4 changed files with 67 additions and 1 deletions
|
@ -56,6 +56,17 @@ void save_omap_boot_params(void)
|
|||
*((u32 *)(dev_data + BOOT_MODE_OFFSET));
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DRA7XX
|
||||
/*
|
||||
* We get different values for QSPI_1 and QSPI_4 being used, but
|
||||
* don't actually care about this difference. Rather than
|
||||
* mangle the later code, if we're coming in as QSPI_4 just
|
||||
* change to the QSPI_1 value.
|
||||
*/
|
||||
if (gd->arch.omap_boot_params.omap_bootdevice == 11)
|
||||
gd->arch.omap_boot_params.omap_bootdevice = BOOT_DEVICE_SPI;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include <asm/arch/sys_proto.h>
|
||||
#include <asm/arch/mmc_host_def.h>
|
||||
#include <asm/arch/sata.h>
|
||||
#include <environment.h>
|
||||
|
||||
#include "mux_data.h"
|
||||
|
||||
|
@ -124,6 +125,24 @@ int board_mmc_init(bd_t *bis)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_OS_BOOT)
|
||||
int spl_start_uboot(void)
|
||||
{
|
||||
/* break into full u-boot on 'c' */
|
||||
if (serial_tstc() && serial_getc() == 'c')
|
||||
return 1;
|
||||
|
||||
#ifdef CONFIG_SPL_ENV_SUPPORT
|
||||
env_init();
|
||||
env_relocate_spec();
|
||||
if (getenv_yesno("boot_os") != 1)
|
||||
return 1;
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_DRIVER_TI_CPSW
|
||||
|
||||
/* Delay value to add to calibrated value */
|
||||
|
|
|
@ -361,6 +361,7 @@ Active arm armv7 omap4 ti panda
|
|||
Active arm armv7 omap4 ti sdp4430 omap4_sdp4430 - Sricharan R <r.sricharan@ti.com>
|
||||
Active arm armv7 omap5 ti dra7xx dra7xx_evm dra7xx_evm:CONS_INDEX=1 Lokesh Vutla <lokeshvutla@ti.com>
|
||||
Active arm armv7 omap5 ti dra7xx dra7xx_evm_uart3 dra7xx_evm:CONS_INDEX=3,SPL_YMODEM_SUPPORT Lokesh Vutla <lokeshvutla@ti.com>
|
||||
Active arm armv7 omap5 ti dra7xx dra7xx_evm_qspiboot dra7xx_evm:CONS_INDEX=1,QSPI_BOOT Lokesh Vutla <lokeshvutla@ti.com>
|
||||
Active arm armv7 omap5 ti omap5_uevm omap5_uevm - -
|
||||
Active arm armv7 rmobile atmark-techno armadillo-800eva armadillo-800eva - Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
|
||||
Active arm armv7 rmobile kmc kzm9g kzm9g - Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>:Tetsuyuki Kobayashi <koba@kmckk.co.jp>
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
|
||||
#define CONFIG_DRA7XX
|
||||
|
||||
#ifndef CONFIG_QSPI_BOOT
|
||||
/* MMC ENV related defines */
|
||||
#define CONFIG_ENV_IS_IN_MMC
|
||||
#define CONFIG_SYS_MMC_ENV_DEV 1 /* SLOT2: eMMC(1) */
|
||||
|
@ -21,6 +22,7 @@
|
|||
#define CONFIG_ENV_OFFSET 0xE0000
|
||||
#define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
|
||||
#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
|
||||
#endif
|
||||
#define CONFIG_CMD_SAVEENV
|
||||
|
||||
#if (CONFIG_CONS_INDEX == 1)
|
||||
|
@ -76,13 +78,46 @@
|
|||
#define CONFIG_SF_DEFAULT_SPEED 48000000
|
||||
#define CONFIG_DEFAULT_SPI_MODE SPI_MODE_3
|
||||
|
||||
/*
|
||||
* Default to using SPI for environment, etc.
|
||||
* 0x000000 - 0x010000 : QSPI.SPL (64KiB)
|
||||
* 0x010000 - 0x020000 : QSPI.SPL.backup1 (64KiB)
|
||||
* 0x020000 - 0x030000 : QSPI.SPL.backup2 (64KiB)
|
||||
* 0x030000 - 0x040000 : QSPI.SPL.backup3 (64KiB)
|
||||
* 0x040000 - 0x140000 : QSPI.u-boot (1MiB)
|
||||
* 0x140000 - 0x1C0000 : QSPI.u-boot-spl-os (512KiB)
|
||||
* 0x1C0000 - 0x1D0000 : QSPI.u-boot-env (64KiB)
|
||||
* 0x1D0000 - 0x1E0000 : QSPI.u-boot-env.backup1 (64KiB)
|
||||
* 0x1E0000 - 0x9E0000 : QSPI.kernel (8MiB)
|
||||
* 0x9E0000 - 0x2000000 : USERLAND
|
||||
*/
|
||||
#define CONFIG_SYS_SPI_KERNEL_OFFS 0x1E0000
|
||||
#define CONFIG_SYS_SPI_ARGS_OFFS 0x140000
|
||||
#define CONFIG_SYS_SPI_ARGS_SIZE 0x80000
|
||||
#if defined(CONFIG_QSPI_BOOT)
|
||||
/* In SPL, use the environment and discard MMC support for space. */
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
#undef CONFIG_SPL_MMC_SUPPORT
|
||||
#undef CONFIG_SPL_MAX_SIZE
|
||||
#define CONFIG_SPL_MAX_SIZE (64 << 10) /* 64 KiB */
|
||||
#endif
|
||||
#define CONFIG_SPL_ENV_SUPPORT
|
||||
#define CONFIG_ENV_IS_IN_SPI_FLASH
|
||||
#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
|
||||
#define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED
|
||||
#define CONFIG_ENV_SIZE (64 << 10)
|
||||
#define CONFIG_ENV_SECT_SIZE (64 << 10) /* 64 KB sectors */
|
||||
#define CONFIG_ENV_OFFSET 0x1C0000
|
||||
#define CONFIG_ENV_OFFSET_REDUND 0x1D0000
|
||||
#endif
|
||||
|
||||
/* SPI SPL */
|
||||
#define CONFIG_SPL_SPI_SUPPORT
|
||||
#define CONFIG_SPL_SPI_LOAD
|
||||
#define CONFIG_SPL_SPI_FLASH_SUPPORT
|
||||
#define CONFIG_SPL_SPI_BUS 0
|
||||
#define CONFIG_SPL_SPI_CS 0
|
||||
#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x20000
|
||||
#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x40000
|
||||
|
||||
#define CONFIG_SUPPORT_EMMC_BOOT
|
||||
|
||||
|
|
Loading…
Reference in a new issue