diff --git a/arch/Kconfig b/arch/Kconfig
index 8d5d77ac2bb730a089a2bc2c2b884cd28f32c67c..7e76abdbf3f06dd4732f8c4b98c78e8ac0a1b770 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -76,6 +76,7 @@ config SANDBOX
 	imply HASH_VERIFY
 	imply LZMA
 	imply SCSI
+	imply CMD_SATA
 
 config SH
 	bool "SuperH architecture"
diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig
index 4fd60d480e16595cdec2b937f989d7e9cc47ba2b..1e5dc9afd90ac27bf465958ce05021773f81cb89 100644
--- a/arch/arm/cpu/armv7/mx6/Kconfig
+++ b/arch/arm/cpu/armv7/mx6/Kconfig
@@ -77,6 +77,7 @@ config TARGET_ADVANTECH_DMS_BA16
 	bool "Advantech dms-ba16"
 	select BOARD_LATE_INIT
 	select MX6Q
+	imply CMD_SATA
 
 config TARGET_APALIS_IMX6
 	bool "Toradex Apalis iMX6 board"
@@ -85,6 +86,7 @@ config TARGET_APALIS_IMX6
 	select DM
 	select DM_SERIAL
 	select DM_THERMAL
+	imply CMD_SATA
 
 config TARGET_ARISTAINETOS
 	bool "aristainetos"
@@ -141,6 +143,7 @@ config TARGET_GE_B850V3
 config TARGET_GW_VENTANA
 	bool "gw_ventana"
 	select SUPPORT_SPL
+	imply CMD_SATA
 
 config TARGET_KOSAGI_NOVENA
 	bool "Kosagi Novena"
@@ -302,6 +305,7 @@ config TARGET_OPOS6ULDEV
 config TARGET_OT1200
 	bool "Bachmann OT1200"
 	select SUPPORT_SPL
+	imply CMD_SATA
 
 config TARGET_PICO_IMX6UL
 	bool "PICO-IMX6UL-EMMC"
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index 89476a663ac8751e836169a56dcf17477d779018..3e48d58fcc787ab678c0684a9acd199f00a761d6 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -57,6 +57,7 @@ config MV78230
 config MV78260
 	bool
 	select ARMADA_XP
+	imply CMD_SATA
 
 config MV78460
 	bool
@@ -113,6 +114,7 @@ config TARGET_THEADORABLE
 	bool "Support theadorable Armada XP"
 	select BOARD_LATE_INIT if USB
 	select MV78260
+	imply CMD_SATA
 
 config TARGET_CONTROLCENTERDC
 	bool "Support CONTROLCENTERDC"
diff --git a/arch/powerpc/cpu/mpc83xx/Kconfig b/arch/powerpc/cpu/mpc83xx/Kconfig
index 0772b7c4fbc88f3cbaf0b80cd0722a2cb4754d7a..cdd21a253a760666babe5b91ce05334ae63cf371 100644
--- a/arch/powerpc/cpu/mpc83xx/Kconfig
+++ b/arch/powerpc/cpu/mpc83xx/Kconfig
@@ -54,6 +54,7 @@ config TARGET_MPC8349ITX
 config TARGET_MPC837XEMDS
 	bool "Support MPC837XEMDS"
 	select BOARD_EARLY_INIT_F
+	imply CMD_SATA
 
 config TARGET_MPC837XERDB
 	bool "Support MPC837XERDB"
diff --git a/arch/powerpc/cpu/mpc85xx/Kconfig b/arch/powerpc/cpu/mpc85xx/Kconfig
index a4b276104939d662e2f307dad21dafe92debee40..0bff79adbbbda1afdedfa0c5dab9e55e90d4678b 100644
--- a/arch/powerpc/cpu/mpc85xx/Kconfig
+++ b/arch/powerpc/cpu/mpc85xx/Kconfig
@@ -63,30 +63,35 @@ config TARGET_P3041DS
 	select PHYS_64BIT
 	select ARCH_P3041
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
+	imply CMD_SATA
 
 config TARGET_P4080DS
 	bool "Support P4080DS"
 	select PHYS_64BIT
 	select ARCH_P4080
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
+	imply CMD_SATA
 
 config TARGET_P5020DS
 	bool "Support P5020DS"
 	select PHYS_64BIT
 	select ARCH_P5020
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
+	imply CMD_SATA
 
 config TARGET_P5040DS
 	bool "Support P5040DS"
 	select PHYS_64BIT
 	select ARCH_P5040
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
+	imply CMD_SATA
 
 config TARGET_MPC8536DS
 	bool "Support MPC8536DS"
 	select ARCH_MPC8536
 # Use DDR3 controller with DDR2 DIMMs on this board
 	select SYS_FSL_DDRC_GEN3
+	imply CMD_SATA
 
 config TARGET_MPC8541CDS
 	bool "Support MPC8541CDS"
@@ -126,6 +131,7 @@ config TARGET_P1010RDB_PA
 	select SUPPORT_SPL
 	select SUPPORT_TPL
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config TARGET_P1010RDB_PB
 	bool "Support P1010RDB_PB"
@@ -134,12 +140,14 @@ config TARGET_P1010RDB_PB
 	select SUPPORT_SPL
 	select SUPPORT_TPL
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config TARGET_P1022DS
 	bool "Support P1022DS"
 	select ARCH_P1022
 	select SUPPORT_SPL
 	select SUPPORT_TPL
+	imply CMD_SATA
 
 config TARGET_P1023RDB
 	bool "Support P1023RDB"
@@ -152,6 +160,7 @@ config TARGET_P1020MBG
 	select SUPPORT_TPL
 	select ARCH_P1020
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config TARGET_P1020RDB_PC
 	bool "Support P1020RDB-PC"
