board: starfive: DeepComputing FML13V01 fdt selection
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Thu, 24 Apr 2025 12:13:10 +0000 (14:13 +0200)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fri, 25 Apr 2025 15:32:08 +0000 (17:32 +0200)
We support all JH7110 boards with starfive_visionfive2_defconfig.
The relevant device-tree is selected at runtime based on EEPROM data.

Support setting $fdtfile to the file name of the DeepComputing Framework
motherboard (FML13V01) device-tree.

Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: E Shattow <e@freeshell.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
board/starfive/visionfive2/starfive_visionfive2.c

index b8cd509..5fe888d 100644 (file)
@@ -17,6 +17,8 @@
 DECLARE_GLOBAL_DATA_PTR;
 #define JH7110_L2_PREFETCHER_BASE_ADDR         0x2030000
 #define JH7110_L2_PREFETCHER_HART_OFFSET       0x2000
+#define FDTFILE_FML13V01 \
+       "starfive/jh7110-deepcomputing-fml13v01.dtb"
 #define FDTFILE_MILK_V_MARS \
        "starfive/jh7110-milkv-mars.dtb"
 #define FDTFILE_VISIONFIVE2_1_2A \
@@ -63,7 +65,9 @@ static void set_fdtfile(void)
                log_err("Can't read EEPROM\n");
                return;
        }
-       if (!strncmp(product_id, "MARS", 4)) {
+       if (!strncmp(product_id, "FML13V01", 8)) {
+               fdtfile = FDTFILE_FML13V01;
+       } else if (!strncmp(product_id, "MARS", 4)) {
                fdtfile = FDTFILE_MILK_V_MARS;
        } else if (!strncmp(product_id, "VF7110", 6)) {
                version = get_pcb_revision_from_eeprom();