Skip to content

Commit

Permalink
arm: mvebu: Convert BOOT_FROM_* constants to function macros
Browse files Browse the repository at this point in the history
This allows to merge BOOT_FROM_MMC and BOOT_FROM_MMC_ALT constants to one
macro. And also allows to extend other BOOT_FROM_* macros for other
variants.

Signed-off-by: Pali Rohár <[email protected]>
Tested-by: Tony Dinh <[email protected]>
Tested-by: Martin Rowe <[email protected]>
Reviewed-by: Stefan Roese <[email protected]>
  • Loading branch information
pali authored and stroese committed Mar 30, 2023
1 parent 4642bb3 commit 7ba084c
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 23 deletions.
20 changes: 10 additions & 10 deletions arch/arm/mach-mvebu/cpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,27 +100,27 @@ u32 get_boot_device(void)
val = readl(CFG_SAR_REG); /* SAR - Sample At Reset */
boot_device = (val & BOOT_DEV_SEL_MASK) >> BOOT_DEV_SEL_OFFS;
debug("SAR_REG=0x%08x boot_device=0x%x\n", val, boot_device);
switch (boot_device) {
#ifdef BOOT_FROM_NAND
case BOOT_FROM_NAND:
if (BOOT_FROM_NAND(boot_device))
return BOOT_DEVICE_NAND;
#endif
#ifdef BOOT_FROM_MMC
case BOOT_FROM_MMC:
case BOOT_FROM_MMC_ALT:
if (BOOT_FROM_MMC(boot_device))
return BOOT_DEVICE_MMC1;
#endif
case BOOT_FROM_UART:
#ifdef BOOT_FROM_UART
if (BOOT_FROM_UART(boot_device))
return BOOT_DEVICE_UART;
#endif
#ifdef BOOT_FROM_SATA
case BOOT_FROM_SATA:
if (BOOT_FROM_SATA(boot_device))
return BOOT_DEVICE_SATA;
#endif
case BOOT_FROM_SPI:
#ifdef BOOT_FROM_SPI
if (BOOT_FROM_SPI(boot_device))
return BOOT_DEVICE_SPI;
default:
return BOOT_DEVICE_BOOTROM;
};
#endif
return BOOT_DEVICE_BOOTROM;
}

#if defined(CONFIG_DISPLAY_CPUINFO)
Expand Down
25 changes: 12 additions & 13 deletions arch/arm/mach-mvebu/include/mach/soc.h
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,8 @@
#define BOOT_DEV_SEL_OFFS 3
#define BOOT_DEV_SEL_MASK (0x3f << BOOT_DEV_SEL_OFFS)

#define BOOT_FROM_UART 0x30
#define BOOT_FROM_SPI 0x38
#define BOOT_FROM_UART(x) (x == 0x30)
#define BOOT_FROM_SPI(x) (x == 0x38)

#define CFG_SYS_TCLK ((readl(CFG_SAR_REG) & BIT(20)) ? \
200000000 : 166000000)
Expand All @@ -160,12 +160,11 @@
#define BOOT_DEV_SEL_OFFS 4
#define BOOT_DEV_SEL_MASK (0x3f << BOOT_DEV_SEL_OFFS)

#define BOOT_FROM_NAND 0x0A
#define BOOT_FROM_SATA 0x2A
#define BOOT_FROM_UART 0x28
#define BOOT_FROM_SPI 0x32
#define BOOT_FROM_MMC 0x30
#define BOOT_FROM_MMC_ALT 0x31
#define BOOT_FROM_NAND(x) (x == 0x0A)
#define BOOT_FROM_SATA(x) (x == 0x2A)
#define BOOT_FROM_UART(x) (x == 0x28)
#define BOOT_FROM_SPI(x) (x == 0x32)
#define BOOT_FROM_MMC(x) (x == 0x30 || x == 0x31)

#define CFG_SYS_TCLK ((readl(CFG_SAR_REG) & BIT(15)) ? \
200000000 : 250000000)
Expand All @@ -182,9 +181,9 @@
#define BOOT_DEV_SEL_OFFS 11
#define BOOT_DEV_SEL_MASK (0x7 << BOOT_DEV_SEL_OFFS)

#define BOOT_FROM_NAND 0x1
#define BOOT_FROM_UART 0x2
#define BOOT_FROM_SPI 0x3
#define BOOT_FROM_NAND(x) (x == 0x1)
#define BOOT_FROM_UART(x) (x == 0x2)
#define BOOT_FROM_SPI(x) (x == 0x3)

#define CFG_SYS_TCLK 200000000 /* 200MHz */
#elif defined(CONFIG_ARMADA_XP)
Expand All @@ -204,8 +203,8 @@
#define BOOT_DEV_SEL_OFFS 5
#define BOOT_DEV_SEL_MASK (0xf << BOOT_DEV_SEL_OFFS)

#define BOOT_FROM_UART 0x2
#define BOOT_FROM_SPI 0x3
#define BOOT_FROM_UART(x) (x == 0x2)
#define BOOT_FROM_SPI(x) (x == 0x3)

#define CFG_SYS_TCLK 250000000 /* 250MHz */
#endif
Expand Down

0 comments on commit 7ba084c

Please sign in to comment.