On 16.08.21 15:19, Marek Behún wrote:
Move the function get_boot_device() from spl.c to cpu.c.

Make it visible, so that it may be used from other files.

Signed-off-by: Marek Behún <marek.be...@nic.cz>

Applied to u-boot-marvell/master

Thanks,
Stefan

---
  arch/arm/mach-mvebu/cpu.c              | 60 ++++++++++++++++++++
  arch/arm/mach-mvebu/include/mach/cpu.h |  2 +
  arch/arm/mach-mvebu/spl.c              | 77 +++-----------------------
  3 files changed, 71 insertions(+), 68 deletions(-)

diff --git a/arch/arm/mach-mvebu/cpu.c b/arch/arm/mach-mvebu/cpu.c
index 0b935c46fb..daf8bd66a0 100644
--- a/arch/arm/mach-mvebu/cpu.c
+++ b/arch/arm/mach-mvebu/cpu.c
@@ -14,6 +14,7 @@
  #include <asm/pl310.h>
  #include <asm/arch/cpu.h>
  #include <asm/arch/soc.h>
+#include <asm/spl.h>
  #include <sdhci.h>
#define DDR_BASE_CS_OFF(n) (0x0000 + ((n) << 3))
@@ -80,6 +81,65 @@ int mvebu_soc_family(void)
        return MVEBU_SOC_UNKNOWN;
  }
+u32 get_boot_device(void)
+{
+       u32 val;
+       u32 boot_device;
+
+       /*
+         * First check, if UART boot-mode is active. This can only
+         * be done, via the bootrom error register. Here the
+         * MSB marks if the UART mode is active.
+         */
+       val = readl(CONFIG_BOOTROM_ERR_REG);
+       boot_device = (val & BOOTROM_ERR_MODE_MASK) >> BOOTROM_ERR_MODE_OFFS;
+       debug("BOOTROM_REG=0x%08x boot_device=0x%x\n", val, boot_device);
+       if (boot_device == BOOTROM_ERR_MODE_UART)
+               return BOOT_DEVICE_UART;
+
+#ifdef CONFIG_ARMADA_38X
+       /*
+         * If the bootrom error code contains any other than zeros it's an
+         * error condition and the bootROM has fallen back to UART boot
+         */
+       boot_device = (val & BOOTROM_ERR_CODE_MASK) >> BOOTROM_ERR_CODE_OFFS;
+       if (boot_device)
+               return BOOT_DEVICE_UART;
+#endif
+
+       /*
+         * Now check the SAR register for the strapped boot-device
+         */
+       val = readl(CONFIG_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:
+               return BOOT_DEVICE_NAND;
+#endif
+#ifdef BOOT_FROM_MMC
+       case BOOT_FROM_MMC:
+       case BOOT_FROM_MMC_ALT:
+               return BOOT_DEVICE_MMC1;
+#endif
+       case BOOT_FROM_UART:
+#ifdef BOOT_FROM_UART_ALT
+       case BOOT_FROM_UART_ALT:
+#endif
+               return BOOT_DEVICE_UART;
+#ifdef BOOT_FROM_SATA
+       case BOOT_FROM_SATA:
+       case BOOT_FROM_SATA_ALT:
+               return BOOT_DEVICE_SATA;
+#endif
+       case BOOT_FROM_SPI:
+               return BOOT_DEVICE_SPI;
+       default:
+               return BOOT_DEVICE_BOOTROM;
+       };
+}
+
  #if defined(CONFIG_DISPLAY_CPUINFO)
#if defined(CONFIG_ARMADA_375)
diff --git a/arch/arm/mach-mvebu/include/mach/cpu.h 
b/arch/arm/mach-mvebu/include/mach/cpu.h
index 79858858c2..a7a62c7e7d 100644
--- a/arch/arm/mach-mvebu/include/mach/cpu.h
+++ b/arch/arm/mach-mvebu/include/mach/cpu.h
@@ -148,6 +148,8 @@ void __noreturn return_to_bootrom(void);
  int mv_sdh_init(unsigned long regbase, u32 max_clk, u32 min_clk, u32 quirks);
  #endif
+u32 get_boot_device(void);
+
  void get_sar_freq(struct sar_freq_modes *sar_freq);
/*
diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c
index f0cf60bb14..8d6d4902f6 100644
--- a/arch/arm/mach-mvebu/spl.c
+++ b/arch/arm/mach-mvebu/spl.c
@@ -171,74 +171,6 @@ int spl_parse_board_header(struct spl_image_info 
*spl_image,
        return 0;
  }
-static u32 get_boot_device(void)
-{
-       u32 val;
-       u32 boot_device;
-
-       /*
-        * First check, if UART boot-mode is active. This can only
-        * be done, via the bootrom error register. Here the
-        * MSB marks if the UART mode is active.
-        */
-       val = readl(CONFIG_BOOTROM_ERR_REG);
-       boot_device = (val & BOOTROM_ERR_MODE_MASK) >> BOOTROM_ERR_MODE_OFFS;
-       debug("BOOTROM_REG=0x%08x boot_device=0x%x\n", val, boot_device);
-       if (boot_device == BOOTROM_ERR_MODE_UART)
-               return BOOT_DEVICE_UART;
-
-#ifdef CONFIG_ARMADA_38X
-       /*
-        * If the bootrom error code contains any other than zeros it's an
-        * error condition and the bootROM has fallen back to UART boot
-        */
-       boot_device = (val & BOOTROM_ERR_CODE_MASK) >> BOOTROM_ERR_CODE_OFFS;
-       if (boot_device)
-               return BOOT_DEVICE_UART;
-#endif
-
-       /*
-        * Now check the SAR register for the strapped boot-device
-        */
-       val = readl(CONFIG_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:
-               return BOOT_DEVICE_NAND;
-#endif
-#ifdef BOOT_FROM_MMC
-       case BOOT_FROM_MMC:
-       case BOOT_FROM_MMC_ALT:
-               return BOOT_DEVICE_MMC1;
-#endif
-       case BOOT_FROM_UART:
-#ifdef BOOT_FROM_UART_ALT
-       case BOOT_FROM_UART_ALT:
-#endif
-               return BOOT_DEVICE_UART;
-#ifdef BOOT_FROM_SATA
-       case BOOT_FROM_SATA:
-       case BOOT_FROM_SATA_ALT:
-               return BOOT_DEVICE_SATA;
-#endif
-       case BOOT_FROM_SPI:
-               return BOOT_DEVICE_SPI;
-       default:
-               return BOOT_DEVICE_BOOTROM;
-       };
-}
-
-#else
-
-static u32 get_boot_device(void)
-{
-       return BOOT_DEVICE_BOOTROM;
-}
-
-#endif
-
  u32 spl_boot_device(void)
  {
        u32 boot_device = get_boot_device();
@@ -285,6 +217,15 @@ u32 spl_boot_device(void)
        }
  }
+#else
+
+u32 spl_boot_device(void)
+{
+       return BOOT_DEVICE_BOOTROM;
+}
+
+#endif
+
  int board_return_to_bootrom(struct spl_image_info *spl_image,
                            struct spl_boot_device *bootdev)
  {



Viele Grüße,
Stefan

--
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: s...@denx.de

Reply via email to