[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