[U-Boot] [PATCH] ARM: at91: sama5: Extend boot device autodetection
Andreas Bießmann
andreas at biessmann.org
Sun Jun 12 22:13:39 CEST 2016
On 14.05.16 23:43, Marek Vasut wrote:
> Extend the boot device autodetection from SAMA5D2 only to the entire
> SAMA5Dx family of microcontrollers.
>
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Andreas Bießmann <andreas.devel at googlemail.com>
> Cc: Wenyou Yang <wenyou.yang at atmel.com>
Reviewed-by: Andreas Bießmann <andreas at biessmann.org>
with minor comment below ...
> ---
> arch/arm/mach-at91/Makefile | 4 ++--
> arch/arm/mach-at91/include/mach/sama5_boot.h | 25 +++++++++++++++++++++++++
> arch/arm/mach-at91/include/mach/sama5d2.h | 12 ------------
> arch/arm/mach-at91/spl.c | 19 ++++++++++++-------
> 4 files changed, 39 insertions(+), 21 deletions(-)
> create mode 100644 arch/arm/mach-at91/include/mach/sama5_boot.h
>
> diff --git a/arch/arm/mach-at91/spl.c b/arch/arm/mach-at91/spl.c
> index 236c8ec..e626b66 100644
> --- a/arch/arm/mach-at91/spl.c
> +++ b/arch/arm/mach-at91/spl.c
> @@ -23,20 +23,22 @@ void at91_disable_wdt(void)
> }
> #endif
>
> -#if defined(CONFIG_SAMA5D2)
> +#if defined(CONFIG_SAMA5) || defined(CONFIG_SAMA5D3) || \
we should stay with CONFIG_SAMA5D2 here ... will fix it while applying
> + defined(CONFIG_SAMA5D4)
> +#include <asm/arch/sama5_boot.h>
> struct {
> u32 r4;
> } bootrom_stash __attribute__((section(".data")));
>
> u32 spl_boot_device(void)
> {
> - u32 dev = (bootrom_stash.r4 >> ATMEL_SAMA5D2_BOOT_FROM_OFF) &
> - ATMEL_SAMA5D2_BOOT_FROM_MASK;
> - u32 off = (bootrom_stash.r4 >> ATMEL_SAMA5D2_BOOT_DEV_ID_OFF) &
> - ATMEL_SAMA5D2_BOOT_DEV_ID_MASK;
> + u32 dev = (bootrom_stash.r4 >> ATMEL_SAMA5_BOOT_FROM_OFF) &
> + ATMEL_SAMA5_BOOT_FROM_MASK;
> + u32 off = (bootrom_stash.r4 >> ATMEL_SAMA5_BOOT_DEV_ID_OFF) &
> + ATMEL_SAMA5_BOOT_DEV_ID_MASK;
>
> #if defined(CONFIG_SYS_USE_MMC)
> - if (dev == ATMEL_SAMA5D2_BOOT_FROM_MCI) {
> + if (dev == ATMEL_SAMA5_BOOT_FROM_MCI) {
> if (off == 0)
> return BOOT_DEVICE_MMC1;
> if (off == 1)
> @@ -47,10 +49,13 @@ u32 spl_boot_device(void)
> #endif
>
> #if defined(CONFIG_SYS_USE_SERIALFLASH) || defined(CONFIG_SYS_USE_SPIFLASH)
> - if (dev == ATMEL_SAMA5D2_BOOT_FROM_SPI)
> + if (dev == ATMEL_SAMA5_BOOT_FROM_SPI)
> return BOOT_DEVICE_SPI;
> #endif
>
> + if (dev == ATMEL_SAMA5_BOOT_FROM_SAMBA)
> + return BOOT_DEVICE_USB;
> +
> printf("ERROR: SMC/TWI/QSPI boot device not supported!\n"
> " Boot device %i, controller number %i\n", dev, off);
>
>
More information about the U-Boot
mailing list