+S:CONFIG_ARM=y
 +S:CONFIG_TARGET_AM335X_EVM=y
 CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="am335x-boneblack"
 
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_ARNDALE=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos5250-arndale"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA30=y
 +S:CONFIG_TARGET_BEAVER=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra30-beaver"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA30=y
 +S:CONFIG_TARGET_CARDHU=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra30-cardhu"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_COLIBRI_T20_IRIS=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-colibri_t20_iris"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA30=y
 +S:CONFIG_TARGET_COLIBRI_T30=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra30-colibri"
 
 CONFIG_X86=y
 CONFIG_TARGET_COREBOOT=y
 CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="link"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA114=y
 +S:CONFIG_TARGET_DALMORE=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra114-dalmore"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_HARMONY=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-harmony"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA124=y
 +S:CONFIG_TARGET_JETSON_TK1=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra124-jetson-tk1"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_MEDCOM_WIDE=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-medcom-wide"
 
 +S:CONFIG_TARGET_MICROBLAZE_GENERIC=y
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
+CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic"
 
 CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_ODROID=y
 CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos4412-odroid"
 
 +S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_ORIGEN=y
 CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos4210-origen"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_PAZ00=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-paz00"
 
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_PEACH_PIT=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos5420-peach-pit"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_PLUTUX=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-plutux"
 
 CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_S5PC210_UNIVERSAL=y
 CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos4210-universal_c210"
 
 CONFIG_OF_CONTROL=y
 CONFIG_OF_HOSTFILE=y
+CONFIG_DEFAULT_DEVICE_TREE="sandbox"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_SEABOARD=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-seaboard"
 
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_SMDK5250=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos5250-smdk5250"
 
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_SMDK5420=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos5420-smdk5420"
 
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_SNOW=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos5250-snow"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA30=y
 +S:CONFIG_TARGET_TEC_NG=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra30-tec-ng"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_TEC=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-tec"
 
 CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_TRATS2=y
 CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos4412-trats2"
 
 CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_TRATS=y
 CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos4210-trats"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_TRIMSLICE=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-trimslice"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA124=y
 +S:CONFIG_TARGET_VENICE2=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra124-venice2"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_VENTANA=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-ventana"
 
 CONFIG_ARM=y
 CONFIG_TARGET_VEXPRESS_AEMV8A=y
+CONFIG_DEFAULT_DEVICE_TREE="vexpress64"
 
 CONFIG_SYS_EXTRA_OPTIONS="SEMIHOSTING,BASE_FVP"
 CONFIG_ARM=y
 CONFIG_TARGET_VEXPRESS_AEMV8A=y
+CONFIG_DEFAULT_DEVICE_TREE="vexpress64"
 
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_WHISTLER=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-whistler"
 
 +S:CONFIG_ZYNQ=y
 +S:CONFIG_TARGET_ZYNQ_MICROZED=y
 CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-microzed"
 
 +S:CONFIG_ZYNQ=y
 +S:CONFIG_TARGET_ZYNQ_ZC70X=y
 CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-zc702"
 
 +S:CONFIG_ZYNQ=y
 +S:CONFIG_TARGET_ZYNQ_ZC770=y
 CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-zc770-xm010"
 
 +S:CONFIG_ZYNQ=y
 +S:CONFIG_TARGET_ZYNQ_ZC770=y
 CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-zc770-xm012"
 
 +S:CONFIG_ZYNQ=y
 +S:CONFIG_TARGET_ZYNQ_ZC770=y
 CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-zc770-xm013"
 
 +S:CONFIG_ZYNQ=y
 +S:CONFIG_TARGET_ZYNQ_ZED=y
 CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-zed"
 
 
 endchoice
 
+config DEFAULT_DEVICE_TREE
+       string "Default Device Tree for DT control"
+       help
+         This option specifies the default Device Tree used for DT control.
+         It can be overrided from the command line:
+         $ make DEVICE_TREE=<device-tree-name>
+
 endmenu
 
 # define CONFIG_TIMESTAMP
 # define CONFIG_LZO
 # ifdef CONFIG_ENABLE_VBOOT
-#  define CONFIG_DEFAULT_DEVICE_TREE am335x-boneblack
 #  define CONFIG_FIT_SIGNATURE
 #  define CONFIG_RSA
 # endif
 
 #define CONFIG_POWER_I2C
 #define CONFIG_POWER_MAX77686
 
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos5250-arndale
 
 #define CONFIG_PREBOOT
 
 
 /* VDD core PMIC */
 #define CONFIG_TEGRA_VDD_CORE_TPS62366A_SET1
 
