diff --git a/README b/README
index 41da5c3099498901dbe8ac650e525a85c67dde63..3cc82a69669fbdf5158c64f09ccd1553ee0b6829 100644
--- a/README
+++ b/README
@@ -844,7 +844,6 @@ The following options need to be configured:
 		CONFIG_CMD_FAT		* FAT command support
 		CONFIG_CMD_FLASH	  flinfo, erase, protect
 		CONFIG_CMD_FPGA		  FPGA device initialization support
-		CONFIG_CMD_FUSE		* Device fuse support
 		CONFIG_CMD_GETTIME	* Get time since boot
 		CONFIG_CMD_GO		* the 'go' command (exec code)
 		CONFIG_CMD_GREPENV	* search environment
diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig
index 0ff904507dd2dfeef922c2ec38c59e304b373723..4fd60d480e16595cdec2b937f989d7e9cc47ba2b 100644
--- a/arch/arm/cpu/armv7/mx6/Kconfig
+++ b/arch/arm/cpu/armv7/mx6/Kconfig
@@ -7,6 +7,7 @@ config MX6
 	select ARM_ERRATA_751472 if !MX6UL
 	select ARM_ERRATA_761320 if !MX6UL
 	select ARM_ERRATA_794072 if !MX6UL
+	imply CMD_FUSE
 
 config MX6D
 	bool
diff --git a/arch/arm/cpu/armv7/mx7/Kconfig b/arch/arm/cpu/armv7/mx7/Kconfig
index 8dfb4c96464f4e9e0a783ccdb0ec5d0fc75200a3..80c129019a5ae6572223e28c9f3539672943641a 100644
--- a/arch/arm/cpu/armv7/mx7/Kconfig
+++ b/arch/arm/cpu/armv7/mx7/Kconfig
@@ -6,10 +6,12 @@ config MX7
 	select CPU_V7_HAS_VIRT
 	select CPU_V7_HAS_NONSEC
 	select ARCH_SUPPORT_PSCI
+	imply CMD_FUSE
 	default y
 
 config MX7D
 	select ROM_UNIFIED_SECTIONS
+	imply CMD_FUSE
 	bool
 
 choice
diff --git a/cmd/Kconfig b/cmd/Kconfig
index 16cf961f3ee62361d7f50345b008cca1d0c0f90a..495080fc01e08c1b3820439fdfb581d4aa46f26e 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -627,6 +627,14 @@ config CMD_FPGAD
 	  fpga_get_reg() function. This functions similarly to the 'md'
 	  command.
 
+config CMD_FUSE
+	bool "fuse - support for the fuse subssystem"
+	help
+	  (deprecated - needs conversion to driver model)
+	  This allows reading, sensing, programming or overriding fuses
+	  which control the behaviour of the device. The command uses the
+	  fuse_...() API.
+
 config CMD_REMOTEPROC
 	bool "remoteproc"
 	depends on REMOTEPROC
diff --git a/configs/colibri_vf_defconfig b/configs/colibri_vf_defconfig
index b69ce6522491653799fb8e8c1dac458b5e47c69b..cc9c4eee619c96b6586589103814a4f03c907607 100644
--- a/configs/colibri_vf_defconfig
+++ b/configs/colibri_vf_defconfig
@@ -21,6 +21,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DFU=y
 CONFIG_CMD_USB_MASS_STORAGE=y
+CONFIG_CMD_FUSE=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
diff --git a/configs/mx51evk_defconfig b/configs/mx51evk_defconfig
index d7e5404048d307ac6cfe5ec64401896a456c995e..3f57c88a88cfb06b36a06fbaa219ecc78fde76dc 100644
--- a/configs/mx51evk_defconfig
+++ b/configs/mx51evk_defconfig
@@ -14,6 +14,7 @@ CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_FUSE=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
index 3b136e88c2c5d64c23ccac3b732afc0bebdcc213..d4a1562f2af16c97a135c96243d551fcc902a889 100644
--- a/configs/sandbox_defconfig
+++ b/configs/sandbox_defconfig
@@ -44,6 +44,7 @@ CONFIG_CMD_CDP=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_DNS=y
 CONFIG_CMD_LINK_LOCAL=y
+CONFIG_CMD_ETHSW=y
 CONFIG_CMD_BMP=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_TIMER=y
@@ -184,6 +185,5 @@ CONFIG_UNIT_TEST=y
 CONFIG_UT_TIME=y
 CONFIG_UT_DM=y
 CONFIG_UT_ENV=y
-CONFIG_CMD_ETHSW=y
 CONFIG_WDT=y
 CONFIG_WDT_SANDBOX=y
diff --git a/configs/usbarmory_defconfig b/configs/usbarmory_defconfig
index 43256177be019df641574a072d30a29537c67c8a..a71a75751f1ce435b4b41e1b021422031b3b87de 100644
--- a/configs/usbarmory_defconfig
+++ b/configs/usbarmory_defconfig
@@ -8,6 +8,7 @@ CONFIG_CMD_MEMTEST=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_FUSE=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/vf610twr_defconfig b/configs/vf610twr_defconfig
index 9198f65eaa073091d63608d0ca2420bdd1561607..47193094dd05b0d6c5bf54154c9344427b92acdf 100644
--- a/configs/vf610twr_defconfig
+++ b/configs/vf610twr_defconfig
@@ -10,6 +10,7 @@ CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_I2C=y
+CONFIG_CMD_FUSE=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
diff --git a/configs/vf610twr_nand_defconfig b/configs/vf610twr_nand_defconfig
index ba4e5965cad11122a042092f3d74ca9cbe322054..f1dc19a543ab185289b60b3c586631c0734299d6 100644
--- a/configs/vf610twr_nand_defconfig
+++ b/configs/vf610twr_nand_defconfig
@@ -10,6 +10,7 @@ CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_I2C=y
+CONFIG_CMD_FUSE=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h
index 9b3d88a1f8e850000230758511c3e5fa4e4ab29e..7e9983e150aadec5fbad344ff0fe1c251908517c 100644
--- a/include/config_cmd_all.h
+++ b/include/config_cmd_all.h
@@ -13,7 +13,6 @@
  * Alphabetical list of all possible commands.
  */
 
-#define CONFIG_CMD_FUSE		/* Device fuse support		*/
 #define CONFIG_CMD_GETTIME	/* Get time since boot         */
 #define CONFIG_CMD_HASH		/* calculate hash / digest	*/
 #define CONFIG_CMD_IDE		/* IDE harddisk support		*/
diff --git a/include/configs/ac14xx.h b/include/configs/ac14xx.h
index 2a46e9b86471c157bd35274d7f2c36d2b6366c2b..3d3c216d61973b36d19160ce9dc5e21c3d78b192 100644
--- a/include/configs/ac14xx.h
+++ b/include/configs/ac14xx.h
@@ -367,7 +367,6 @@
 #define CONFIG_LOADS_ECHO		1
 #define CONFIG_SYS_LOADS_BAUD_CHANGE	1
 
-#undef CONFIG_CMD_FUSE
 #undef CONFIG_CMD_IDE
 #define CONFIG_CMD_JFFS2
 #define CONFIG_CMD_REGINFO
diff --git a/include/configs/advantech_dms-ba16.h b/include/configs/advantech_dms-ba16.h
index b76f376a042f55a4beefc41852c67f22c5a231f4..f320792cfd478d8623c2a1765e4c236493eecd14 100644
--- a/include/configs/advantech_dms-ba16.h
+++ b/include/configs/advantech_dms-ba16.h
@@ -36,7 +36,6 @@
 #define CONFIG_MXC_GPIO
 #define CONFIG_MXC_UART
 
-#define CONFIG_CMD_FUSE
 #define CONFIG_MXC_OCOTP
 
 /* SATA Configs */
diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h
index c1c0f592d25af4b1caa30ff11aa1f281da9966d6..8eddb68d3b4d892e4bffa21729b4572eac597f38 100644
--- a/include/configs/apalis_imx6.h
+++ b/include/configs/apalis_imx6.h
@@ -54,7 +54,6 @@
 #define CONFIG_SYS_I2C_SPEED		100000
 
 /* OCOTP Configs */
-#define CONFIG_CMD_FUSE
 #ifdef CONFIG_CMD_FUSE
 #define CONFIG_MXC_OCOTP
 #endif
diff --git a/include/configs/aria.h b/include/configs/aria.h
index 4d946fc44a9cfe0e88666e6147735467c036ad38..3b5d56c6bb99049f7306ed75eefb62073f69cb7d 100644
--- a/include/configs/aria.h
+++ b/include/configs/aria.h
@@ -372,7 +372,6 @@
 #define CONFIG_LOADS_ECHO		1
 #define CONFIG_SYS_LOADS_BAUD_CHANGE	1
 
-#undef CONFIG_CMD_FUSE
 #undef CONFIG_CMD_IDE
 #define CONFIG_CMD_JFFS2
 #define CONFIG_CMD_REGINFO
diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h
index 9c4085245a769eeba285dadf9d3d767314b1ec72..6189a6191f04fb2310f900f981d925adfbd64e7c 100644
--- a/include/configs/colibri_imx6.h
+++ b/include/configs/colibri_imx6.h
@@ -52,7 +52,6 @@
 #define CONFIG_SYS_I2C_SPEED		100000
 
 /* OCOTP Configs */
-#define CONFIG_CMD_FUSE
 #ifdef CONFIG_CMD_FUSE
 #define CONFIG_MXC_OCOTP
 #endif
diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h
index 28383f49da651da61a252fc95876a6db88e23c88..6e8cd914b34c2f5a46ebcb3790950ca654c38d73 100644
--- a/include/configs/colibri_vf.h
+++ b/include/configs/colibri_vf.h
@@ -20,7 +20,6 @@
 
 #define CONFIG_SKIP_LOWLEVEL_INIT
 
-#define CONFIG_CMD_FUSE
 #ifdef CONFIG_CMD_FUSE
 #define CONFIG_MXC_OCOTP
 #endif
diff --git a/include/configs/ge_bx50v3.h b/include/configs/ge_bx50v3.h
index 198259b3c0d40041f29e7649dd85dc1027c183c3..f60a0298d6b6989bfe9778c9b8ddf829a9785c9b 100644
--- a/include/configs/ge_bx50v3.h
+++ b/include/configs/ge_bx50v3.h
@@ -47,7 +47,6 @@
 #define CONFIG_MXC_GPIO
 #define CONFIG_MXC_UART
 
-#define CONFIG_CMD_FUSE
 #define CONFIG_MXC_OCOTP
 
 /* SATA Configs */
diff --git a/include/configs/mecp5123.h b/include/configs/mecp5123.h
index fe94e663c5b3a9ef5572cb445c51177e29c1d3fd..6e10cafe6e7853d3d708c954461ea01618625403 100644
--- a/include/configs/mecp5123.h
+++ b/include/configs/mecp5123.h
@@ -273,7 +273,6 @@
 #define CONFIG_SYS_LOADS_BAUD_CHANGE	/* allow baudrate change	*/
 
 #define CONFIG_CMD_REGINFO
-#undef CONFIG_CMD_FUSE
 #undef CONFIG_CMD_IDE
 #define CONFIG_CMD_JFFS2
 
diff --git a/include/configs/mpc5121ads.h b/include/configs/mpc5121ads.h
index 7919320c88685f29e0828fb1741793c773685bcf..bd7c4a64e2d53d19177078e09524f520464de37f 100644
--- a/include/configs/mpc5121ads.h
+++ b/include/configs/mpc5121ads.h
@@ -382,8 +382,6 @@
 #define CONFIG_CMD_JFFS2
 #define CONFIG_CMD_REGINFO
 
-#undef CONFIG_CMD_FUSE
-
 #if defined(CONFIG_PCI)
 #define CONFIG_CMD_PCI
 #endif
diff --git a/include/configs/mx51evk.h b/include/configs/mx51evk.h
index 54bc5634676e4286a114aff2fb7684276e4355e5..4513adf2c4172b95c96bb5e1c500dc0244dcdaf2 100644
--- a/include/configs/mx51evk.h
+++ b/include/configs/mx51evk.h
@@ -33,7 +33,6 @@
  * Hardware drivers
  */
 #define CONFIG_FSL_IIM
-#define CONFIG_CMD_FUSE
 
 #define CONFIG_MXC_UART
 #define CONFIG_MXC_UART_BASE	UART1_BASE
diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h
index 21ac3fc357a3fb1591d4f5dc104d58a38fb38afd..1a8ab4ee33e1d7e29584f830f6848799f0efe942 100644
--- a/include/configs/mx6_common.h
+++ b/include/configs/mx6_common.h
@@ -78,7 +78,6 @@
 #define CONFIG_FSL_USDHC
 
 /* Fuses */
-#define CONFIG_CMD_FUSE
 #define CONFIG_MXC_OCOTP
 
 /* Secure boot (HAB) support */
diff --git a/include/configs/mx7_common.h b/include/configs/mx7_common.h
index 9a20c7732dd8648b04f219fd5043d860d823f5d2..fe460109d12a6d5e12a4cf16d5f837fa58551f7f 100644
--- a/include/configs/mx7_common.h
+++ b/include/configs/mx7_common.h
@@ -59,7 +59,6 @@
 #define CONFIG_FSL_USDHC
 
 /* Fuses */
-#define CONFIG_CMD_FUSE
 #define CONFIG_MXC_OCOTP
 
 #define CONFIG_ARMV7_SECURE_BASE	0x00900000
diff --git a/include/configs/pdm360ng.h b/include/configs/pdm360ng.h
index 4bd8236b33cd57ed738638d5f30e986966456f83..676d55f5e8b10ead9d3501bd08a66fc95bce89b2 100644
--- a/include/configs/pdm360ng.h
+++ b/include/configs/pdm360ng.h
@@ -340,8 +340,6 @@
 
 #define CONFIG_CMD_REGINFO
 
-#undef CONFIG_CMD_FUSE
-
 /*
  * Miscellaneous configurable options
  */
diff --git a/include/configs/usbarmory.h b/include/configs/usbarmory.h
index f725b79cd4f873cd9f1e58e9e3fafc16ecb69154..e25bf99e1c23e3fe26f121f3f9f773c3f01e2458 100644
--- a/include/configs/usbarmory.h
+++ b/include/configs/usbarmory.h
@@ -53,7 +53,6 @@
 #define CONFIG_SYS_I2C_MXC_I2C2		/* enable I2C bus 2 */
 
 /* Fuse */
-#define CONFIG_CMD_FUSE
 #define CONFIG_FSL_IIM
 
 /* U-Boot memory offsets */
diff --git a/include/configs/vf610twr.h b/include/configs/vf610twr.h
index 3e7dc9b685fbd04e0ab1d68aa76fb2690787b181..2460294d88033c6c21460e2fb90c240290920b59 100644
--- a/include/configs/vf610twr.h
+++ b/include/configs/vf610twr.h
@@ -20,7 +20,6 @@
 /* Enable passing of ATAGs */
 #define CONFIG_CMDLINE_TAG
 
-#define CONFIG_CMD_FUSE
 #ifdef CONFIG_CMD_FUSE
 #define CONFIG_MXC_OCOTP
 #endif
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 99380271369a53e55e4419329f117fb36d12d746..91800816dd1c6dde421de5359fa7f0a70d3a1a2a 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -383,7 +383,6 @@ CONFIG_CM922T_XA10
 CONFIG_CMDLINE_EDITING
 CONFIG_CMDLINE_PS_SUPPORT
 CONFIG_CMDLINE_TAG
-CONFIG_CMD_FUSE
 CONFIG_CMD_GETTIME
 CONFIG_CMD_GSC
 CONFIG_CMD_HASH