@@ -159,6 +168,7 @@ config TARGET_P1020RDB_PC
 	select SUPPORT_TPL
 	select ARCH_P1020
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config TARGET_P1020RDB_PD
 	bool "Support P1020RDB-PD"
@@ -166,6 +176,7 @@ config TARGET_P1020RDB_PD
 	select SUPPORT_TPL
 	select ARCH_P1020
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config TARGET_P1020UTM
 	bool "Support P1020UTM"
@@ -173,6 +184,7 @@ config TARGET_P1020UTM
 	select SUPPORT_TPL
 	select ARCH_P1020
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config TARGET_P1021RDB
 	bool "Support P1021RDB"
@@ -180,6 +192,7 @@ config TARGET_P1021RDB
 	select SUPPORT_TPL
 	select ARCH_P1021
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config TARGET_P1024RDB
 	bool "Support P1024RDB"
@@ -187,6 +200,7 @@ config TARGET_P1024RDB
 	select SUPPORT_TPL
 	select ARCH_P1024
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config TARGET_P1025RDB
 	bool "Support P1025RDB"
@@ -194,6 +208,7 @@ config TARGET_P1025RDB
 	select SUPPORT_TPL
 	select ARCH_P1025
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config TARGET_P2020RDB
 	bool "Support P2020RDB-PC"
@@ -201,6 +216,7 @@ config TARGET_P2020RDB
 	select SUPPORT_TPL
 	select ARCH_P2020
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config TARGET_P1_TWR
 	bool "Support p1_twr"
@@ -211,6 +227,7 @@ config TARGET_P2041RDB
 	select ARCH_P2041
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
 	select PHYS_64BIT
+	imply CMD_SATA
 
 config TARGET_QEMU_PPCE500
 	bool "Support qemu-ppce500"
@@ -224,6 +241,7 @@ config TARGET_T1024QDS
 	select SUPPORT_SPL
 	select PHYS_64BIT
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config TARGET_T1023RDB
 	bool "Support T1023RDB"
@@ -247,6 +265,7 @@ config TARGET_T1040QDS
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
 	select PHYS_64BIT
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config TARGET_T1040RDB
 	bool "Support T1040RDB"
@@ -254,6 +273,7 @@ config TARGET_T1040RDB
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
 	select SUPPORT_SPL
 	select PHYS_64BIT
+	imply CMD_SATA
 
 config TARGET_T1040D4RDB
 	bool "Support T1040D4RDB"
@@ -261,6 +281,7 @@ config TARGET_T1040D4RDB
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
 	select SUPPORT_SPL
 	select PHYS_64BIT
+	imply CMD_SATA
 
 config TARGET_T1042RDB
 	bool "Support T1042RDB"
@@ -268,6 +289,7 @@ config TARGET_T1042RDB
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
 	select SUPPORT_SPL
 	select PHYS_64BIT
+	imply CMD_SATA
 
 config TARGET_T1042D4RDB
 	bool "Support T1042D4RDB"
@@ -275,6 +297,7 @@ config TARGET_T1042D4RDB
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
 	select SUPPORT_SPL
 	select PHYS_64BIT
+	imply CMD_SATA
 
 config TARGET_T1042RDB_PI
 	bool "Support T1042RDB_PI"
@@ -282,6 +305,7 @@ config TARGET_T1042RDB_PI
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
 	select SUPPORT_SPL
 	select PHYS_64BIT
+	imply CMD_SATA
 
 config TARGET_T2080QDS
 	bool "Support T2080QDS"
@@ -289,6 +313,7 @@ config TARGET_T2080QDS
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
 	select SUPPORT_SPL
 	select PHYS_64BIT
+	imply CMD_SATA
 
 config TARGET_T2080RDB
 	bool "Support T2080RDB"
@@ -296,6 +321,7 @@ config TARGET_T2080RDB
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
 	select SUPPORT_SPL
 	select PHYS_64BIT
+	imply CMD_SATA
 
 config TARGET_T2081QDS
 	bool "Support T2081QDS"
@@ -309,6 +335,7 @@ config TARGET_T4160QDS
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
 	select SUPPORT_SPL
 	select PHYS_64BIT
+	imply CMD_SATA
 
 config TARGET_T4160RDB
 	bool "Support T4160RDB"
@@ -322,12 +349,14 @@ config TARGET_T4240QDS
 	select BOARD_LATE_INIT if CHAIN_OF_TRUST
 	select SUPPORT_SPL
 	select PHYS_64BIT
+	imply CMD_SATA
 
 config TARGET_T4240RDB
 	bool "Support T4240RDB"
 	select ARCH_T4240
 	select SUPPORT_SPL
 	select PHYS_64BIT
+	imply CMD_SATA
 
 config TARGET_CONTROLCENTERD
 	bool "Support controlcenterd"
@@ -357,6 +386,7 @@ config TARGET_XPEDITE550X
 config TARGET_UCP1020
 	bool "Support uCP1020"
 	select ARCH_P1020
+	imply CMD_SATA
 
 config TARGET_CYRUS_P5020
 	bool "Support Varisys Cyrus P5020"
@@ -478,6 +508,7 @@ config ARCH_MPC8536
 	select SYS_FSL_SEC_COMPAT_2
 	select SYS_PPC_E500_USE_DEBUG_TLB
 	select FSL_ELBC
+	imply CMD_SATA
 
 config ARCH_MPC8540
 	bool
@@ -586,6 +617,7 @@ config ARCH_P1010
 	select SYS_PPC_E500_USE_DEBUG_TLB
 	select FSL_IFC
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config ARCH_P1011
 	bool
@@ -614,6 +646,7 @@ config ARCH_P1020
 	select SYS_FSL_SEC_COMPAT_2
 	select SYS_PPC_E500_USE_DEBUG_TLB
 	select FSL_ELBC
+	imply CMD_SATA
 
 config ARCH_P1021
 	bool
