diff --git a/arch/Kconfig b/arch/Kconfig
index fdcf7cd8a8f76fb046477cd1a097eca9b830ffe4..e063ee0d23b273b8a5582f9a609a8550c8aaf498 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -95,12 +95,14 @@ config X86
 	select PCI
 	select TIMER
 	select X86_TSC_TIMER
+	imply BLK
 	imply DM_ETH
 	imply DM_GPIO
 	imply DM_KEYBOARD
 	imply DM_MMC
 	imply DM_RTC
 	imply DM_SERIAL
+	imply DM_SCSI
 	imply DM_SPI
 	imply DM_SPI_FLASH
 	imply DM_USB
diff --git a/arch/x86/cpu/baytrail/Kconfig b/arch/x86/cpu/baytrail/Kconfig
index 052d77f8b305a25093524100bee06d6eba41e8e8..9374c121f930730021fdb1f9491f7993ec1ea57e 100644
--- a/arch/x86/cpu/baytrail/Kconfig
+++ b/arch/x86/cpu/baytrail/Kconfig
@@ -11,6 +11,7 @@ config INTEL_BAYTRAIL
 	imply HAVE_INTEL_ME if !EFI
 	imply ENABLE_MRC_CACHE
 	imply ENV_IS_IN_SPI_FLASH
+	imply AHCI_PCI
 	imply ICH_SPI
 	imply INTEL_ICH6_GPIO
 	imply MMC
diff --git a/arch/x86/cpu/broadwell/Kconfig b/arch/x86/cpu/broadwell/Kconfig
index 7e713254dae657ba3b2082fde2eff9e634a22261..b421f18202bd4d6058c24bc7cbbdf4fad0541707 100644
--- a/arch/x86/cpu/broadwell/Kconfig
+++ b/arch/x86/cpu/broadwell/Kconfig
@@ -10,6 +10,7 @@ config INTEL_BROADWELL
 	imply HAVE_INTEL_ME
 	imply ENABLE_MRC_CACHE
 	imply ENV_IS_IN_SPI_FLASH
+	imply AHCI_PCI
 	imply ICH_SPI
 	imply INTEL_BROADWELL_GPIO
 	imply SCSI
diff --git a/arch/x86/cpu/coreboot/Kconfig b/arch/x86/cpu/coreboot/Kconfig
index 07d3fb8bead23afa41659cdf61d2e6f55c2eaf8d..d4e0587fc585c5c2a7c99fb4b31aca82b31e49f3 100644
--- a/arch/x86/cpu/coreboot/Kconfig
+++ b/arch/x86/cpu/coreboot/Kconfig
@@ -4,6 +4,7 @@ config SYS_COREBOOT
 	bool
 	default y
 	imply ENV_IS_NOWHERE
+	imply AHCI_PCI
 	imply E1000
 	imply ICH_SPI
 	imply MMC
diff --git a/arch/x86/cpu/ivybridge/Kconfig b/arch/x86/cpu/ivybridge/Kconfig
index 7bac4c5c35bc492a77be84e00e93eed184b37bb8..00f99d6b110db422a2cbd43f80461ed4fedd88ca 100644
--- a/arch/x86/cpu/ivybridge/Kconfig
+++ b/arch/x86/cpu/ivybridge/Kconfig
@@ -11,6 +11,7 @@ config NORTHBRIDGE_INTEL_IVYBRIDGE
 	imply HAVE_INTEL_ME
 	imply ENABLE_MRC_CACHE
 	imply ENV_IS_IN_SPI_FLASH
+	imply AHCI_PCI
 	imply ICH_SPI
 	imply INTEL_ICH6_GPIO
 	imply SCSI
diff --git a/arch/x86/cpu/qemu/Kconfig b/arch/x86/cpu/qemu/Kconfig
index b6297f7971062d5cb27e6c623eb77464cdc3f656..fdf5ae338ec11c81a07e2da369ca9f9a6974040c 100644
--- a/arch/x86/cpu/qemu/Kconfig
+++ b/arch/x86/cpu/qemu/Kconfig
@@ -8,6 +8,7 @@ config QEMU
 	bool
 	select ARCH_EARLY_INIT_R
 	imply ENV_IS_NOWHERE
+	imply AHCI_PCI
 	imply E1000
 	imply SYS_NS16550
 	imply USB
diff --git a/arch/x86/cpu/queensbay/Kconfig b/arch/x86/cpu/queensbay/Kconfig
index 80b6bc52c0cd7ae8fd1421fa0bbbb75f5805f0e8..d1b04c952a099a123b6557cb35139678694583f9 100644
--- a/arch/x86/cpu/queensbay/Kconfig
+++ b/arch/x86/cpu/queensbay/Kconfig
@@ -10,6 +10,7 @@ config INTEL_QUEENSBAY
 	select HAVE_CMC
 	select ARCH_EARLY_INIT_R
 	imply ENV_IS_IN_SPI_FLASH
