diff --git a/cmd/Kconfig b/cmd/Kconfig
index d51645c634e0f8601f92a9c26994ec6af736d5ff..42e0e39e75c2b436b2c104152a74cb5fe7ecf5bd 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -38,6 +38,12 @@ config SYS_PROMPT
 
 menu "Autoboot options"
 
+config AUTOBOOT
+	bool "Autoboot"
+	default y
+	help
+	  This enables the autoboot.  See doc/README.autoboot for detail.
+
 config AUTOBOOT_KEYED
 	bool "Stop autobooting via specific input key / string"
 	default n
diff --git a/common/Kconfig b/common/Kconfig
index e6911451999e4199d493ba3855c11f980c5d6c8a..ada4ddbe2c01a0b57e1e46d2335a01e18ee4d761 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -100,6 +100,7 @@ endmenu
 config BOOTDELAY
 	int "delay in seconds before automatically booting"
 	default 2
+	depends on AUTOBOOT
 	help
 	  Delay before automatically running bootcmd;
 	  set to -1 to disable autoboot.
diff --git a/common/Makefile b/common/Makefile
index 97c59fe499a26beb8f51ec40435de385023597c1..34cb8987eb6e745b0b267d841d442f380718ef41 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -15,10 +15,7 @@ ifdef CONFIG_SYS_HUSH_PARSER
 obj-y += cli_hush.o
 endif
 
-# This option is not just y/n - it can have a numeric value
-ifdef CONFIG_BOOTDELAY
-obj-y += autoboot.o
-endif
+obj-$(CONFIG_AUTOBOOT) += autoboot.o
 
 # This option is not just y/n - it can have a numeric value
 ifdef CONFIG_BOOT_RETRY_TIME
diff --git a/configs/10m50_defconfig b/configs/10m50_defconfig
index 4f85c22ac071bf01b8cca127bfbdde97bdb4901d..15952af1c8aff30b27d6428697c5b225535144da 100644
--- a/configs/10m50_defconfig
+++ b/configs/10m50_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="10m50_devboard"
 CONFIG_FIT=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_CPU=y
 # CONFIG_CMD_BOOTD is not set
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/3c120_defconfig b/configs/3c120_defconfig
index c145cafded60e76b96a415d383ee39039e13fd05..b19c956485404488a5a97349a9639e3f1dcd0d9a 100644
--- a/configs/3c120_defconfig
+++ b/configs/3c120_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="3c120_devboard"
 CONFIG_FIT=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_CPU=y
 # CONFIG_CMD_BOOTD is not set
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/M5249EVB_defconfig b/configs/M5249EVB_defconfig
index f06379f422d74c95e60876b36a5aca0ef117d36b..1588c528b9e7864aba98cf219026e13509ecd322 100644
--- a/configs/M5249EVB_defconfig
+++ b/configs/M5249EVB_defconfig
@@ -1,6 +1,7 @@
 CONFIG_M68K=y
 CONFIG_TARGET_M5249EVB=y
 CONFIG_SYS_TEXT_BASE=0xffe00000
+# CONFIG_AUTOBOOT is not set
 CONFIG_LOOPW=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
diff --git a/configs/am335x_sl50_defconfig b/configs/am335x_sl50_defconfig
index c227ef4725befcebe915d5e56267f3206b02a974..01c1eeb14ee94b1c8a2bec7e43def167d41d0676 100644
--- a/configs/am335x_sl50_defconfig
+++ b/configs/am335x_sl50_defconfig
@@ -6,6 +6,7 @@ CONFIG_SPL_STACK_R=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm11130_defconfig b/configs/bcm11130_defconfig
index 2716868a31231b54fc121f61b6d123fd7f4ac6d6..d2a3b7395b46fb215147b8319b05937f2daba3c8 100644
--- a/configs/bcm11130_defconfig
+++ b/configs/bcm11130_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCM28155_AP=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_MMC_ENV_DEV=0"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm11130_nand_defconfig b/configs/bcm11130_nand_defconfig
index 8e01c521ee3139634886ff0617296de7842d063c..5fc501fd5e17502e82664c18d75e35bb17fa629c 100644
--- a/configs/bcm11130_nand_defconfig
+++ b/configs/bcm11130_nand_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCM28155_AP=y
 CONFIG_SYS_EXTRA_OPTIONS="NAND"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm28155_ap_defconfig b/configs/bcm28155_ap_defconfig