-/* Enable fdt support for Beaver. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra30-beaver
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra30 (Beaver) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Beaver"
 
 /* VDD core PMIC */
 #define CONFIG_TEGRA_VDD_CORE_TPS62361B_SET3
 
-/* Enable fdt support for Cardhu. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra30-cardhu
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra30 (Cardhu) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Cardhu"
 
 
 #include "tegra20-common.h"
 
-/* Enable FDT support */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-colibri_t20_iris
-
 /* High-level configuration options */
 #define V_PROMPT                   "Tegra20 (Colibri) # "
 #define CONFIG_TEGRA_BOARD_STRING  "Toradex Colibri T20 on Iris"
 
 
 #include "tegra30-common.h"
 
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra30-colibri
 
 #define V_PROMPT                       "Colibri T30 # "
 #define CONFIG_TEGRA_BOARD_STRING      "Toradex Colibri T30"
 
 
 #define CONFIG_LMB
 #define CONFIG_OF_LIBFDT
-#define CONFIG_DEFAULT_DEVICE_TREE     link
 
 #define CONFIG_BOOTSTAGE
 #define CONFIG_BOOTSTAGE_REPORT
 
 
 #include "tegra114-common.h"
 
-/* Enable fdt support for Dalmore. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra114-dalmore
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra114 (Dalmore) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Dalmore"
 
 #include <linux/sizes.h>
 #include "tegra20-common.h"
 
-/* Enable fdt support for Harmony. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-harmony
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra20 (Harmony) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Harmony"
 
 
 #include "tegra124-common.h"
 
-/* Enable fdt support for Jetson TK1. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra124-jetson-tk1
-
 /* High-level configuration options */
 #define V_PROMPT                       "Tegra124 (Jetson TK1) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Jetson TK1"
 
 
 #include "tegra20-common.h"
 
-/* Enable fdt support for Medcom-Wide. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-medcom-wide
-
 /* High-level configuration options */
 #define V_PROMPT                       "Tegra20 (Medcom-Wide) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Avionic Design Medcom-Wide"
 
 /* MicroBlaze CPU */
 #define        MICROBLAZE_V5           1
 
-/* Open Firmware DTS */
-#define CONFIG_DEFAULT_DEVICE_TREE microblaze-generic
-
 /* linear and spi flash memory */
 #ifdef XILINX_FLASH_START
 #define        FLASH
 
 
 #define CONFIG_SYS_PROMPT      "Odroid # "     /* Monitor Command Prompt */
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos4412-odroid
 
 #define CONFIG_SYS_L2CACHE_OFF
 #ifndef CONFIG_SYS_L2CACHE_OFF
 
 
 #define CONFIG_SYS_PROMPT              "ORIGEN # "
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos4210-origen
 
 /* High Level Configuration Options */
 #define CONFIG_EXYNOS4210              1       /* which is a EXYNOS4210 SoC */
 
 #include <linux/sizes.h>
 #include "tegra20-common.h"
 
-/* Enable fdt support for Paz00. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-paz00
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra20 (Paz00) MOD # "
 #define CONFIG_TEGRA_BOARD_STRING      "Compal Paz00"
 
 
 #include <configs/exynos5420.h>
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos5420-peach-pit
 
 /* select serial console configuration */
 #define CONFIG_SERIAL3         /* use SERIAL 3 */
 
 
 #include "tegra20-common.h"
 
-/* Enable fdt support for Plutux. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-plutux
-
 /* High-level configuration options */
 #define V_PROMPT                       "Tegra20 (Plutux) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Avionic Design Plutux"
 
 
 #define CONFIG_SYS_PROMPT      "Universal # "  /* Monitor Command Prompt */
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos4210-universal_c210
 
 #define CONFIG_TIZEN                   /* TIZEN lib */
 
 
 #define CONFIG_FIT_SIGNATURE
 #define CONFIG_RSA
 #define CONFIG_CMD_FDT
-#define CONFIG_DEFAULT_DEVICE_TREE     sandbox
 #define CONFIG_ANDROID_BOOT_IMAGE
 
 #define CONFIG_FS_FAT
 
 
 #include "tegra20-common.h"
 