@@ -628,6 +661,7 @@ config ARCH_P1021
 	select SYS_FSL_SEC_COMPAT_2
 	select SYS_PPC_E500_USE_DEBUG_TLB
 	select FSL_ELBC
+	imply CMD_SATA
 
 config ARCH_P1022
 	bool
@@ -671,6 +705,7 @@ config ARCH_P1024
 	select SYS_PPC_E500_USE_DEBUG_TLB
 	select FSL_ELBC
 	imply CMD_EEPROM
+	imply CMD_SATA
 
 config ARCH_P1025
 	bool
@@ -685,6 +720,7 @@ config ARCH_P1025
 	select SYS_FSL_SEC_COMPAT_2
 	select SYS_PPC_E500_USE_DEBUG_TLB
 	select FSL_ELBC
+	imply CMD_SATA
 
 config ARCH_P2020
 	bool
@@ -747,6 +783,7 @@ config ARCH_P3041
 	select SYS_FSL_SEC_BE
 	select SYS_FSL_SEC_COMPAT_4
 	select FSL_ELBC
+	imply CMD_SATA
 
 config ARCH_P4080
 	bool
@@ -782,6 +819,7 @@ config ARCH_P4080
 	select SYS_FSL_SEC_BE
 	select SYS_FSL_SEC_COMPAT_4
 	select FSL_ELBC
+	imply CMD_SATA
 
 config ARCH_P5020
 	bool
@@ -803,6 +841,7 @@ config ARCH_P5020
 	select SYS_FSL_SEC_COMPAT_4
 	select SYS_PPC64
 	select FSL_ELBC
+	imply CMD_SATA
 
 config ARCH_P5040
 	bool
@@ -824,6 +863,7 @@ config ARCH_P5040
 	select SYS_FSL_SEC_COMPAT_4
 	select SYS_PPC64
 	select FSL_ELBC
+	imply CMD_SATA
 
 config ARCH_QEMU_E500
 	bool
@@ -881,6 +921,7 @@ config ARCH_T1040
 	select SYS_FSL_SEC_BE
 	select SYS_FSL_SEC_COMPAT_5
 	select FSL_IFC
+	imply CMD_SATA
 
 config ARCH_T1042
 	bool
@@ -899,6 +940,7 @@ config ARCH_T1042
 	select SYS_FSL_SEC_BE
 	select SYS_FSL_SEC_COMPAT_5
 	select FSL_IFC
+	imply CMD_SATA
 
 config ARCH_T2080
 	bool
@@ -921,6 +963,7 @@ config ARCH_T2080
 	select SYS_FSL_SEC_COMPAT_4
 	select SYS_PPC64
 	select FSL_IFC
+	imply CMD_SATA
 
 config ARCH_T2081
 	bool
@@ -962,6 +1005,7 @@ config ARCH_T4160
 	select SYS_FSL_SEC_COMPAT_4
 	select SYS_PPC64
 	select FSL_IFC
+	imply CMD_SATA
 
 config ARCH_T4240
 	bool
@@ -986,6 +1030,7 @@ config ARCH_T4240
 	select SYS_FSL_SEC_COMPAT_4
 	select SYS_PPC64
 	select FSL_IFC
+	imply CMD_SATA
 
 config BOOKE
 	bool
diff --git a/cmd/Kconfig b/cmd/Kconfig
index 6758db16f37282032f7aa8730847a3d169a7a881..90d93379c31adfc7b1ef423d53fe22ebf7591965 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -734,6 +734,18 @@ config CMD_FDC
 	help
 	  The 'fdtboot' command allows booting an image from a floppy disk.
 
+config CMD_SATA
+	bool "sata - Access SATA subsystem"
+	help
+	  SATA (Serial Advanced Technology Attachment) is a serial bus
+	  standard for connecting to hard drives and other storage devices.
+	  This command provides information about attached devices and allows
+	  reading, writing and other operations.
+
+	  SATA replaces PATA (originally just ATA), which stands for Parallel AT
+	  Attachment, where AT refers to an IBM AT (Advanced Technology)
+	  computer released in 1984.
+
 endmenu
 
 
diff --git a/configs/MPC8315ERDB_defconfig b/configs/MPC8315ERDB_defconfig
index 38417e79641ac4c4865909fa993e1cb32ee9d5bc..32b88fc9d559136c9c0aac8fde65548bf991cf8e 100644
--- a/configs/MPC8315ERDB_defconfig
+++ b/configs/MPC8315ERDB_defconfig
@@ -7,6 +7,7 @@ CONFIG_BOOTDELAY=6
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_SATA=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
diff --git a/configs/MPC8349ITX_LOWBOOT_defconfig b/configs/MPC8349ITX_LOWBOOT_defconfig
index 9cec452cd5639b1e2ea2fc72bb989f86f8093ef4..c7f093eaa7df4613153fcf79d8344e5a5329159c 100644
--- a/configs/MPC8349ITX_LOWBOOT_defconfig
+++ b/configs/MPC8349ITX_LOWBOOT_defconfig
@@ -10,6 +10,7 @@ CONFIG_SYS_PROMPT="MPC8349E-mITX> "
 CONFIG_CMD_IDE=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_SATA=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
diff --git a/configs/MPC8349ITX_defconfig b/configs/MPC8349ITX_defconfig
index 9145ada7c70767ae9eb9ddbebaef1179ab310ad0..e508b3d388d6326ff32d01495f0234e8cf018499 100644
--- a/configs/MPC8349ITX_defconfig
+++ b/configs/MPC8349ITX_defconfig
@@ -10,6 +10,7 @@ CONFIG_SYS_PROMPT="MPC8349E-mITX> "
 CONFIG_CMD_IDE=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_SATA=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