+	imply AHCI_PCI
 	imply ICH_SPI
 	imply INTEL_ICH6_GPIO
 	imply MMC
diff --git a/configs/chromebook_link64_defconfig b/configs/chromebook_link64_defconfig
index 8da05cd5a4ef8332f256ea505acf5e749b9f7328..3655a6449bf800bf7da156094534a79a6f6e28f0 100644
--- a/configs/chromebook_link64_defconfig
+++ b/configs/chromebook_link64_defconfig
@@ -56,8 +56,6 @@ CONFIG_REGMAP=y
 CONFIG_SPL_REGMAP=y
 CONFIG_SYSCON=y
 CONFIG_SPL_SYSCON=y
-CONFIG_DM_SCSI=y
-CONFIG_BLK=y
 CONFIG_CPU=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_INTEL=y
diff --git a/configs/chromebook_link_defconfig b/configs/chromebook_link_defconfig
index 69cdc6c34939942f2b7a742e86d61d7fb11512d0..e2bc9f7945230e1374071026ded48f93d7b07a0c 100644
--- a/configs/chromebook_link_defconfig
+++ b/configs/chromebook_link_defconfig
@@ -38,8 +38,6 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
-CONFIG_DM_SCSI=y
-CONFIG_BLK=y
 CONFIG_CPU=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_INTEL=y
diff --git a/configs/chromebox_panther_defconfig b/configs/chromebox_panther_defconfig
index f325ba4ac88c8835a84f0493dbd7b97379d4e1c2..34f57ad1eba2ef964779a3997bce454e2104f2bd 100644
--- a/configs/chromebox_panther_defconfig
+++ b/configs/chromebox_panther_defconfig
@@ -34,8 +34,6 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
-CONFIG_DM_SCSI=y
-CONFIG_BLK=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_LPC=y
 CONFIG_RTL8169=y
diff --git a/include/configs/bayleybay.h b/include/configs/bayleybay.h
index 3efdbd2d8ba0f93caaa6b5e66de85b491e6791fc..f9ea907e01c2911e6aad5aec523292aaab46c1cc 100644
--- a/include/configs/bayleybay.h
+++ b/include/configs/bayleybay.h
@@ -19,10 +19,6 @@
 					"stdout=serial,vidconsole\0" \
 					"stderr=serial,vidconsole\0"
 
-#define CONFIG_SCSI_DEV_LIST		\
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA}, \
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA_ALT}
-
 /* Environment configuration */
 #define CONFIG_ENV_SECT_SIZE		0x1000
 #define CONFIG_ENV_OFFSET		0x006ff000
diff --git a/include/configs/conga-qeval20-qa3-e3845.h b/include/configs/conga-qeval20-qa3-e3845.h
index b4ea184bcbd325dd75377c639b696e336d8c06b7..0c3740745b7424bc4fac4f6e2885aeb837900f8a 100644
--- a/include/configs/conga-qeval20-qa3-e3845.h
+++ b/include/configs/conga-qeval20-qa3-e3845.h
@@ -19,10 +19,6 @@
 					"stdout=serial\0" \
 					"stderr=serial\0"
 
-#define CONFIG_SCSI_DEV_LIST		\
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA}, \
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA_ALT}
-
 #define VIDEO_IO_OFFSET				0
 #define CONFIG_X86EMU_RAW_IO
 
diff --git a/include/configs/cougarcanyon2.h b/include/configs/cougarcanyon2.h
index 5f4800bdac20da73ffaf3127ac465e3233559568..66e8006c948346174d3861fa54b5b46746114015 100644
--- a/include/configs/cougarcanyon2.h
+++ b/include/configs/cougarcanyon2.h
@@ -17,9 +17,6 @@
 					"stdout=serial,vga\0" \
 					"stderr=serial,vga\0"
 
-#define CONFIG_SCSI_DEV_LIST		\
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PANTHERPOINT_AHCI_MOBILE}
-
 /* Environment configuration */
 #define CONFIG_ENV_SECT_SIZE		0x1000
 #define CONFIG_ENV_OFFSET		0x5ff000
diff --git a/include/configs/crownbay.h b/include/configs/crownbay.h
index 5ec09ba5c443f7eff0060d732ac8c3d84e3ff1a0..4181c068ed858eab21a3aa6f667ff204a6ee38dc 100644
--- a/include/configs/crownbay.h
+++ b/include/configs/crownbay.h
@@ -21,9 +21,6 @@
 					"stdout=serial,vidconsole\0" \
 					"stderr=serial,vidconsole\0"
 
-#define CONFIG_SCSI_DEV_LIST		\
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TCF_SATA}
-
 /* Environment configuration */
 #define CONFIG_ENV_SECT_SIZE		0x1000
 #define CONFIG_ENV_OFFSET		0
diff --git a/include/configs/dfi-bt700.h b/include/configs/dfi-bt700.h
index 6748b9cb35e5f778d8e5c5b1dfae6d93ffd6938f..949a581e0d4aef50a8f683b921d87d96e300794f 100644
--- a/include/configs/dfi-bt700.h
+++ b/include/configs/dfi-bt700.h
@@ -24,10 +24,6 @@
 					"stdout=serial\0" \
 					"stderr=serial\0"
 
