* [U-Boot] [PATCH] ARM: at91: sama5: Extend boot device autodetection
@ 2016-05-14 21:43 Marek Vasut
2016-06-12 20:13 ` Andreas Bießmann
2016-06-12 22:01 ` [U-Boot] " Andreas Bießmann
0 siblings, 2 replies; 4+ messages in thread
From: Marek Vasut @ 2016-05-14 21:43 UTC (permalink / raw)
To: u-boot
Extend the boot device autodetection from SAMA5D2 only to the entire
SAMA5Dx family of microcontrollers.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Andreas Bie?mann <andreas.devel@googlemail.com>
Cc: Wenyou Yang <wenyou.yang@atmel.com>
---
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/Makefile b/arch/arm/mach-at91/Makefile
index d2abf31..a908004 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -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
diff --git a/arch/arm/mach-at91/include/mach/sama5_boot.h b/arch/arm/mach-at91/include/mach/sama5_boot.h
new file mode 100644
index 0000000..8911a44
--- /dev/null
+++ b/arch/arm/mach-at91/include/mach/sama5_boot.h
@@ -0,0 +1,25 @@
+/*
+ * Boot mode definitions for the SAMA5Dx SoC
+ *
+ * Copyright (C) 2016 Marek Vasut <marex@denx.de>
+ *
+ * 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 */
diff --git a/arch/arm/mach-at91/include/mach/sama5d2.h b/arch/arm/mach-at91/include/mach/sama5d2.h
index e6d498c..dd5a2a7 100644
--- a/arch/arm/mach-at91/include/mach/sama5d2.h
+++ b/arch/arm/mach-at91/include/mach/sama5d2.h
@@ -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);
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) || \
+ 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);
--
2.7.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH] ARM: at91: sama5: Extend boot device autodetection
2016-05-14 21:43 [U-Boot] [PATCH] ARM: at91: sama5: Extend boot device autodetection Marek Vasut
@ 2016-06-12 20:13 ` Andreas Bießmann
2016-06-12 21:15 ` Marek Vasut
2016-06-12 22:01 ` [U-Boot] " Andreas Bießmann
1 sibling, 1 reply; 4+ messages in thread
From: Andreas Bießmann @ 2016-06-12 20:13 UTC (permalink / raw)
To: u-boot
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@denx.de>
> Cc: Andreas Bie?mann <andreas.devel@googlemail.com>
> Cc: Wenyou Yang <wenyou.yang@atmel.com>
Reviewed-by: Andreas Bie?mann <andreas@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);
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH] ARM: at91: sama5: Extend boot device autodetection
2016-06-12 20:13 ` Andreas Bießmann
@ 2016-06-12 21:15 ` Marek Vasut
0 siblings, 0 replies; 4+ messages in thread
From: Marek Vasut @ 2016-06-12 21:15 UTC (permalink / raw)
To: u-boot
On 06/12/2016 10:13 PM, Andreas Bie?mann wrote:
> 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@denx.de>
>> Cc: Andreas Bie?mann <andreas.devel@googlemail.com>
>> Cc: Wenyou Yang <wenyou.yang@atmel.com>
>
> Reviewed-by: Andreas Bie?mann <andreas@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
Gah, thanks!
--
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] ARM: at91: sama5: Extend boot device autodetection
2016-05-14 21:43 [U-Boot] [PATCH] ARM: at91: sama5: Extend boot device autodetection Marek Vasut
2016-06-12 20:13 ` Andreas Bießmann
@ 2016-06-12 22:01 ` Andreas Bießmann
1 sibling, 0 replies; 4+ messages in thread
From: Andreas Bießmann @ 2016-06-12 22:01 UTC (permalink / raw)
To: u-boot
Dear Marek Vasut,
Marek Vasut <marex@denx.de> writes:
>Extend the boot device autodetection from SAMA5D2 only to the entire
>SAMA5Dx family of microcontrollers.
>
>Signed-off-by: Marek Vasut <marex@denx.de>
>Cc: Andreas Bie?mann <andreas.devel@googlemail.com>
>Cc: Wenyou Yang <wenyou.yang@atmel.com>
>Reviewed-by: Andreas Bie?mann <andreas@biessmann.org>
>[minor compile fix for SAMA5D2]
>Signed-off-by: Andreas Bie?mann <andreas@biessmann.org>
>---
> 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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-06-12 22:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-14 21:43 [U-Boot] [PATCH] ARM: at91: sama5: Extend boot device autodetection Marek Vasut
2016-06-12 20:13 ` Andreas Bießmann
2016-06-12 21:15 ` Marek Vasut
2016-06-12 22:01 ` [U-Boot] " Andreas Bießmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox