diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c
index b5c44f915b4e8c04d1c1b9cb944d042f10025c1c..668f68476e681a7373cba5338b129a9fe517ad69 100644
--- a/board/logicpd/omap3som/omap3logic.c
+++ b/board/logicpd/omap3som/omap3logic.c
@@ -228,6 +228,30 @@ int board_init(void)
 	return 0;
 }
 
+#ifdef CONFIG_BOARD_LATE_INIT
+int board_late_init(void)
+{
+	switch (gd->bd->bi_arch_number) {
+	case MACH_TYPE_DM3730_TORPEDO:
+		setenv("fdtimage", "logicpd-torpedo-37xx-devkit.dtb");
+		break;
+	case MACH_TYPE_DM3730_SOM_LV:
+		setenv("fdtimage", "logicpd-som-lv-37xx-devkit.dtb");
+		break;
+	case MACH_TYPE_OMAP3_TORPEDO:
+		setenv("fdtimage", "logicpd-torpedo-35xx-devkit.dtb");
+		break;
+	case MACH_TYPE_OMAP3530_LV_SOM:
+		setenv("fdtimage", "logicpd-som-lv-35xx-devkit.dtb");
+		break;
+	default:
+		/* unknown machine type */
+		break;
+	}
+	return 0;
+}
+#endif
+
 #if defined(CONFIG_GENERIC_MMC) && !defined(CONFIG_SPL_BUILD)
 int board_mmc_init(bd_t *bis)
 {
diff --git a/include/configs/omap3_logic.h b/include/configs/omap3_logic.h
index fba2a1256b84baaf3def372e22f305191e5d6263..0fc9d1c4e136ab9ffb53b78e996371d3d2f1264f 100644
--- a/include/configs/omap3_logic.h
+++ b/include/configs/omap3_logic.h
@@ -40,7 +40,7 @@
 
 #define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_DISPLAY_BOARDINFO
-
+#define CONFIG_BOARD_LATE_INIT
 #define CONFIG_MISC_INIT_R		/* misc_init_r dumps the die id */
 #define CONFIG_CMDLINE_TAG		/* enable passing of ATAGs */
 #define CONFIG_SETUP_MEMORY_TAGS