From 3581811dc26fdf9eef05a7de9f654dc6a7a2596a Mon Sep 17 00:00:00 2001 From: Bin Meng Date: Sun, 2 Aug 2020 23:09:06 -0700 Subject: [PATCH] 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 Reviewed-by: Leo Liang Reviewed-by: Rick Chen Reviewed-by: Pragnesh Patel Tested-by: Pragnesh Patel --- board/sifive/fu540/fu540.c | 33 --------------------------------- 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 57753ba50b..54e5a4c167 100644 --- a/board/sifive/fu540/fu540.c +++ b/board/sifive/fu540/fu540.c @@ -13,7 +13,6 @@ #include #include #include -#include #include #include #include @@ -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 135e118617..fe27316b2d 100644 --- a/board/sifive/fu540/spl.c +++ b/board/sifive/fu540/spl.c @@ -11,11 +11,17 @@ #include #include #include +#include #include #include #include -#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