-#define CONFIG_SCSI_DEV_LIST		\
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA}, \
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA_ALT}
-
 #define CONFIG_USB_HOST_ETHER
 #define CONFIG_USB_ETHER_ASIX
 #define CONFIG_USB_ETHER_SMSC95XX
diff --git a/include/configs/minnowmax.h b/include/configs/minnowmax.h
index 5b24c2bbd475c9a524ca26aa5ac8a5f2b0a74ca4..5b1660cb5b55a58331c48fe6d2ed318b8896942d 100644
--- a/include/configs/minnowmax.h
+++ b/include/configs/minnowmax.h
@@ -22,10 +22,6 @@
 					"stderr=vidconsole,serial\0" \
 					"usb_pgood_delay=40\0"
 
-#define CONFIG_SCSI_DEV_LIST		\
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA}, \
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA_ALT}
-
 #define VIDEO_IO_OFFSET				0
 #define CONFIG_X86EMU_RAW_IO
 
diff --git a/include/configs/qemu-x86.h b/include/configs/qemu-x86.h
index 033b5e2a046b0a01fac6569516a7fbcddf57e78f..01072f8572816b06f55064902a0bc0a2c3714b53 100644
--- a/include/configs/qemu-x86.h
+++ b/include/configs/qemu-x86.h
@@ -23,11 +23,7 @@
  * ATA/SATA support for QEMU x86 targets
  *   - Only legacy IDE controller is supported for QEMU '-M pc' target
  *   - AHCI controller is supported for QEMU '-M q35' target
- *
- * Default configuraion is to support the QEMU default x86 target
- * Undefine CONFIG_IDE to support q35 target
  */
-#ifdef CONFIG_IDE
 #define CONFIG_SYS_IDE_MAXBUS		2
 #define CONFIG_SYS_IDE_MAXDEVICE	4
 #define CONFIG_SYS_ATA_BASE_ADDR	0
@@ -38,12 +34,6 @@
 #define CONFIG_SYS_ATA_IDE1_OFFSET	0x170
 #define CONFIG_ATAPI
 
-#undef CONFIG_SCSI_AHCI
-#else
-#define CONFIG_SCSI_DEV_LIST		\
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH9_AHCI}
-#endif
-
 /* SPI is not supported */
 
 #define CONFIG_SPL_FRAMEWORK
diff --git a/include/configs/som-6896.h b/include/configs/som-6896.h
index af51c2a94b1d0c24df04bba4596c883ff5a359ab..509f23a5022033942082058dd9663154b84066d6 100644
--- a/include/configs/som-6896.h
+++ b/include/configs/som-6896.h
@@ -16,9 +16,6 @@
 
 #define CONFIG_MISC_INIT_R
 
-#define CONFIG_SCSI_DEV_LIST	\
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_WILDCATPOINT_AHCI}
-
 #define VIDEO_IO_OFFSET			0
 #define CONFIG_X86EMU_RAW_IO
 
diff --git a/include/configs/som-db5800-som-6867.h b/include/configs/som-db5800-som-6867.h
index 17adf7e40df2a31b7033fd782a3a808cf808186f..927e1b68f1b3006a7c9d4fee579364089e651e50 100644
--- a/include/configs/som-db5800-som-6867.h
+++ b/include/configs/som-db5800-som-6867.h
@@ -19,10 +19,6 @@
 					"stdout=serial,vidconsole\0" \
 					"stderr=serial,vidconsole\0"
 
-#define CONFIG_SCSI_DEV_LIST		\
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA}, \
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA_ALT}
-
 #define VIDEO_IO_OFFSET				0
 #define CONFIG_X86EMU_RAW_IO
 
diff --git a/include/configs/x86-chromebook.h b/include/configs/x86-chromebook.h
index 4d02cd45f599a21de0d7e8f898d8c40092e027c7..27ba9ee229f30b5698cf577b3698b9a876f92db4 100644
--- a/include/configs/x86-chromebook.h
+++ b/include/configs/x86-chromebook.h
@@ -15,14 +15,6 @@
 #define CONFIG_X86_REFCODE_ADDR			0xffea0000
 #define CONFIG_X86_REFCODE_RUN_ADDR		0
 
-#define CONFIG_SCSI_DEV_LIST	\
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_NM10_AHCI}, \
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_COUGARPOINT_AHCI_MOBILE}, \
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_COUGARPOINT_AHCI_SERIES6}, \
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PANTHERPOINT_AHCI_MOBILE}, \
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNXPOINT_AHCI}, \
-	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_WILDCATPOINT_AHCI}
-
 #define CONFIG_PCI_MEM_BUS	0xe0000000
 #define CONFIG_PCI_MEM_PHYS	CONFIG_PCI_MEM_BUS
 #define CONFIG_PCI_MEM_SIZE	0x10000000