diff --git a/configs/MPC837XERDB_defconfig b/configs/MPC837XERDB_defconfig
index 2f3e7b016287015408e2da0cb87803de0caeccbc..fc21671ce7cacd0a389fde2d0b27187113c4498e 100644
--- a/configs/MPC837XERDB_defconfig
+++ b/configs/MPC837XERDB_defconfig
@@ -8,6 +8,7 @@ CONFIG_HUSH_PARSER=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_SATA=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
diff --git a/configs/cgtqmx6eval_defconfig b/configs/cgtqmx6eval_defconfig
index 77dd227f004636a853f4d6cc6ab9b3e73ae34b1f..94d7e76b182a0490ebed77113f58e194fe248aec 100644
--- a/configs/cgtqmx6eval_defconfig
+++ b/configs/cgtqmx6eval_defconfig
@@ -33,6 +33,7 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_DFU=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_GPIO=y
+CONFIG_CMD_SATA=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
diff --git a/configs/cm_fx6_defconfig b/configs/cm_fx6_defconfig
index dc587a6d59940ecf51033140bb2ba48b3be021b8..a548d8f846a18fd3787284387cd6fda60eeabda6 100644
--- a/configs/cm_fx6_defconfig
+++ b/configs/cm_fx6_defconfig
@@ -35,6 +35,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_GPIO=y
+CONFIG_CMD_SATA=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
diff --git a/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig b/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
index cff3f45f38cc09e67afd46053edb0a3c71433a26..d05f35d967882eaf18af4cad49a5155401294bb7 100644
--- a/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
+++ b/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
@@ -22,6 +22,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_SF=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_SATA=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_BMP=y
diff --git a/configs/controlcenterd_36BIT_SDCARD_defconfig b/configs/controlcenterd_36BIT_SDCARD_defconfig
index f15508934998e7ff5d0f427e4a2f6624af6ead7b..d2af507054086940a09127d83aa96898dbd2123f 100644
--- a/configs/controlcenterd_36BIT_SDCARD_defconfig
+++ b/configs/controlcenterd_36BIT_SDCARD_defconfig
@@ -22,6 +22,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_SF=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_SATA=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_BMP=y
diff --git a/configs/db-mv784mp-gp_defconfig b/configs/db-mv784mp-gp_defconfig
index 9e7e89e659523936aac2dd5ba373c106b6572ea4..99533b9a8d3529a00142c663ab375900f4af7d88 100644
--- a/configs/db-mv784mp-gp_defconfig
+++ b/configs/db-mv784mp-gp_defconfig
@@ -21,6 +21,7 @@ CONFIG_CMD_SF=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_SATA=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_DHCP=y
diff --git a/configs/m53evk_defconfig b/configs/m53evk_defconfig
index cc4a74ca5293c992d41fc26f0595365b1e381333..afcaf58530215238a1fc28511bbab43449393f13 100644
--- a/configs/m53evk_defconfig
+++ b/configs/m53evk_defconfig
@@ -24,6 +24,7 @@ CONFIG_CMD_GREPENV=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_SATA=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
diff --git a/configs/mx53loco_defconfig b/configs/mx53loco_defconfig
index 572735616b8ee73a2786911b30f14ab0140eec1a..6e2f5859607576a983e8beada33f91ce44cf5a13 100644
--- a/configs/mx53loco_defconfig
+++ b/configs/mx53loco_defconfig
@@ -14,6 +14,7 @@ CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_SATA=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
diff --git a/configs/mx6qsabrelite_defconfig b/configs/mx6qsabrelite_defconfig
index a54279978fb02072c5f81c29f0898b85f057ca24..32bd271209cce8fd213661356c85494349de3d1d 100644
--- a/configs/mx6qsabrelite_defconfig
+++ b/configs/mx6qsabrelite_defconfig
@@ -19,6 +19,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_GPIO=y
+CONFIG_CMD_SATA=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
diff --git a/configs/nitrogen6q2g_defconfig b/configs/nitrogen6q2g_defconfig
index a19d093710883b1a0f94f5d102ec5c07e547723d..baa509d48ee0ec6a1058ab9bd94866c1b567fbad 100644
--- a/configs/nitrogen6q2g_defconfig
+++ b/configs/nitrogen6q2g_defconfig
@@ -19,6 +19,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_GPIO=y
+CONFIG_CMD_SATA=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
diff --git a/configs/nitrogen6q_defconfig b/configs/nitrogen6q_defconfig
index edf4b6377a461d2851deb959dcf31bb659cf66bb..ebfa8430614aec9f3c960054099cd02b3291abe9 100644
--- a/configs/nitrogen6q_defconfig
+++ b/configs/nitrogen6q_defconfig
@@ -19,6 +19,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_GPIO=y
+CONFIG_CMD_SATA=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
diff --git a/configs/novena_defconfig b/configs/novena_defconfig
index afacea7e7189e84ec5ada96299e09a17b198ba31..3f8b98ebb9a612807ae931822fe26a5cb8cbd8a5 100644
--- a/configs/novena_defconfig
+++ b/configs/novena_defconfig
@@ -28,6 +28,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_GPIO=y
+CONFIG_CMD_SATA=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_EXT4_WRITE=y
diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig
index ac8f9c667caf6b81834fe3e82203a12034fe1a48..90a238cacf24b0613653ec6560c8762e5fcd613a 100644
--- a/configs/tbs2910_defconfig
+++ b/configs/tbs2910_defconfig
@@ -21,6 +21,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_GPIO=y
+CONFIG_CMD_SATA=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
diff --git a/configs/udoo_defconfig b/configs/udoo_defconfig
index 3bf55058d72633f924187b0bf488d3236a1edb3b..7e52bdc91744f7edca1851874d642ce85e43b499 100644
--- a/configs/udoo_defconfig
+++ b/configs/udoo_defconfig
@@ -19,6 +19,7 @@ CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_MMC=y
 CONFIG_CMD_GPIO=y