index 4c0f3b30ba4b68e99ec886dad680f4184d09cc89..70eb44a1b5d10fd7022a40e69fe3bd3cf98edd3a 100644
--- a/configs/bcm28155_ap_defconfig
+++ b/configs/bcm28155_ap_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y
 CONFIG_TARGET_BCM28155_AP=y
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm28155_w1d_defconfig b/configs/bcm28155_w1d_defconfig
index e9d13b9c86350ee9cdb23f70ae356ac636574c47..b849074f81720886df64066791cb570a93b1c2e7 100644
--- a/configs/bcm28155_w1d_defconfig
+++ b/configs/bcm28155_w1d_defconfig
@@ -3,6 +3,7 @@ CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y
 CONFIG_TARGET_BCM28155_AP=y
 CONFIG_SYS_EXTRA_OPTIONS="BCM_SF2_ETH,BCM_SF2_ETH_GMAC"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm911360_entphn-ns_defconfig b/configs/bcm911360_entphn-ns_defconfig
index d8a30d12a3b0e850a15a6417868a8e06dc210700..a9403a833cc0c58ba42622c226216cbedb635c72 100644
--- a/configs/bcm911360_entphn-ns_defconfig
+++ b/configs/bcm911360_entphn-ns_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMCYGNUS=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x20000000,ARMV7_NONSEC"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm911360_entphn_defconfig b/configs/bcm911360_entphn_defconfig
index 205db1e12ed9af5bb99860b2e65c2a8ba8cc643b..aee2e2e596815510560b865ecb7f583a411227dc 100644
--- a/configs/bcm911360_entphn_defconfig
+++ b/configs/bcm911360_entphn_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMCYGNUS=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x20000000"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm911360k_defconfig b/configs/bcm911360k_defconfig
index bcb24b4f2f20bd8519d4cafa85843cab7990cf28..df76dac54569a296f0c35c2d31f319860317eff7 100644
--- a/configs/bcm911360k_defconfig
+++ b/configs/bcm911360k_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMCYGNUS=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm958300k-ns_defconfig b/configs/bcm958300k-ns_defconfig
index 527f4a5861e9c8ac9fce9866bb76fe92b7926113..0b00ce39d7804412eab474ed8beba578b4a85b40 100644
--- a/configs/bcm958300k-ns_defconfig
+++ b/configs/bcm958300k-ns_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMCYGNUS=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000,ARMV7_NONSEC"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm958300k_defconfig b/configs/bcm958300k_defconfig
index bcb24b4f2f20bd8519d4cafa85843cab7990cf28..df76dac54569a296f0c35c2d31f319860317eff7 100644
--- a/configs/bcm958300k_defconfig
+++ b/configs/bcm958300k_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMCYGNUS=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm958305k_defconfig b/configs/bcm958305k_defconfig
index bcb24b4f2f20bd8519d4cafa85843cab7990cf28..df76dac54569a296f0c35c2d31f319860317eff7 100644
--- a/configs/bcm958305k_defconfig
+++ b/configs/bcm958305k_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMCYGNUS=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm958622hr_defconfig b/configs/bcm958622hr_defconfig
index 6d06b4e7c94fe0b7160685ef3a85af9dabaa0eaf..99e545223be2b33a34c1e5f53cb5593e17984a97 100644
--- a/configs/bcm958622hr_defconfig
+++ b/configs/bcm958622hr_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMNSP=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x01000000"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bf506f-ezkit_defconfig b/configs/bf506f-ezkit_defconfig
index 0decb538cc1cff7d80167e470f69d666f63a2ae4..c36fc5f650a79fc3ab9a17cc7fc2ac214ecd88d0 100644
--- a/configs/bf506f-ezkit_defconfig
+++ b/configs/bf506f-ezkit_defconfig
@@ -1,5 +1,6 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF506F_EZKIT=y
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_BOOTD is not set
diff --git a/configs/dnp5370_defconfig b/configs/dnp5370_defconfig
index b6d3b74d6ccb63bb2d592ddacf3d4f8a95e53b12..782cc885534962bc0485d9d3dafa9f67b74185c6 100644
--- a/configs/dnp5370_defconfig
+++ b/configs/dnp5370_defconfig
@@ -1,5 +1,6 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_DNP5370=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_MII=y
diff --git a/configs/espresso7420_defconfig b/configs/espresso7420_defconfig
index 8d0bacef522447629143ac4e161a56418878d0f3..c50da0ca8469d9cc65034c3e04618feda64cf6c6 100644
--- a/configs/espresso7420_defconfig
+++ b/configs/espresso7420_defconfig
@@ -4,5 +4,6 @@ CONFIG_ARCH_EXYNOS7=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_DEFAULT_DEVICE_TREE="exynos7420-espresso7420"
 CONFIG_SYS_PROMPT="ESPRESSO7420 # "
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_SETEXPR is not set
diff --git a/configs/malta64_defconfig b/configs/malta64_defconfig
index 590f9b5674beda4054574baea482cc0dc5b07993..fcce6c7e3314323af5c165fdaf6d5273ec1dd861 100644
--- a/configs/malta64_defconfig
+++ b/configs/malta64_defconfig
@@ -4,6 +4,7 @@ CONFIG_CPU_MIPS64_R2=y
 CONFIG_DEFAULT_DEVICE_TREE="mti,malta"
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="malta # "
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/malta64el_defconfig b/configs/malta64el_defconfig
index ff93931c0015f85aee9daf819e8f513a182af08e..002633b154463222ceb9d7e132a2770bd447dab1 100644
--- a/configs/malta64el_defconfig
+++ b/configs/malta64el_defconfig
@@ -5,6 +5,7 @@ CONFIG_CPU_MIPS64_R2=y
 CONFIG_DEFAULT_DEVICE_TREE="mti,malta"
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="maltael # "
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/malta_defconfig b/configs/malta_defconfig
index 3a875860e48792815754028274ae80ad14692332..e74f23d334abaa0e40d9d263a1863dac8db91853 100644
--- a/configs/malta_defconfig
+++ b/configs/malta_defconfig
@@ -3,6 +3,7 @@ CONFIG_TARGET_MALTA=y
 CONFIG_DEFAULT_DEVICE_TREE="mti,malta"
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="malta # "
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/maltael_defconfig b/configs/maltael_defconfig
index 11ff25927ae9b54b87d65fcc5ee28d9920068f4b..3c4c1fe1e6c8a638572910198cb507cf97cbfe98 100644
--- a/configs/maltael_defconfig
+++ b/configs/maltael_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_LITTLE_ENDIAN=y
 CONFIG_DEFAULT_DEVICE_TREE="mti,malta"
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="maltael # "
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/mpr2_defconfig b/configs/mpr2_defconfig
index a8dbfc5645540d10ed7b0e1ba3033acf990ad496..606b94209ffa0bd3071e891bc4c5c6a60a750999 100644
--- a/configs/mpr2_defconfig
+++ b/configs/mpr2_defconfig
@@ -1,5 +1,6 @@
 CONFIG_SH=y
 CONFIG_TARGET_MPR2=y
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_BOOTD is not set
diff --git a/configs/ms7720se_defconfig b/configs/ms7720se_defconfig
index 2ef3105527a34c9c8e772cb9ee1dce6f7d4847aa..537ea7c90284e273f5204b26ab4b2ce7229f4f2a 100644
--- a/configs/ms7720se_defconfig
+++ b/configs/ms7720se_defconfig
@@ -1,5 +1,6 @@
 CONFIG_SH=y
 CONFIG_TARGET_MS7720SE=y
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_BOOTD is not set
diff --git a/configs/openrisc-generic_defconfig b/configs/openrisc-generic_defconfig
index a476ba77e209f2b89da85a607338d559701612df..14923c09785b8d42dffebfa4b502e316962cd85a 100644
--- a/configs/openrisc-generic_defconfig
+++ b/configs/openrisc-generic_defconfig
@@ -7,3 +7,4 @@ CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_SYS_NS16550=y
+# CONFIG_AUTOBOOT is not set
diff --git a/configs/rsk7203_defconfig b/configs/rsk7203_defconfig
index b63ad4ebb63af169e9b487314857264ff5e150b6..f2e9deb856aa58055b40aed7679c03d2ec5d98f2 100644
--- a/configs/rsk7203_defconfig
+++ b/configs/rsk7203_defconfig
@@ -1,5 +1,6 @@
 CONFIG_SH=y
 CONFIG_TARGET_RSK7203=y
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_BOOTD is not set
diff --git a/configs/s5p_goni_defconfig b/configs/s5p_goni_defconfig
index c35287d4461849c365d6b417a9aa79d149976af4..b381e215f212dff3b4b536e9ea0321f74b97b5d8 100644
--- a/configs/s5p_goni_defconfig
+++ b/configs/s5p_goni_defconfig
@@ -4,6 +4,7 @@ CONFIG_TARGET_S5P_GONI=y
 CONFIG_DEFAULT_DEVICE_TREE="s5pc1xx-goni"
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Goni # "
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_XIMG is not set
 # CONFIG_CMD_FLASH is not set
diff --git a/configs/shmin_defconfig b/configs/shmin_defconfig
index 1749f13d06ac53a6626958402a6384fe5c29fd60..65b452545def22fe4deaa1a0e6de266ab9c67b43 100644
--- a/configs/shmin_defconfig
+++ b/configs/shmin_defconfig
@@ -1,5 +1,6 @@
 CONFIG_SH=y
 CONFIG_TARGET_SHMIN=y
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_BOOTD is not set
diff --git a/include/autoboot.h b/include/autoboot.h
index 3a9059a0b9a57463fb7eb9f6aecb75ad54d9c38e..c175f91c5a530cf2b3ab7f6e2bffff2aaa3d0897 100644
--- a/include/autoboot.h
+++ b/include/autoboot.h
@@ -12,7 +12,7 @@
 #ifndef __AUTOBOOT_H
 #define __AUTOBOOT_H
 
-#ifdef CONFIG_BOOTDELAY
+#ifdef CONFIG_AUTOBOOT
 /**
  * bootdelay_process() - process the bootd delay
  *