diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 6771d8d..1c62c23 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -26,6 +26,7 @@
 
 config TARGET_STARFIVE_VISIONFIVE2
 	bool "Support StarFive VisionFive2 Board"
+	select BOARD_LATE_INIT
 
 config TARGET_TH1520_LPI4A
 	bool "Support Sipeed's TH1520 Lichee PI 4A Board"
diff --git a/board/starfive/visionfive2/starfive_visionfive2.c b/board/starfive/visionfive2/starfive_visionfive2.c
index d609262..05d8d2d 100644
--- a/board/starfive/visionfive2/starfive_visionfive2.c
+++ b/board/starfive/visionfive2/starfive_visionfive2.c
@@ -5,14 +5,20 @@
  */
 
 #include <common.h>
-#include <asm/io.h>
-#include <asm/sections.h>
 #include <cpu_func.h>
 #include <dm.h>
+#include <env.h>
+#include <asm/arch/eeprom.h>
+#include <asm/io.h>
+#include <asm/sections.h>
 #include <linux/bitops.h>
 
 #define JH7110_L2_PREFETCHER_BASE_ADDR		0x2030000
 #define JH7110_L2_PREFETCHER_HART_OFFSET	0x2000
+#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"
 
 /* enable U74-mc hart1~hart4 prefetcher */
 static void enable_prefetcher(void)
@@ -33,6 +39,31 @@
 	}
 }
 
+/**
+ * set_fdtfile() - set the $fdtfile variable based on the board revision
+ */
+static void set_fdtfile(void)
+{
+	u8 version;
+	const char *fdtfile;
+
+	version = get_pcb_revision_from_eeprom();
+	switch (version) {
+	case 'a':
+	case 'A':
+		fdtfile = FDTFILE_VISIONFIVE2_1_2A;
+	        break;
+
+	case 'b':
+	case 'B':
+	default:
+		fdtfile = FDTFILE_VISIONFIVE2_1_3B;
+	        break;
+	};
+
+	env_set("fdtfile", fdtfile);
+}
+
 int board_init(void)
 {
 	enable_caches();
@@ -41,6 +72,14 @@
 	return 0;
 }
 
+int board_late_init(void)
+{
+	if (CONFIG_IS_ENABLED(ID_EEPROM))
+		set_fdtfile();
+
+	return 0;
+}
+
 void *board_fdt_blob_setup(int *err)
 {
 	*err = 0;