+CONFIG_CMD_SATA=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig
index b4b3283829883e3044553efec0687f0d1ea1f1b0..95a14cabc7f4bfd90d52f9be2a92de9c9a3982e6 100644
--- a/configs/wandboard_defconfig
+++ b/configs/wandboard_defconfig
@@ -25,6 +25,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_GPIO=y
+CONFIG_CMD_SATA=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_DM=y
diff --git a/include/configs/MPC8315ERDB.h b/include/configs/MPC8315ERDB.h
index fbe033afb13e055dde2f0dba90563fa738c863c0..522f12ceecafa0c8af2abdb1cc5846823ff5a050 100644
--- a/include/configs/MPC8315ERDB.h
+++ b/include/configs/MPC8315ERDB.h
@@ -415,7 +415,6 @@
 
 #ifdef CONFIG_FSL_SATA
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 /*
diff --git a/include/configs/MPC8349ITX.h b/include/configs/MPC8349ITX.h
index 46f09d6b60f9ac1b68510d756435ef6d2b61bc18..53e089a82a114897a11eb42195b72733bb8a38e0 100644
--- a/include/configs/MPC8349ITX.h
+++ b/include/configs/MPC8349ITX.h
@@ -485,10 +485,6 @@ boards, we say we have two, but don't display a message if we find only one. */
 	#define CONFIG_SUPPORT_VFAT
 #endif
 
-#ifdef CONFIG_SATA_SIL3114
-	#define CONFIG_CMD_SATA
-#endif
-
 #if defined(CONFIG_SATA_SIL3114) || defined(CONFIG_USB_STORAGE)
 #endif
 
diff --git a/include/configs/MPC837XEMDS.h b/include/configs/MPC837XEMDS.h
index fcced0eb86ca5c32987fc4ebb0af59f7647c0fa4..459efb560c2556caff316af676043455ce04f13a 100644
--- a/include/configs/MPC837XEMDS.h
+++ b/include/configs/MPC837XEMDS.h
@@ -436,7 +436,6 @@ extern int board_pci_host_broken(void);
 
 #ifdef CONFIG_FSL_SATA
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 /*
diff --git a/include/configs/MPC837XERDB.h b/include/configs/MPC837XERDB.h
index 607b9266d2f8b523727c54eaf9f005780f9470a8..7afbc9096f5b875d62b33c262db268ee3da04d77 100644
--- a/include/configs/MPC837XERDB.h
+++ b/include/configs/MPC837XERDB.h
@@ -449,7 +449,6 @@
 
 #ifdef CONFIG_FSL_SATA
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 /*
diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h
index 18b6b4e13e6548eb04a99249364715f255523711..470bb72fcb2286be11d78abb8348a3f4bffbc672 100644
--- a/include/configs/MPC8536DS.h
+++ b/include/configs/MPC8536DS.h
@@ -522,7 +522,6 @@
 
 #ifdef CONFIG_FSL_SATA
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 #if defined(CONFIG_TSEC_ENET)
diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
index 220b07040e507e5ac1e771605273d169513628c3..0dc062a0944231dc3df78663d7750ec0fb4c880e 100644
--- a/include/configs/P1010RDB.h
+++ b/include/configs/P1010RDB.h
@@ -657,7 +657,6 @@ extern unsigned long get_sdram_size(void);
 #define CONFIG_SYS_SATA2		CONFIG_SYS_MPC85xx_SATA2_ADDR
 #define CONFIG_SYS_SATA2_FLAGS		FLAGS_DMA
 
-#define CONFIG_CMD_SATA
 #define CONFIG_LBA48
 #endif /* #ifdef CONFIG_FSL_SATA  */
 
diff --git a/include/configs/P1022DS.h b/include/configs/P1022DS.h
index 3d12c84ce98a2c56d0b74df93b4401026f62a805..2ee6c6442f7b464bdf9a2e6fc2ecaf132d75d19d 100644
--- a/include/configs/P1022DS.h
+++ b/include/configs/P1022DS.h
@@ -497,7 +497,6 @@
 
 #ifdef CONFIG_FSL_SATA
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 #ifdef CONFIG_MMC
diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h
index b008e3d9e288520fc707a877355baaa70dff6fdb..967c83c53bace9f8546f599e1945c80f28964dae 100644
--- a/include/configs/P2041RDB.h
+++ b/include/configs/P2041RDB.h
@@ -548,7 +548,6 @@ unsigned long get_board_sys_clk(unsigned long dummy);
 #define CONFIG_SYS_SATA2_FLAGS		FLAGS_DMA
 
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 #ifdef CONFIG_FMAN_ENET
diff --git a/include/configs/P4080DS.h b/include/configs/P4080DS.h
index a6fa6a8e264c7460d0fdb8a50c9c7f8e1d2c4ced..f192181c0844c00a44f49eeebcf5d37a74153606 100644
--- a/include/configs/P4080DS.h
+++ b/include/configs/P4080DS.h
@@ -12,7 +12,6 @@
 
 #define CONFIG_PCIE3
 
-#define CONFIG_CMD_SATA
 #define CONFIG_SATA_SIL
 #define CONFIG_SYS_SATA_MAX_DEVICE  2
 #define CONFIG_LIBATA
