ARM: at91: sama5: Extend boot device autodetection
PATCH 1/1 ARM: at91: sama5: Extend boot device autodetection
Extend the boot device autodetection from SAMA5D2 only to the entire SAMA5Dx family of microcontrollers.
--- 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
arch/arm/mach-at91/Makefile +2 -2
@@ -10,8 +10,8 @@ obj-$(CONFIG_AT91SAM9M10G45) += mpddrc.o spl_at91.o obj-$(CONFIG_AT91SAM9N12) += mpddrc.o spl_at91.o obj-$(CONFIG_AT91SAM9X5) += mpddrc.o spl_at91.o obj-$(CONFIG_SAMA5D2) += bootparams_atmel.o mpddrc.o spl_atmel.o matrix.o atmel_sfr.o -obj-$(CONFIG_SAMA5D3) += mpddrc.o spl_atmel.o -obj-$(CONFIG_SAMA5D4) += mpddrc.o spl_atmel.o matrix.o atmel_sfr.o +obj-$(CONFIG_SAMA5D3) += bootparams_atmel.o mpddrc.o spl_atmel.o +obj-$(CONFIG_SAMA5D4) += bootparams_atmel.o mpddrc.o spl_atmel.o matrix.o atmel_sfr.o obj-y += spl.o endif
arch/arm/mach-at91/include/mach/sama5_boot.h new file +25 -0
@@ -0,0 +1,25 @@ +/* +* Boot mode definitions for the SAMA5Dx SoC +* +* Copyright (C) 2016 Marek Vasut <[email protected]> +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#ifndef __SAMA5_BOOT_H +#define __SAMA5_BOOT_H + +/* Boot modes stored by BootROM in r4 */ +#define ATMEL_SAMA5_BOOT_FROM_OFF 0 +#define ATMEL_SAMA5_BOOT_FROM_MASK 0xf +#define ATMEL_SAMA5_BOOT_FROM_SPI (0 << 0) +#define ATMEL_SAMA5_BOOT_FROM_MCI (1 << 0) +#define ATMEL_SAMA5_BOOT_FROM_SMC (2 << 0) +#define ATMEL_SAMA5_BOOT_FROM_TWI (3 << 0) +#define ATMEL_SAMA5_BOOT_FROM_QSPI (4 << 0) +#define ATMEL_SAMA5_BOOT_FROM_SAMBA (7 << 0) + +#define ATMEL_SAMA5_BOOT_DEV_ID_OFF 4 +#define ATMEL_SAMA5_BOOT_DEV_ID_MASK 0xf + +#endif /* __SAMA5_BOOT_H */
arch/arm/mach-at91/include/mach/sama5d2.h +0 -12
@@ -225,18 +225,6 @@/* No PMECC Galois table in ROM */ #define NO_GALOIS_TABLE_IN_ROM -/* Boot modes stored by BootROM in r4 */ -#define ATMEL_SAMA5D2_BOOT_FROM_OFF 0 -#define ATMEL_SAMA5D2_BOOT_FROM_MASK 0xf -#define ATMEL_SAMA5D2_BOOT_FROM_SPI (0 << 0) -#define ATMEL_SAMA5D2_BOOT_FROM_MCI (1 << 0) -#define ATMEL_SAMA5D2_BOOT_FROM_SMC (2 << 0) -#define ATMEL_SAMA5D2_BOOT_FROM_TWI (3 << 0) -#define ATMEL_SAMA5D2_BOOT_FROM_QSPI (4 << 0) - -#define ATMEL_SAMA5D2_BOOT_DEV_ID_OFF 4 -#define ATMEL_SAMA5D2_BOOT_DEV_ID_MASK 0xf -#ifndef __ASSEMBLY__unsigned int get_chip_id (void );unsigned int get_extension_chip_id (void );
arch/arm/mach-at91/spl.c +12 -7
@@ -23,20 +23,22 @@ void at91_disable_wdt(void) }#endif -#if defined(CONFIG_SAMA5D2 ) +#if defined(CONFIG_SAMA5 ) || defined(CONFIG_SAMA5D3 ) || \ + 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);
Signature · 1 line
2.7.0
PATCH 1/1 ARM: at91: sama5: Extend boot device autodetection
Quoted 6 lines · Marek Vasut
Extend the boot device autodetection from SAMA5D2 only to the entire SAMA5Dx family of microcontrollers.
Signed-off-by Marek Vasut <[email protected]>Cc Andreas Bie?mann <[email protected]>Cc Wenyou Yang <[email protected]>
with minor comment below ...
Quoted 14 lines
--- 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.harch/arm/mach-at91/spl.c +0
-0
arch/arm/mach-at91/spl.c void at91_disable_wdt(void) · line 26
Quoted 5 lines
arch/arm/mach-at91/spl.c +1
-1@@ -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
Quoted 39 lines
arch/arm/mach-at91/spl.c +11
-6+ 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);
PATCH 1/1 ARM: at91: sama5: Extend boot device autodetection
Quoted 29 lines · Andreas Bie?mann
Quoted 6 lines · Marek Vasut
Extend the boot device autodetection from SAMA5D2 only to the entire SAMA5Dx family of microcontrollers.
Signed-off-by Marek Vasut <[email protected]>Cc Andreas Bie?mann <[email protected]>Cc Wenyou Yang <[email protected]>Reviewed-by Andreas Bie?mann <[email protected]>with minor comment below ...
Quoted 17 lines
--- 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.harch/arm/mach-at91/spl.c +0
-0@@ -23,20 +23,22 @@ void at91_disable_wdt(void) }#endif
Quoted 4 lines
arch/arm/mach-at91/spl.c void at91_disable_wdt(void) · line 26
Quoted 2 lines
arch/arm/mach-at91/spl.c +1
-1-#if defined(CONFIG_SAMA5D2 ) +#if defined(CONFIG_SAMA5) || defined(CONFIG_SAMA5D3) || \we should stay with
CONFIG_SAMA5D2here ... will fix it while applying
Gah, thanks!
Signature · 2 lines
Best regards, Marek Vasut
Dear Marek Vasut,
Quoted 9 lines · Marek Vasut
Extend the boot device autodetection from SAMA5D2 only to the entire SAMA5Dx family of microcontrollers.
Signed-off-by Marek Vasut <[email protected]>Cc Andreas Bie?mann <[email protected]>Cc Wenyou Yang <[email protected]>Reviewed-by Andreas Bie?mann <[email protected]>[minor compile fix for SAMA5D2]Signed-off-by Andreas Bie?mann <[email protected]>
Quoted 7 lines
---
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
applied to u-boot-atmel/master, thanks!
Best regards,
Andreas Bie?mann