diff options
author | Bin Meng <bin.meng@windriver.com> | 2020-08-02 23:09:06 -0700 |
---|---|---|
committer | Andes <uboot@andestech.com> | 2020-08-14 14:38:53 +0800 |
commit | 3581811dc26fdf9eef05a7de9f654dc6a7a2596a (patch) | |
tree | 9c9693f266beca3fade8b1f3f919cc407c51e388 | |
parent | 50856c3f0f0d14da97634e9cdef2f0380210f9cc (diff) | |
download | u-boot-3581811dc26fdf9eef05a7de9f654dc6a7a2596a.zip u-boot-3581811dc26fdf9eef05a7de9f654dc6a7a2596a.tar.gz u-boot-3581811dc26fdf9eef05a7de9f654dc6a7a2596a.tar.bz2 |
riscv: sifive/fu540: Move SPL related functions to spl.c
It's better to keep all SPL related functions in the same spl.c.
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Leo Liang <ycliang@andestech.com>
Reviewed-by: Rick Chen <rick@andestech.com>
Reviewed-by: Pragnesh Patel <pragnesh.patel@sifive.com>
Tested-by: Pragnesh Patel <pragnesh.patel@sifive.com>
-rw-r--r-- | board/sifive/fu540/fu540.c | 33 | ||||
-rw-r--r-- | board/sifive/fu540/spl.c | 33 |
2 files changed, 32 insertions, 34 deletions
diff --git a/board/sifive/fu540/fu540.c b/board/sifive/fu540/fu540.c index 57753ba..54e5a4c 100644 --- a/board/sifive/fu540/fu540.c +++ b/board/sifive/fu540/fu540.c @@ -13,7 +13,6 @@ #include <linux/bitops.h> #include <linux/bug.h> #include <linux/delay.h> -#include <linux/io.h> #include <misc.h> #include <spl.h> #include <asm/arch/cache.h> @@ -127,35 +126,3 @@ int board_init(void) return 0; } - -#ifdef CONFIG_SPL -#define MODE_SELECT_REG 0x1000 -#define MODE_SELECT_QSPI 0x6 -#define MODE_SELECT_SD 0xb -#define MODE_SELECT_MASK GENMASK(3, 0) - -u32 spl_boot_device(void) -{ - u32 mode_select = readl((void *)MODE_SELECT_REG); - u32 boot_device = mode_select & MODE_SELECT_MASK; - - switch (boot_device) { - case MODE_SELECT_QSPI: - return BOOT_DEVICE_SPI; - case MODE_SELECT_SD: - return BOOT_DEVICE_MMC1; - default: - debug("Unsupported boot device 0x%x but trying MMC1\n", - boot_device); - return BOOT_DEVICE_MMC1; - } -} -#endif - -#ifdef CONFIG_SPL_LOAD_FIT -int board_fit_config_name_match(const char *name) -{ - /* boot using first FIT config */ - return 0; -} -#endif diff --git a/board/sifive/fu540/spl.c b/board/sifive/fu540/spl.c index 135e118..fe27316 100644 --- a/board/sifive/fu540/spl.c +++ b/board/sifive/fu540/spl.c @@ -11,11 +11,17 @@ #include <misc.h> #include <log.h> #include <linux/delay.h> +#include <linux/io.h> #include <asm/gpio.h> #include <asm/arch/gpio.h> #include <asm/arch/spl.h> -#define GEM_PHY_RESET SIFIVE_GENERIC_GPIO_NR(0, 12) +#define GEM_PHY_RESET SIFIVE_GENERIC_GPIO_NR(0, 12) + +#define MODE_SELECT_REG 0x1000 +#define MODE_SELECT_QSPI 0x6 +#define MODE_SELECT_SD 0xb +#define MODE_SELECT_MASK GENMASK(3, 0) int spl_board_init_f(void) { @@ -55,3 +61,28 @@ int spl_board_init_f(void) return 0; } + +u32 spl_boot_device(void) +{ + u32 mode_select = readl((void *)MODE_SELECT_REG); + u32 boot_device = mode_select & MODE_SELECT_MASK; + + switch (boot_device) { + case MODE_SELECT_QSPI: + return BOOT_DEVICE_SPI; + case MODE_SELECT_SD: + return BOOT_DEVICE_MMC1; + default: + debug("Unsupported boot device 0x%x but trying MMC1\n", + boot_device); + return BOOT_DEVICE_MMC1; + } +} + +#ifdef CONFIG_SPL_LOAD_FIT +int board_fit_config_name_match(const char *name) +{ + /* boot using first FIT config */ + return 0; +} +#endif |