diff --git a/include/configs/T102xQDS.h b/include/configs/T102xQDS.h
index 2209cfdb96c07a16d5ef4c7f4937293e06a459dc..2e3a8c1184c2edf54ac69a44d6bff399cf2e141f 100644
--- a/include/configs/T102xQDS.h
+++ b/include/configs/T102xQDS.h
@@ -628,7 +628,6 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_SATA1		CONFIG_SYS_MPC85xx_SATA1_ADDR
 #define CONFIG_SYS_SATA1_FLAGS		FLAGS_DMA
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 /*
diff --git a/include/configs/T1040QDS.h b/include/configs/T1040QDS.h
index 3953145030f4fefade777714d6d1ed775587c3b1..86f7880ff185b0e5c6607a89ff4b3fae79754ec7 100644
--- a/include/configs/T1040QDS.h
+++ b/include/configs/T1040QDS.h
@@ -518,7 +518,6 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_SATA2_FLAGS		FLAGS_DMA
 
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 /*
diff --git a/include/configs/T104xRDB.h b/include/configs/T104xRDB.h
index 0035e67544bbf0c7d1efa2a7d7a402934f3ffd9e..350dacaa388b95e0acd1919179313386476ecf0b 100644
--- a/include/configs/T104xRDB.h
+++ b/include/configs/T104xRDB.h
@@ -628,7 +628,6 @@ $(SRCTREE)/board/freescale/t104xrdb/t1042d4_sd_rcw.cfg
 #define CONFIG_SYS_SATA1_FLAGS		FLAGS_DMA
 
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 /*
diff --git a/include/configs/T208xQDS.h b/include/configs/T208xQDS.h
index e792ec5c9dd2bf8c5e4f0a32fdfe0ed50cbb13f5..9edf19081c51d7977d464c1cadd7886f7340b9ec 100644
--- a/include/configs/T208xQDS.h
+++ b/include/configs/T208xQDS.h
@@ -695,7 +695,6 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_SATA2		CONFIG_SYS_MPC85xx_SATA2_ADDR
 #define CONFIG_SYS_SATA2_FLAGS		FLAGS_DMA
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 /*
diff --git a/include/configs/T208xRDB.h b/include/configs/T208xRDB.h
index fdafeeb38f84f2fb7fe100d4ffc209a76983fce0..0e70aa83ea67d39a7ab253e13dbc22e3134411bd 100644
--- a/include/configs/T208xRDB.h
+++ b/include/configs/T208xRDB.h
@@ -645,7 +645,6 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_SATA2		CONFIG_SYS_MPC85xx_SATA2_ADDR
 #define CONFIG_SYS_SATA2_FLAGS		FLAGS_DMA
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 /*
diff --git a/include/configs/T4240QDS.h b/include/configs/T4240QDS.h
index dc3ebfa7faba501a4187334f7375feb36cae95fa..f69746b4da87f4ae4180945cf626dd3584a32fbd 100644
--- a/include/configs/T4240QDS.h
+++ b/include/configs/T4240QDS.h
@@ -489,7 +489,6 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_SATA2_FLAGS		FLAGS_DMA
 
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 #ifdef CONFIG_FMAN_ENET
diff --git a/include/configs/T4240RDB.h b/include/configs/T4240RDB.h
index 0d9cdfb510ee6a0f6511f8346ef6476a3c6a4bfb..ed3b0f7202f8f5a6a5088b00e33c9ecc8e684aa5 100644
--- a/include/configs/T4240RDB.h
+++ b/include/configs/T4240RDB.h
@@ -254,7 +254,6 @@
 #define CONFIG_SYS_SATA2_FLAGS		FLAGS_DMA
 
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 #ifdef CONFIG_FMAN_ENET
@@ -671,7 +670,6 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_SATA2_FLAGS		FLAGS_DMA
 
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 #ifdef CONFIG_FMAN_ENET
diff --git a/include/configs/UCP1020.h b/include/configs/UCP1020.h
index 8579290e81d31bf9c9036cb350f8767ba1ea2311..9a7aa811963c63353796033aaea238be093e39d4 100644
--- a/include/configs/UCP1020.h
+++ b/include/configs/UCP1020.h
@@ -118,7 +118,6 @@
 
 #define CONFIG_ENV_OVERWRITE
 
-#define CONFIG_CMD_SATA
 #define CONFIG_SATA_SIL
 #define CONFIG_SYS_SATA_MAX_DEVICE	2
 #define CONFIG_LIBATA
diff --git a/include/configs/advantech_dms-ba16.h b/include/configs/advantech_dms-ba16.h
index f320792cfd478d8623c2a1765e4c236493eecd14..66ee167f96b717c39d234df6b5a20cb3e242e6c5 100644
--- a/include/configs/advantech_dms-ba16.h
+++ b/include/configs/advantech_dms-ba16.h
@@ -39,7 +39,6 @@
 #define CONFIG_MXC_OCOTP
 
 /* SATA Configs */
-#define CONFIG_CMD_SATA
 #define CONFIG_DWC_AHSATA
 #define CONFIG_SYS_SATA_MAX_DEVICE	1
 #define CONFIG_DWC_AHSATA_PORT_ID	0
diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h
index 8be586b51f898a3a21ac9a50bd8bc82c7e8ebe58..b4006a37e0f6a57c1c47001b35c854f7381a30af 100644
--- a/include/configs/apalis_imx6.h
+++ b/include/configs/apalis_imx6.h
@@ -67,10 +67,6 @@
 #define CONFIG_SUPPORT_EMMC_BOOT	/* eMMC specific */
 #define CONFIG_BOUNCE_BUFFER
 
-#ifdef CONFIG_MX6Q
-#define CONFIG_CMD_SATA
-#endif
-
 /*
  * SATA Configs
  */
diff --git a/include/configs/cgtqmx6eval.h b/include/configs/cgtqmx6eval.h
index cad1357f5cfd659bd0489da5433cb1c6b5e23e03..5d797b4403b0461d751eddf229619c17c5630939 100644
--- a/include/configs/cgtqmx6eval.h
+++ b/include/configs/cgtqmx6eval.h
@@ -95,7 +95,6 @@
 #define CONFIG_IMX_HDMI
 
 /* SATA */