-/* Enable fdt support for Seaboard. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-seaboard
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra20 (SeaBoard) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Seaboard"
 
 
 #include <configs/exynos5250-dt.h>
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos5250-smdk5250
 
 /* Enable FIT support and comparison */
 #define CONFIG_FIT
 
 
 #define CONFIG_SMDK5420                        /* which is in a SMDK5420 */
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos5420-smdk5420
 
 /* select serial console configuration */
 #define CONFIG_SERIAL3         /* use SERIAL 3 */
 
 
 #include <configs/exynos5250-dt.h>
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos5250-snow
 
 /* Enable FIT support and comparison */
 #define CONFIG_FIT
 
 
 #include "tegra30-common.h"
 
-/* Enable fdt support for tec-ng. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra30-tec-ng
-
 /* High-level configuration options */
 #define V_PROMPT                       "Tegra30 (TEC-NG) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Avionic Design Tamonten™ NG Evaluation Carrier"
 
 
 #include "tegra20-common.h"
 
-/* Enable fdt support for TEC. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-tec
-
 /* High-level configuration options */
 #define V_PROMPT                       "Tegra20 (TEC) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Avionic Design Tamonten Evaluation Carrier"
 
 
 #define CONFIG_TRATS
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos4210-trats
 
 #define CONFIG_TIZEN                   /* TIZEN lib */
 
 
 
 #define CONFIG_SYS_PROMPT      "Trats2 # "     /* Monitor Command Prompt */
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos4412-trats2
 
 #define CONFIG_TIZEN                   /* TIZEN lib */
 
 
 #include <linux/sizes.h>
 #include "tegra20-common.h"
 
-/* Enable fdt support for TrimSlice. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-trimslice
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra20 (TrimSlice) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Compulab Trimslice"
 
 
 #include "tegra124-common.h"
 
-/* Enable fdt support for Venice2. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra124-venice2
-
 /* High-level configuration options */
 #define V_PROMPT                       "Tegra124 (Venice2) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Venice2"
 
 #include <linux/sizes.h>
 #include "tegra20-common.h"
 
-/* Enable fdt support for Ventana. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-ventana
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra20 (Ventana) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Ventana"
 
 /* Flat Device Tree Definitions */
 #define CONFIG_OF_LIBFDT
 
-#define CONFIG_DEFAULT_DEVICE_TREE     vexpress64
 
 /* SMP Spin Table Definitions */
 #ifdef CONFIG_BASE_FVP
 
 #include <linux/sizes.h>
 #include "tegra20-common.h"
 
-/* Enable fdt support for Whistler. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-whistler
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra20 (Whistler) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Whistler"
 
 #define CONFIG_SYS_NO_FLASH
 
 #define CONFIG_ZYNQ_SDHCI0
-#define CONFIG_DEFAULT_DEVICE_TREE     zynq-microzed
 
 #include <configs/zynq-common.h>
 
 
 #define CONFIG_ZYNQ_I2C0
 #define CONFIG_ZYNQ_EEPROM
 #define CONFIG_ZYNQ_BOOT_FREEBSD
-#define CONFIG_DEFAULT_DEVICE_TREE     zynq-zc702
 
 #include <configs/zynq-common.h>
 
 
 # define CONFIG_ZYNQ_GEM_PHY_ADDR0     7
 # define CONFIG_ZYNQ_SDHCI0
 # define CONFIG_ZYNQ_SPI
-# define CONFIG_DEFAULT_DEVICE_TREE    zynq-zc770-xm010
 
 #elif defined(CONFIG_ZC770_XM012)
 # define CONFIG_ZYNQ_SERIAL_UART1
 # undef CONFIG_SYS_NO_FLASH
-# define CONFIG_DEFAULT_DEVICE_TREE    zynq-zc770-xm012
 
 #elif defined(CONFIG_ZC770_XM013)
 # define CONFIG_ZYNQ_SERIAL_UART0
 # define CONFIG_ZYNQ_GEM1
 # define CONFIG_ZYNQ_GEM_PHY_ADDR1     7
-# define CONFIG_DEFAULT_DEVICE_TREE    zynq-zc770-xm013
 
 #else
 # define CONFIG_ZYNQ_SERIAL_UART0
 
 #define CONFIG_ZYNQ_USB
 #define CONFIG_ZYNQ_SDHCI0
 #define CONFIG_ZYNQ_BOOT_FREEBSD
-#define CONFIG_DEFAULT_DEVICE_TREE     zynq-zed
 
 #include <configs/zynq-common.h>