diff options
Diffstat (limited to 'board')
| -rw-r--r-- | board/emulation/qemu-riscv/qemu-riscv.c | 8 | ||||
| -rw-r--r-- | board/sifive/unleashed/unleashed.c | 11 | ||||
| -rw-r--r-- | board/sifive/unmatched/unmatched.c | 10 | ||||
| -rw-r--r-- | board/starfive/visionfive2/MAINTAINERS | 2 | ||||
| -rw-r--r-- | board/starfive/visionfive2/spl.c | 43 | ||||
| -rw-r--r-- | board/starfive/visionfive2/starfive_visionfive2.c | 49 |
6 files changed, 37 insertions, 86 deletions
diff --git a/board/emulation/qemu-riscv/qemu-riscv.c b/board/emulation/qemu-riscv/qemu-riscv.c index a90222ea6a4..70190ebe8fc 100644 --- a/board/emulation/qemu-riscv/qemu-riscv.c +++ b/board/emulation/qemu-riscv/qemu-riscv.c @@ -63,11 +63,3 @@ int board_fit_config_name_match(const char *name) return 0; } #endif - -int board_fdt_blob_setup(void **fdtp) -{ - /* Stored the DTB address there during our init */ - *fdtp = (void *)(ulong)gd->arch.firmware_fdt_addr; - - return 0; -} diff --git a/board/sifive/unleashed/unleashed.c b/board/sifive/unleashed/unleashed.c index c1c374610c3..f5da289b836 100644 --- a/board/sifive/unleashed/unleashed.c +++ b/board/sifive/unleashed/unleashed.c @@ -114,17 +114,6 @@ int misc_init_r(void) #endif -int board_fdt_blob_setup(void **fdtp) -{ - if (gd->arch.firmware_fdt_addr) { - *fdtp = (ulong *)(uintptr_t)gd->arch.firmware_fdt_addr; - - return 0; - } - - return -EEXIST; -} - int board_init(void) { /* enable all cache ways */ diff --git a/board/sifive/unmatched/unmatched.c b/board/sifive/unmatched/unmatched.c index 23e03e145ee..a57ce1f10fe 100644 --- a/board/sifive/unmatched/unmatched.c +++ b/board/sifive/unmatched/unmatched.c @@ -10,16 +10,6 @@ #include <dm.h> #include <asm/sections.h> -int board_fdt_blob_setup(void **fdtp) -{ - if (gd->arch.firmware_fdt_addr) { - *fdtp = (ulong *)(uintptr_t)gd->arch.firmware_fdt_addr; - return 0; - } - - return -EEXIST; -} - int board_init(void) { /* enable all cache ways */ diff --git a/board/starfive/visionfive2/MAINTAINERS b/board/starfive/visionfive2/MAINTAINERS index 898e284ce2c..9d348c4b067 100644 --- a/board/starfive/visionfive2/MAINTAINERS +++ b/board/starfive/visionfive2/MAINTAINERS @@ -2,6 +2,6 @@ STARFIVE JH7110 VISIONFIVE2 BOARD M: Minda Chen <minda.chen@starfivetech.com> M: Hal Feng <hal.feng@starfivetech.com> S: Maintained -F: drivers/ram/starfive/ +N: starfive N: jh7110 N: visionfive2 diff --git a/board/starfive/visionfive2/spl.c b/board/starfive/visionfive2/spl.c index 3e4d3e21988..3dfa931b655 100644 --- a/board/starfive/visionfive2/spl.c +++ b/board/starfive/visionfive2/spl.c @@ -116,30 +116,29 @@ void board_init_f(ulong dummy) #if CONFIG_IS_ENABLED(LOAD_FIT) int board_fit_config_name_match(const char *name) { - const char *product_id; - u8 version; - - product_id = get_product_id_from_eeprom(); - - /* Strip off prefix */ - if (strncmp(name, "starfive/", 9)) - return -EINVAL; - name += 9; - if (!strncmp(product_id, "VF7110", 6)) { - version = get_pcb_revision_from_eeprom(); - if ((version == 'b' || version == 'B') && - !strcmp(name, "jh7110-starfive-visionfive-2-v1.3b")) - return 0; - - if ((version == 'a' || version == 'A') && - !strcmp(name, "jh7110-starfive-visionfive-2-v1.2a")) - return 0; - } else if (!strncmp(product_id, "MARS", 4) && - !strcmp(name, "jh7110-milkv-mars")) { + if (!strcmp(name, "starfive/jh7110-deepcomputing-fml13v01") && + !strncmp(get_product_id_from_eeprom(), "FML13V01", 8)) { return 0; - } else if (!strncmp(product_id, "STAR64", 6) && - !strcmp(name, "jh7110-pine64-star64")) { + } else if (!strcmp(name, "starfive/jh7110-milkv-mars") && + !strncmp(get_product_id_from_eeprom(), "MARS", 4)) { return 0; + } else if (!strcmp(name, "starfive/jh7110-pine64-star64") && + !strncmp(get_product_id_from_eeprom(), "STAR64", 6)) { + return 0; + } else if (!strcmp(name, "starfive/jh7110-starfive-visionfive-2-v1.2a") && + !strncmp(get_product_id_from_eeprom(), "VF7110", 6)) { + switch (get_pcb_revision_from_eeprom()) { + case 'a': + case 'A': + return 0; + } + } else if (!strcmp(name, "starfive/jh7110-starfive-visionfive-2-v1.3b") && + !strncmp(get_product_id_from_eeprom(), "VF7110", 6)) { + switch (get_pcb_revision_from_eeprom()) { + case 'b': + case 'B': + return 0; + } } return -EINVAL; diff --git a/board/starfive/visionfive2/starfive_visionfive2.c b/board/starfive/visionfive2/starfive_visionfive2.c index b8cd509bc89..bfbb11a2ee7 100644 --- a/board/starfive/visionfive2/starfive_visionfive2.c +++ b/board/starfive/visionfive2/starfive_visionfive2.c @@ -17,14 +17,6 @@ DECLARE_GLOBAL_DATA_PTR; #define JH7110_L2_PREFETCHER_BASE_ADDR 0x2030000 #define JH7110_L2_PREFETCHER_HART_OFFSET 0x2000 -#define FDTFILE_MILK_V_MARS \ - "starfive/jh7110-milkv-mars.dtb" -#define FDTFILE_VISIONFIVE2_1_2A \ - "starfive/jh7110-starfive-visionfive-2-v1.2a.dtb" -#define FDTFILE_VISIONFIVE2_1_3B \ - "starfive/jh7110-starfive-visionfive-2-v1.3b.dtb" -#define FDTFILE_PINE64_STAR64 \ - "starfive/jh7110-pine64-star64.dtb" /* enable U74-mc hart1~hart4 prefetcher */ static void enable_prefetcher(void) @@ -46,42 +38,41 @@ static void enable_prefetcher(void) } /** - * set_fdtfile() - set the $fdtfile variable based on the board revision + * set_fdtfile() - set the $fdtfile variable based on product data in EEPROM */ static void set_fdtfile(void) { - u8 version; const char *fdtfile; - const char *product_id; fdtfile = env_get("fdtfile"); if (fdtfile) return; - product_id = get_product_id_from_eeprom(); - if (!product_id) { + if (!get_product_id_from_eeprom()) { log_err("Can't read EEPROM\n"); return; } - if (!strncmp(product_id, "MARS", 4)) { - fdtfile = FDTFILE_MILK_V_MARS; - } else if (!strncmp(product_id, "VF7110", 6)) { - version = get_pcb_revision_from_eeprom(); - switch (version) { + if (!strncmp(get_product_id_from_eeprom(), "FML13V01", 8)) { + fdtfile = "starfive/jh7110-deepcomputing-fml13v01.dtb"; + } else if (!strncmp(get_product_id_from_eeprom(), "MARS", 4)) { + fdtfile = "starfive/jh7110-milkv-mars.dtb"; + } else if (!strncmp(get_product_id_from_eeprom(), "STAR64", 6)) { + fdtfile = "starfive/jh7110-pine64-star64.dtb"; + } else if (!strncmp(get_product_id_from_eeprom(), "VF7110", 6)) { + switch (get_pcb_revision_from_eeprom()) { case 'a': case 'A': - fdtfile = FDTFILE_VISIONFIVE2_1_2A; + fdtfile = "starfive/jh7110-starfive-visionfive-2-v1.2a.dtb"; break; - case 'b': case 'B': - default: - fdtfile = FDTFILE_VISIONFIVE2_1_3B; + fdtfile = "starfive/jh7110-starfive-visionfive-2-v1.3b.dtb"; break; + default: + log_err("Unknown revision\n"); + return; } - } else if (!strncmp(product_id, "STAR64", 6)) { - fdtfile = FDTFILE_PINE64_STAR64; } else { log_err("Unknown product\n"); return; @@ -106,16 +97,6 @@ int board_late_init(void) return 0; } -int board_fdt_blob_setup(void **fdtp) -{ - if (gd->arch.firmware_fdt_addr) { - *fdtp = (ulong *)(uintptr_t)gd->arch.firmware_fdt_addr; - return 0; - } - - return -EEXIST; -} - int ft_board_setup(void *blob, struct bd_info *bd) { return fdt_fixup_memory(blob, 0x40000000, gd->ram_size); |