-#define CONFIG_CMD_SATA
 #define CONFIG_DWC_AHSATA
 #define CONFIG_SYS_SATA_MAX_DEVICE	1
 #define CONFIG_DWC_AHSATA_PORT_ID	0
diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
index dd8010cd4856accb26a79e36eb9df78d2b8440dc..1d9c1650d55dbc7d0a75fe19521c49ae574def56 100644
--- a/include/configs/cm_fx6.h
+++ b/include/configs/cm_fx6.h
@@ -224,7 +224,6 @@
 #define CONFIG_SYS_I2C_EEPROM_BUS	2
 
 /* SATA */
-#define CONFIG_CMD_SATA
 #define CONFIG_SYS_SATA_MAX_DEVICE	1
 #define CONFIG_LIBATA
 #define CONFIG_LBA48
diff --git a/include/configs/controlcenterd.h b/include/configs/controlcenterd.h
index 6641408fcbb182d91dccd02e1cc071514b758975..072650dfaec94050c43f1083171577c314920a1e 100644
--- a/include/configs/controlcenterd.h
+++ b/include/configs/controlcenterd.h
@@ -248,7 +248,6 @@
  */
 #define CONFIG_LIBATA
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 
 #define CONFIG_FSL_SATA
 #define CONFIG_SYS_SATA_MAX_DEVICE	2
diff --git a/include/configs/corenet_ds.h b/include/configs/corenet_ds.h
index 7bbe31ceea016a077464ae2e4c1ab55af50bfac3..92e6ee0033d7fcb1d2771a84c00eb97dc39d00cb 100644
--- a/include/configs/corenet_ds.h
+++ b/include/configs/corenet_ds.h
@@ -562,7 +562,6 @@
 #define CONFIG_SYS_SATA2_FLAGS		FLAGS_DMA
 
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 #ifdef CONFIG_FMAN_ENET
diff --git a/include/configs/cyrus.h b/include/configs/cyrus.h
index a23da191ab2ee4db68692e74f0495c857e1932dc..6079540bc95ce5b5e5ba8315b8fd22421dd49cb9 100644
--- a/include/configs/cyrus.h
+++ b/include/configs/cyrus.h
@@ -392,7 +392,6 @@
 #define CONFIG_SYS_SATA2_FLAGS		FLAGS_DMA
 
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 #ifdef CONFIG_FMAN_ENET
diff --git a/include/configs/db-mv784mp-gp.h b/include/configs/db-mv784mp-gp.h
index 821aa9dec140ff2973b8c76cc2deb756ac3fc714..187ead3e4b70fe02eacbbea511426af1282e98d7 100644
--- a/include/configs/db-mv784mp-gp.h
+++ b/include/configs/db-mv784mp-gp.h
@@ -27,7 +27,6 @@
  */
 #define CONFIG_CMD_NAND
 #define CONFIG_CMD_PCI
-#define CONFIG_CMD_SATA
 
 /* I2C */
 #define CONFIG_SYS_I2C
diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h
index 2227eead62b0d7d6b567edcfe855c1e56a618089..de08f2c7ccf36b10e1d426e4ab271be59fd6087b 100644
--- a/include/configs/gw_ventana.h
+++ b/include/configs/gw_ventana.h
@@ -109,7 +109,6 @@
 /*
  * SATA Configs
  */
-#define CONFIG_CMD_SATA
 #ifdef CONFIG_CMD_SATA
   #define CONFIG_DWC_AHSATA
   #define CONFIG_SYS_SATA_MAX_DEVICE	1
diff --git a/include/configs/m53evk.h b/include/configs/m53evk.h
index 51812257e19989e5a1ac99303d57963dc76ddbb7..a92c2283348d01974fa126623e90114f6489e24d 100644
--- a/include/configs/m53evk.h
+++ b/include/configs/m53evk.h
@@ -22,7 +22,6 @@
  */
 #define CONFIG_CMD_NAND
 #define CONFIG_CMD_NAND_TRIMFFS
-#define CONFIG_CMD_SATA
 
 /*
  * Memory configurations
diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h
index 1b6d868d044ad2fd6e112bb500a9bf12afe80c77..c82e426a61c0ca8eccd26007a39f9ee1786b7d43 100644
--- a/include/configs/mx53loco.h
+++ b/include/configs/mx53loco.h
@@ -189,7 +189,6 @@
 #define CONFIG_ENV_IS_IN_MMC
 #define CONFIG_SYS_MMC_ENV_DEV 0
 
-#define CONFIG_CMD_SATA
 #ifdef CONFIG_CMD_SATA
 	#define CONFIG_DWC_AHSATA
 	#define CONFIG_SYS_SATA_MAX_DEVICE      1
diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h
index 00b84f757a404560d028e53812352cc74743ca37..576b7b07db63945bd11f97e92ce3423915998077 100644
--- a/include/configs/nitrogen6x.h
+++ b/include/configs/nitrogen6x.h
@@ -47,10 +47,6 @@
 #define CONFIG_SYS_FSL_ESDHC_ADDR      0
 #define CONFIG_SYS_FSL_USDHC_NUM       2
 
-#ifdef CONFIG_MX6Q
-#define CONFIG_CMD_SATA
-#endif
-
 /*
  * SATA Configs
  */
diff --git a/include/configs/novena.h b/include/configs/novena.h
index 1f1bf15af7bc9ebd911c32fb7da473a18de981b1..041159806b89120a3ac31c96ade5eb5a4734d97f 100644
--- a/include/configs/novena.h
+++ b/include/configs/novena.h
@@ -18,7 +18,6 @@
 
 /* U-Boot Commands */
 #define CONFIG_CMD_PCI
-#define CONFIG_CMD_SATA
 
 /* U-Boot general configurations */
 
