
On Friday 24 August 2018 07:41 PM, Tom Rini wrote:
On Tue, Aug 21, 2018 at 08:00:51PM +0530, Lokesh Vutla wrote:
AM654 allows for booting from primary or backup boot media. Both media can be chosen individually based on switch settings. ROM looks for a valid image in primary boot media, if not found then looks in backup boot media. In order to pass this boot media information to boot loader, ROM stores a value at a particular address. Add support for reading this information and determining the boot media correctly.
[snip]
diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig index c532fbd061..117e5b4e4a 100644 --- a/arch/arm/mach-k3/Kconfig +++ b/arch/arm/mach-k3/Kconfig @@ -40,4 +40,11 @@ config MCU_SCRATCHPAD_SIZE help Describes the size of MCU Scratchpad RAM.
+config BOOT_PARAM_TABLE_INDEX
- hex "Address of Array Index to be used within BOOT_PARAM_TABLE"
- default 0x41c7fbfc if SOC_K3_AM6
- help
Address at which ROM stores the value which determines if SPL
is booted up by primary boot media or secondary boot media.
I'm not sure this belongs in Kconfig. This isn't configurable really is it?
Agreed. Will drop the prompt string in v2.
+static u32 __get_backup_bootmedia(u32 devstat) {
- u32 bkup_boot = (devstat & CTRLMMR_MAIN_DEVSTAT_BKUP_BOOTMODE_MASK) >>
CTRLMMR_MAIN_DEVSTAT_BKUP_BOOTMODE_SHIFT;
- switch (bkup_boot) {
+#define __BKUP_BOOT_DEVICE(n) \
- case BACKUP_BOOT_DEVICE_##n: \
return BOOT_DEVICE_##n;
I really don't like defining the macro in the function like this. And in terms of style, I think I'd rather see it spelled out with case/return as is normally done.
Sure. Will fix it in v2.
Thanks and regards, Lokesh