diff --git a/include/configs/ot1200.h b/include/configs/ot1200.h
index 0582fa36883d2e8029995ae76f7059f6a1bc0081..7aeae7b1fdc411fd0b3b5a87033aee735ff3e891 100644
--- a/include/configs/ot1200.h
+++ b/include/configs/ot1200.h
@@ -57,10 +57,6 @@
 #define CONFIG_MXC_USB_PORTSC   (PORT_PTS_UTMI | PORT_PTS_PTW)
 #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
 
-#ifdef CONFIG_MX6Q
-#define CONFIG_CMD_SATA
-#endif
-
 /*
  * SATA Configs
  */
diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h
index 71b4f40921f55142c1bd17f9f96b7e328dad4a4f..a72a57c904664d342d3cc3057d0d8790841670e1 100644
--- a/include/configs/p1_p2_rdb_pc.h
+++ b/include/configs/p1_p2_rdb_pc.h
@@ -270,7 +270,6 @@
 #define CONFIG_TSEC_ENET	/* tsec ethernet support */
 #define CONFIG_ENV_OVERWRITE
 
-#define CONFIG_CMD_SATA
 #define CONFIG_SATA_SIL
 #define CONFIG_SYS_SATA_MAX_DEVICE	2
 #define CONFIG_LIBATA
diff --git a/include/configs/p1_twr.h b/include/configs/p1_twr.h
index fd644f22da139b5a63ed25091610fbb961ab4389..dffb15aea918173ee4c8a863412f9bea3f8cdc72 100644
--- a/include/configs/p1_twr.h
+++ b/include/configs/p1_twr.h
@@ -50,7 +50,6 @@
 #define CONFIG_TSEC_ENET	/* tsec ethernet support */
 #define CONFIG_ENV_OVERWRITE
 
-#define CONFIG_CMD_SATA
 #define CONFIG_SATA_SIL3114
 #define CONFIG_SYS_SATA_MAX_DEVICE	2
 #define CONFIG_LIBATA
diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h
index 3e09e88ffe9aab1879c98be809d15f31841803e9..9276cf9734c6af7273b9998fe55dcb383d5f90e7 100644
--- a/include/configs/sandbox.h
+++ b/include/configs/sandbox.h
@@ -162,7 +162,6 @@
 #define CONFIG_SYS_SCSI_MAX_SCSI_ID	8
 #define CONFIG_SYS_SCSI_MAX_LUN		4
 
-#define CONFIG_CMD_SATA
 #define CONFIG_SYS_SATA_MAX_DEVICE	2
 
 #define CONFIG_SYSTEMACE
diff --git a/include/configs/t4qds.h b/include/configs/t4qds.h
index 260cdee0011dcf28926f1265b8d8244edcc32fc6..6d8c78f76b0d58579cceb4670d3a1766477039ee 100644
--- a/include/configs/t4qds.h
+++ b/include/configs/t4qds.h
@@ -223,7 +223,6 @@
 #define CONFIG_SYS_SATA2_FLAGS		FLAGS_DMA
 
 #define CONFIG_LBA48
-#define CONFIG_CMD_SATA
 #endif
 
 #ifdef CONFIG_FMAN_ENET
diff --git a/include/configs/tbs2910.h b/include/configs/tbs2910.h
index 84ca1c443e41de948d29603efb0c393f21ffbda3..79f6b162f7fbe9e3c2b13d3a28a9501736eb5ba2 100644
--- a/include/configs/tbs2910.h
+++ b/include/configs/tbs2910.h
@@ -80,7 +80,6 @@
 #endif
 
 /* SATA */
-#define CONFIG_CMD_SATA
 #ifdef CONFIG_CMD_SATA
 #define CONFIG_DWC_AHSATA
 #define CONFIG_SYS_SATA_MAX_DEVICE	1
diff --git a/include/configs/theadorable.h b/include/configs/theadorable.h
index 27cae9d528336c4c0f6ec8455471ad6b64138560..94e207c8c4b243d1bfd7a85190630ea4f44f724f 100644
--- a/include/configs/theadorable.h
+++ b/include/configs/theadorable.h
@@ -23,7 +23,6 @@
 /*
  * Commands configuration
  */
-#define CONFIG_CMD_SATA
 
 /*
  * The debugging version enables USB support via defconfig.
diff --git a/include/configs/udoo.h b/include/configs/udoo.h
index d84aa1679eb616c0f9c9a08ee175e7b3f981c56c..aef4563eded3bb4993bb08872457d7473dd27067 100644
--- a/include/configs/udoo.h
+++ b/include/configs/udoo.h
@@ -24,7 +24,6 @@
 
 /* SATA Configs */
 
-#define CONFIG_CMD_SATA
 #ifdef CONFIG_CMD_SATA
 #define CONFIG_DWC_AHSATA
 #define CONFIG_SYS_SATA_MAX_DEVICE	1
diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h
index 2a6c6fbb703b4cccc909ebc519a086a25ed95a6f..afc5edf33b47c55f1cc39763f17d96bd938cd43c 100644
--- a/include/configs/wandboard.h
+++ b/include/configs/wandboard.h
@@ -24,7 +24,6 @@
 
 /* SATA Configs */
 
-#define CONFIG_CMD_SATA
 #ifdef CONFIG_CMD_SATA
 #define CONFIG_DWC_AHSATA
 #define CONFIG_SYS_SATA_MAX_DEVICE	1
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 50220e14e86f81778415f3d06bb53a8786f149b1..181408c4429f2335ed9d5380a87553ba6256cea5 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -312,7 +312,6 @@ CONFIG_CMD_READ
 CONFIG_CMD_REGINFO
 CONFIG_CMD_REISER
 CONFIG_CMD_SANDBOX
-CONFIG_CMD_SATA
 CONFIG_CMD_SAVES
 CONFIG_CMD_SCSI
 CONFIG_CMD_SDRAM