summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/Kconfig2
-rw-r--r--arch/arm/Kconfig10
-rw-r--r--arch/arm/cpu/armv7/ls102xa/Kconfig1
-rw-r--r--arch/arm/cpu/armv7/ls102xa/ls102xa_sata.c2
-rw-r--r--arch/arm/cpu/armv7/mx6/Kconfig4
-rw-r--r--arch/arm/cpu/armv7/mx6/clock.c6
-rw-r--r--arch/arm/cpu/armv8/fsl-layerscape/Kconfig2
-rw-r--r--arch/arm/cpu/armv8/fsl-layerscape/soc.c4
-rw-r--r--arch/arm/dts/rk3328.dtsi3
-rw-r--r--arch/arm/dts/tegra114-dalmore.dts4
-rw-r--r--arch/arm/dts/tegra124-cei-tk1-som.dts4
-rw-r--r--arch/arm/dts/tegra124-jetson-tk1.dts4
-rw-r--r--arch/arm/dts/tegra124-venice2.dts4
-rw-r--r--arch/arm/dts/tegra186-p2771-0000.dtsi4
-rw-r--r--arch/arm/dts/tegra20-colibri.dts4
-rw-r--r--arch/arm/dts/tegra20-harmony.dts4
-rw-r--r--arch/arm/dts/tegra20-trimslice.dts4
-rw-r--r--arch/arm/dts/tegra210-e2220-1170.dts4
-rw-r--r--arch/arm/dts/tegra210-p2371-0000.dts4
-rw-r--r--arch/arm/dts/tegra210-p2371-2180.dts4
-rw-r--r--arch/arm/dts/tegra210-p2571.dts4
-rw-r--r--arch/arm/dts/tegra30-apalis.dts4
-rw-r--r--arch/arm/dts/tegra30-beaver.dts4
-rw-r--r--arch/arm/dts/tegra30-cardhu.dts4
-rw-r--r--arch/arm/dts/tegra30-colibri.dts4
-rw-r--r--arch/arm/dts/tegra30-tec-ng.dts4
-rw-r--r--arch/arm/imx-common/Makefile2
-rw-r--r--arch/arm/imx-common/cpu.c2
-rw-r--r--arch/arm/include/asm/arch-ls102xa/config.h1
-rw-r--r--arch/arm/mach-mvebu/Kconfig4
-rw-r--r--arch/arm/mach-omap2/omap5/Kconfig2
-rw-r--r--arch/arm/mach-omap2/sata.c4
-rw-r--r--arch/arm/mach-tegra/board2.c26
-rw-r--r--arch/arm/mach-tegra/clock.c4
-rw-r--r--arch/powerpc/cpu/mpc83xx/Kconfig1
-rw-r--r--arch/powerpc/cpu/mpc85xx/Kconfig46
-rw-r--r--arch/powerpc/cpu/mpc85xx/cpu_init.c4
-rw-r--r--arch/powerpc/cpu/mpc86xx/Kconfig1
-rw-r--r--arch/sandbox/cpu/spl.c11
-rw-r--r--arch/sandbox/dts/sandbox.dts1
-rw-r--r--arch/sandbox/dts/test.dts19
-rw-r--r--arch/x86/cpu/ivybridge/sata.c22
42 files changed, 211 insertions, 41 deletions
diff --git a/arch/Kconfig b/arch/Kconfig
index fe1b991041..7e76abdbf3 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -75,6 +75,8 @@ config SANDBOX
imply FAT_WRITE
imply HASH_VERIFY
imply LZMA
+ imply SCSI
+ imply CMD_SATA
config SH
bool "SuperH architecture"
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 5f2048bd20..d43aaac2a0 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -792,6 +792,7 @@ config TARGET_LS2080AQDS
select BOARD_LATE_INIT
select SUPPORT_SPL
select ARCH_MISC_INIT
+ imply SCSI
help
Support for Freescale LS2080AQDS platform
The LS2080A Development System (QDS) is a high-performance
@@ -806,6 +807,7 @@ config TARGET_LS2080ARDB
select BOARD_LATE_INIT
select SUPPORT_SPL
select ARCH_MISC_INIT
+ imply SCSI
help
Support for Freescale LS2080ARDB platform.
The LS2080A Reference design board (RDB) is a high-performance
@@ -866,6 +868,7 @@ config TARGET_LS1012ARDB
select ARCH_LS1012A
select ARM64
select BOARD_LATE_INIT
+ imply SCSI
help
Support for Freescale LS1012ARDB platform.
The LS1012A Reference design board (RDB) is a high-performance
@@ -894,6 +897,7 @@ config TARGET_LS1021AQDS
select LS1_DEEP_SLEEP
select SYS_FSL_DDR
select BOARD_EARLY_INIT_F
+ imply SCSI
config TARGET_LS1021ATWR
bool "Support ls1021atwr"
@@ -906,6 +910,7 @@ config TARGET_LS1021ATWR
select ARCH_SUPPORT_PSCI
select LS1_DEEP_SLEEP
select BOARD_EARLY_INIT_F
+ imply SCSI
config TARGET_LS1021AIOT
bool "Support ls1021aiot"
@@ -916,6 +921,7 @@ config TARGET_LS1021AIOT
select SUPPORT_SPL
select ARCH_LS1021A
select ARCH_SUPPORT_PSCI
+ imply SCSI
help
Support for Freescale LS1021AIOT platform.
The LS1021A Freescale board (IOT) is a high-performance
@@ -930,6 +936,7 @@ config TARGET_LS1043AQDS
select BOARD_LATE_INIT
select SUPPORT_SPL
select BOARD_EARLY_INIT_F
+ imply SCSI
help
Support for Freescale LS1043AQDS platform.
@@ -941,6 +948,7 @@ config TARGET_LS1043ARDB
select BOARD_LATE_INIT
select SUPPORT_SPL
select BOARD_EARLY_INIT_F
+ imply SCSI
help
Support for Freescale LS1043ARDB platform.
@@ -953,6 +961,7 @@ config TARGET_LS1046AQDS
select SUPPORT_SPL
select DM_SPI_FLASH if DM_SPI
select BOARD_EARLY_INIT_F
+ imply SCSI
help
Support for Freescale LS1046AQDS platform.
The LS1046A Development System (QDS) is a high-performance
@@ -969,6 +978,7 @@ config TARGET_LS1046ARDB
select DM_SPI_FLASH if DM_SPI
select POWER_MC34VR500
select BOARD_EARLY_INIT_F
+ imply SCSI
help
Support for Freescale LS1046ARDB platform.
The LS1046A Reference Design Board (RDB) is a high-performance
diff --git a/arch/arm/cpu/armv7/ls102xa/Kconfig b/arch/arm/cpu/armv7/ls102xa/Kconfig
index b61f3cdcde..6a013b2183 100644
--- a/arch/arm/cpu/armv7/ls102xa/Kconfig
+++ b/arch/arm/cpu/armv7/ls102xa/Kconfig
@@ -14,6 +14,7 @@ config ARCH_LS1021A
select SYS_FSL_HAS_SEC
select SYS_FSL_SEC_COMPAT_5
select SYS_FSL_SEC_LE
+ imply SCSI
menu "LS102xA architecture"
depends on ARCH_LS1021A
diff --git a/arch/arm/cpu/armv7/ls102xa/ls102xa_sata.c b/arch/arm/cpu/armv7/ls102xa/ls102xa_sata.c
index 144f2c368d..e11d3a197d 100644
--- a/arch/arm/cpu/armv7/ls102xa/ls102xa_sata.c
+++ b/arch/arm/cpu/armv7/ls102xa/ls102xa_sata.c
@@ -36,7 +36,7 @@ int ls1021a_sata_init(void)
out_le32(&ccsr_ahci->ptc, AHCI_PORT_TRANS_CFG);
ahci_init((void __iomem *)AHCI_BASE_ADDR);
- scsi_scan(0);
+ scsi_scan(false);
return 0;
}
diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig
index 4fd60d480e..1e5dc9afd9 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/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c
index 84bc2134fe..1f2739e864 100644
--- a/arch/arm/cpu/armv7/mx6/clock.c
+++ b/arch/arm/cpu/armv7/mx6/clock.c
@@ -1042,7 +1042,7 @@ u32 imx_get_fecclk(void)
return mxc_get_clock(MXC_IPG_CLK);
}
-#if defined(CONFIG_CMD_SATA) || defined(CONFIG_PCIE_IMX)
+#if defined(CONFIG_SATA) || defined(CONFIG_PCIE_IMX)
static int enable_enet_pll(uint32_t en)
{
struct mxc_ccm_reg *const imx_ccm
@@ -1069,7 +1069,7 @@ static int enable_enet_pll(uint32_t en)
}
#endif
-#ifdef CONFIG_CMD_SATA
+#ifdef CONFIG_SATA
static void ungate_sata_clock(void)
{
struct mxc_ccm_reg *const imx_ccm =
@@ -1143,7 +1143,7 @@ int enable_pcie_clock(void)
clrbits_le32(&ccm_regs->cbcmr, MXC_CCM_CBCMR_PCIE_AXI_CLK_SEL);
/* Party time! Ungate the clock to the PCIe. */
-#ifdef CONFIG_CMD_SATA
+#ifdef CONFIG_SATA
ungate_sata_clock();
#endif
ungate_pcie_clock();
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
index d8b285dcd7..5825f9b726 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
+++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
@@ -26,6 +26,7 @@ config ARCH_LS1043A
select SYS_FSL_HAS_DDR4
select ARCH_EARLY_INIT_R
select BOARD_EARLY_INIT_F
+ imply SCSI
config ARCH_LS1046A
bool
@@ -46,6 +47,7 @@ config ARCH_LS1046A
select SYS_FSL_SRDS_2
select ARCH_EARLY_INIT_R
select BOARD_EARLY_INIT_F
+ imply SCSI
config ARCH_LS2080A
bool
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
index 0943e833d7..aee1ffa7d4 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
@@ -225,7 +225,7 @@ int sata_init(void)
out_le32(&ccsr_ahci->axicc, AHCI_PORT_AXICC_CFG);
ahci_init((void __iomem *)CONFIG_SYS_SATA1);
- scsi_scan(0);
+ scsi_scan(false);
return 0;
}
@@ -244,7 +244,7 @@ int sata_init(void)
out_le32(&ccsr_ahci->axicc, AHCI_PORT_AXICC_CFG);
ahci_init((void __iomem *)CONFIG_SYS_SATA);
- scsi_scan(0);
+ scsi_scan(false);
return 0;
}
diff --git a/arch/arm/dts/rk3328.dtsi b/arch/arm/dts/rk3328.dtsi
index 35e02f554f..0bab1e33cc 100644
--- a/arch/arm/dts/rk3328.dtsi
+++ b/arch/arm/dts/rk3328.dtsi
@@ -25,6 +25,9 @@
i2c1 = &i2c1;
i2c2 = &i2c2;
i2c3 = &i2c3;
+ mmc0 = &emmc;
+ mmc1 = &sdmmc;
+ mmc2 = &sdmmc_ext;
};
cpus {
diff --git a/arch/arm/dts/tegra114-dalmore.dts b/arch/arm/dts/tegra114-dalmore.dts
index 5f4df88f84..18bcb75faf 100644
--- a/arch/arm/dts/tegra114-dalmore.dts
+++ b/arch/arm/dts/tegra114-dalmore.dts
@@ -93,3 +93,7 @@
};
};
};
+
+&uartd {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra124-cei-tk1-som.dts b/arch/arm/dts/tegra124-cei-tk1-som.dts
index c4d4f9d89f..b1dd4181ac 100644
--- a/arch/arm/dts/tegra124-cei-tk1-som.dts
+++ b/arch/arm/dts/tegra124-cei-tk1-som.dts
@@ -475,3 +475,7 @@
};
};
};
+
+&uartd {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra124-jetson-tk1.dts b/arch/arm/dts/tegra124-jetson-tk1.dts
index f1db952355..d6420436cd 100644
--- a/arch/arm/dts/tegra124-jetson-tk1.dts
+++ b/arch/arm/dts/tegra124-jetson-tk1.dts
@@ -480,3 +480,7 @@
};
};
};
+
+&uartd {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra124-venice2.dts b/arch/arm/dts/tegra124-venice2.dts
index add9244e68..7e9c6aa183 100644
--- a/arch/arm/dts/tegra124-venice2.dts
+++ b/arch/arm/dts/tegra124-venice2.dts
@@ -109,3 +109,7 @@
};
};
+
+&uarta {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra186-p2771-0000.dtsi b/arch/arm/dts/tegra186-p2771-0000.dtsi
index 54b2539ff4..a1319dc493 100644
--- a/arch/arm/dts/tegra186-p2771-0000.dtsi
+++ b/arch/arm/dts/tegra186-p2771-0000.dtsi
@@ -76,3 +76,7 @@
};
};
};
+
+&uarta {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra20-colibri.dts b/arch/arm/dts/tegra20-colibri.dts
index 3c10dd6630..9171319d98 100644
--- a/arch/arm/dts/tegra20-colibri.dts
+++ b/arch/arm/dts/tegra20-colibri.dts
@@ -162,3 +162,7 @@
};
};
};
+
+&uarta {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra20-harmony.dts b/arch/arm/dts/tegra20-harmony.dts
index dcbde7c2ed..0c907054db 100644
--- a/arch/arm/dts/tegra20-harmony.dts
+++ b/arch/arm/dts/tegra20-harmony.dts
@@ -812,3 +812,7 @@
clock-names = "pll_a", "pll_a_out0", "mclk";
};
};
+
+&uartd {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra20-trimslice.dts b/arch/arm/dts/tegra20-trimslice.dts
index 7fb7dd0b58..31f509ab12 100644
--- a/arch/arm/dts/tegra20-trimslice.dts
+++ b/arch/arm/dts/tegra20-trimslice.dts
@@ -129,3 +129,7 @@
};
};
+
+&uarta {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra210-e2220-1170.dts b/arch/arm/dts/tegra210-e2220-1170.dts
index 70cd72b561..e6b06862d8 100644
--- a/arch/arm/dts/tegra210-e2220-1170.dts
+++ b/arch/arm/dts/tegra210-e2220-1170.dts
@@ -57,3 +57,7 @@
};
};
};
+
+&uarta {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra210-p2371-0000.dts b/arch/arm/dts/tegra210-p2371-0000.dts
index d9612962bd..539e7cef93 100644
--- a/arch/arm/dts/tegra210-p2371-0000.dts
+++ b/arch/arm/dts/tegra210-p2371-0000.dts
@@ -58,3 +58,7 @@
};
};
};
+
+&uarta {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra210-p2371-2180.dts b/arch/arm/dts/tegra210-p2371-2180.dts
index 0dc06a4721..da4349bd03 100644
--- a/arch/arm/dts/tegra210-p2371-2180.dts
+++ b/arch/arm/dts/tegra210-p2371-2180.dts
@@ -109,3 +109,7 @@
};
};
};
+
+&uarta {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra210-p2571.dts b/arch/arm/dts/tegra210-p2571.dts
index 2afcde5ca2..16370c596e 100644
--- a/arch/arm/dts/tegra210-p2571.dts
+++ b/arch/arm/dts/tegra210-p2571.dts
@@ -105,3 +105,7 @@
};
};
};
+
+&uarta {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra30-apalis.dts b/arch/arm/dts/tegra30-apalis.dts
index 9e4ab8c26f..e739c595ab 100644
--- a/arch/arm/dts/tegra30-apalis.dts
+++ b/arch/arm/dts/tegra30-apalis.dts
@@ -332,3 +332,7 @@
};
};
};
+
+&uarta {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra30-beaver.dts b/arch/arm/dts/tegra30-beaver.dts
index 4a32fcf44a..c1a15bb4b3 100644
--- a/arch/arm/dts/tegra30-beaver.dts
+++ b/arch/arm/dts/tegra30-beaver.dts
@@ -346,3 +346,7 @@
};
};
};
+
+&uarta {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra30-cardhu.dts b/arch/arm/dts/tegra30-cardhu.dts
index 70fd916f1a..5b9798c5a8 100644
--- a/arch/arm/dts/tegra30-cardhu.dts
+++ b/arch/arm/dts/tegra30-cardhu.dts
@@ -451,3 +451,7 @@
};
};
};
+
+&uarta {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra30-colibri.dts b/arch/arm/dts/tegra30-colibri.dts
index 3cff2f62e6..49ebe91fb2 100644
--- a/arch/arm/dts/tegra30-colibri.dts
+++ b/arch/arm/dts/tegra30-colibri.dts
@@ -106,3 +106,7 @@
};
};
};
+
+&uarta {
+ status = "okay";
+};
diff --git a/arch/arm/dts/tegra30-tec-ng.dts b/arch/arm/dts/tegra30-tec-ng.dts
index e924acc35c..f2a49b8cbe 100644
--- a/arch/arm/dts/tegra30-tec-ng.dts
+++ b/arch/arm/dts/tegra30-tec-ng.dts
@@ -20,3 +20,7 @@
status = "okay";
};
};
+
+&uartd {
+ status = "okay";
+};
diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile
index b7cb434bd7..fc69172b0b 100644
--- a/arch/arm/imx-common/Makefile
+++ b/arch/arm/imx-common/Makefile
@@ -25,7 +25,7 @@ obj-$(CONFIG_SYSCOUNTER_TIMER) += syscounter.o
endif
ifeq ($(SOC),$(filter $(SOC),mx6 mx7))
obj-y += cache.o init.o
-obj-$(CONFIG_CMD_SATA) += sata.o
+obj-$(CONFIG_SATA) += sata.o
obj-$(CONFIG_IMX_VIDEO_SKIP) += video.o
obj-$(CONFIG_IMX_RDC) += rdc-sema.o
obj-$(CONFIG_IMX_BOOTAUX) += imx_bootaux.o
diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c
index 74bdd24ed1..9e83b4221e 100644
--- a/arch/arm/imx-common/cpu.c
+++ b/arch/arm/imx-common/cpu.c
@@ -278,7 +278,7 @@ void arch_preboot_os(void)
#if defined(CONFIG_PCIE_IMX)
imx_pcie_remove();
#endif
-#if defined(CONFIG_CMD_SATA)
+#if defined(CONFIG_SATA)
sata_stop();
#if defined(CONFIG_MX6)
disable_sata_clock();
diff --git a/arch/arm/include/asm/arch-ls102xa/config.h b/arch/arm/include/asm/arch-ls102xa/config.h
index 5c4da0f0e3..fc954c5366 100644
--- a/arch/arm/include/asm/arch-ls102xa/config.h
+++ b/arch/arm/include/asm/arch-ls102xa/config.h
@@ -81,7 +81,6 @@
/* SATA */
#define AHCI_BASE_ADDR (CONFIG_SYS_IMMR + 0x02200000)
-#define CONFIG_SCSI
#define CONFIG_LIBATA
#define CONFIG_SCSI_AHCI
#define CONFIG_SCSI_AHCI_PLAT
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index 6ae54ef46a..3e48d58fcc 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
@@ -77,6 +78,7 @@ config TARGET_CLEARFOG
config TARGET_MVEBU_ARMADA_37XX
bool "Support Armada 37xx platforms"
select ARMADA_3700
+ imply SCSI
config TARGET_DB_88F6720
bool "Support DB-88F6720 Armada 375"
@@ -94,6 +96,7 @@ config TARGET_MVEBU_ARMADA_8K
bool "Support Armada 7k/8k platforms"
select ARMADA_8K
select BOARD_LATE_INIT
+ imply SCSI
config TARGET_DB_MV784MP_GP
bool "Support db-mv784mp-gp"
@@ -111,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/arm/mach-omap2/omap5/Kconfig b/arch/arm/mach-omap2/omap5/Kconfig
index 1a66abdeb2..08f45bc868 100644
--- a/arch/arm/mach-omap2/omap5/Kconfig
+++ b/arch/arm/mach-omap2/omap5/Kconfig
@@ -25,12 +25,14 @@ config TARGET_DRA7XX_EVM
select DRA7XX
select TI_I2C_BOARD_DETECT
select PHYS_64BIT
+ imply SCSI
config TARGET_AM57XX_EVM
bool "AM57XX"
select BOARD_LATE_INIT
select DRA7XX
select TI_I2C_BOARD_DETECT
+ imply SCSI
endchoice
diff --git a/arch/arm/mach-omap2/sata.c b/arch/arm/mach-omap2/sata.c
index 0c8268905a..dc68896d1b 100644
--- a/arch/arm/mach-omap2/sata.c
+++ b/arch/arm/mach-omap2/sata.c
@@ -63,8 +63,10 @@ void scsi_init(void)
scsi_scan(1);
}
-void scsi_bus_reset(void)
+int scsi_bus_reset(struct udevice *dev)
{
ahci_reset((void __iomem *)DWC_AHSATA_BASE);
ahci_init((void __iomem *)DWC_AHSATA_BASE);
+
+ return 0;
}
diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c
index 1e627ba603..6b5fa7df62 100644
--- a/arch/arm/mach-tegra/board2.c
+++ b/arch/arm/mach-tegra/board2.c
@@ -9,14 +9,8 @@
#include <dm.h>
#include <errno.h>
#include <ns16550.h>
-#include <linux/compiler.h>
-#include <linux/sizes.h>
+#include <usb.h>
#include <asm/io.h>
-#include <asm/arch/clock.h>
-#include <asm/arch/funcmux.h>
-#include <asm/arch/pinmux.h>
-#include <asm/arch/pmu.h>
-#include <asm/arch/tegra.h>
#include <asm/arch-tegra/ap.h>
#include <asm/arch-tegra/board.h>
#include <asm/arch-tegra/clk_rst.h>
@@ -25,17 +19,17 @@
#include <asm/arch-tegra/uart.h>
#include <asm/arch-tegra/warmboot.h>
#include <asm/arch-tegra/gpu.h>
+#include <asm/arch-tegra/usb.h>
+#include <asm/arch-tegra/xusb-padctl.h>
+#include <asm/arch/clock.h>
+#include <asm/arch/funcmux.h>
+#include <asm/arch/pinmux.h>
+#include <asm/arch/pmu.h>
+#include <asm/arch/tegra.h>
#ifdef CONFIG_TEGRA_CLOCK_SCALING
#include <asm/arch/emc.h>
#endif
-#include <asm/arch-tegra/usb.h>
-#ifdef CONFIG_USB_EHCI_TEGRA
-#include <usb.h>
-#endif
-#include <asm/arch-tegra/xusb-padctl.h>
#include <power/as3722.h>
-#include <i2c.h>
-#include <spi.h>
#include "emc.h"
DECLARE_GLOBAL_DATA_PTR;
@@ -162,8 +156,10 @@ int board_init(void)
#if defined(CONFIG_DM_VIDEO)
board_id = tegra_board_id();
err = tegra_lcd_pmic_init(board_id);
- if (err)
+ if (err) {
+ debug("Failed to set up LCD PMIC\n");
return err;
+ }
#endif
#ifdef CONFIG_TEGRA_NAND
diff --git a/arch/arm/mach-tegra/clock.c b/arch/arm/mach-tegra/clock.c
index bac42119cd..668bbd20c1 100644
--- a/arch/arm/mach-tegra/clock.c
+++ b/arch/arm/mach-tegra/clock.c
@@ -7,6 +7,8 @@
/* Tegra SoC common clock control functions */
#include <common.h>
+#include <div64.h>
+#include <dm.h>
#include <errno.h>
#include <asm/io.h>
#include <asm/arch/clock.h>
@@ -15,8 +17,6 @@
#include <asm/arch-tegra/clk_rst.h>
#include <asm/arch-tegra/pmc.h>
#include <asm/arch-tegra/timer.h>
-#include <div64.h>
-#include <fdtdec.h>
/*
* This is our record of the current clock rate of each clock. We don't
diff --git a/arch/powerpc/cpu/mpc83xx/Kconfig b/arch/powerpc/cpu/mpc83xx/Kconfig
index 0772b7c4fb..cdd21a253a 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 4db687cb92..0bff79adbb 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"
@@ -117,6 +122,7 @@ config TARGET_MPC8572DS
select ARCH_MPC8572
# Use DDR3 controller with DDR2 DIMMs on this board
select SYS_FSL_DDRC_GEN3
+ imply SCSI
config TARGET_P1010RDB_PA
bool "Support P1010RDB_PA"
@@ -125,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"
@@ -133,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"
@@ -151,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"
@@ -158,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"
@@ -165,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"
@@ -172,6 +184,7 @@ config TARGET_P1020UTM
select SUPPORT_TPL
select ARCH_P1020
imply CMD_EEPROM
+ imply CMD_SATA
config TARGET_P1021RDB
bool "Support P1021RDB"
@@ -179,6 +192,7 @@ config TARGET_P1021RDB
select SUPPORT_TPL
select ARCH_P1021
imply CMD_EEPROM
+ imply CMD_SATA
config TARGET_P1024RDB
bool "Support P1024RDB"
@@ -186,6 +200,7 @@ config TARGET_P1024RDB
select SUPPORT_TPL
select ARCH_P1024
imply CMD_EEPROM
+ imply CMD_SATA
config TARGET_P1025RDB
bool "Support P1025RDB"
@@ -193,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"
@@ -200,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"
@@ -210,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"
@@ -223,6 +241,7 @@ config TARGET_T1024QDS
select SUPPORT_SPL
select PHYS_64BIT
imply CMD_EEPROM
+ imply CMD_SATA
config TARGET_T1023RDB
bool "Support T1023RDB"
@@ -246,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"
@@ -253,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"
@@ -260,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"
@@ -267,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"
@@ -274,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"
@@ -281,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"
@@ -288,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"
@@ -295,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"
@@ -308,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"
@@ -321,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"
@@ -356,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"
@@ -477,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
@@ -585,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
@@ -613,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
@@ -627,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
@@ -670,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
@@ -684,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
@@ -746,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
@@ -781,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
@@ -802,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
@@ -823,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
@@ -880,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
@@ -898,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
@@ -920,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
@@ -961,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
@@ -985,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/arch/powerpc/cpu/mpc85xx/cpu_init.c b/arch/powerpc/cpu/mpc85xx/cpu_init.c
index f5bf67c990..a3076d8d71 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu_init.c
@@ -48,7 +48,7 @@
#ifndef CONFIG_ARCH_QEMU_E500
#include <fsl_ddr.h>
#endif
-#include "../../../../drivers/block/fsl_sata.h"
+#include "../../../../drivers/ata/fsl_sata.h"
#ifdef CONFIG_U_QE
#include <fsl_qe.h>
#endif
@@ -1024,7 +1024,7 @@ void arch_preboot_os(void)
mtmsr(msr);
}
-#if defined(CONFIG_CMD_SATA) && defined(CONFIG_FSL_SATA)
+#if defined(CONFIG_SATA) && defined(CONFIG_FSL_SATA)
int sata_initialize(void)
{
if (is_serdes_configured(SATA1) || is_serdes_configured(SATA2))
diff --git a/arch/powerpc/cpu/mpc86xx/Kconfig b/arch/powerpc/cpu/mpc86xx/Kconfig
index fcac6584e8..2cc180da38 100644
--- a/arch/powerpc/cpu/mpc86xx/Kconfig
+++ b/arch/powerpc/cpu/mpc86xx/Kconfig
@@ -21,6 +21,7 @@ config TARGET_MPC8610HPCD
config TARGET_MPC8641HPCN
bool "Support MPC8641HPCN"
select ARCH_MPC8641
+ imply SCSI
config TARGET_XPEDITE517X
bool "Support xpedite517x"
diff --git a/arch/sandbox/cpu/spl.c b/arch/sandbox/cpu/spl.c
index 7cc76d4cf1..2495fa9b08 100644
--- a/arch/sandbox/cpu/spl.c
+++ b/arch/sandbox/cpu/spl.c
@@ -44,16 +44,5 @@ SPL_LOAD_IMAGE_METHOD("sandbox", 0, BOOT_DEVICE_BOARD, spl_board_load_image);
void spl_board_init(void)
{
- struct udevice *dev;
-
preloader_console_init();
-
- /*
- * Scan all the devices so that we can output their platform data. See
- * sandbox_spl_probe().
- */
- for (uclass_first_device(UCLASS_MISC, &dev);
- dev;
- uclass_next_device(&dev))
- ;
}
diff --git a/arch/sandbox/dts/sandbox.dts b/arch/sandbox/dts/sandbox.dts
index 40f423da25..0aba6c9a6d 100644
--- a/arch/sandbox/dts/sandbox.dts
+++ b/arch/sandbox/dts/sandbox.dts
@@ -5,6 +5,7 @@
/ {
#address-cells = <1>;
#size-cells = <1>;
+ model = "sandbox";
aliases {
eth5 = "/eth@90000000";
diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
index 7dde95d4b1..65b2f8ecda 100644
--- a/arch/sandbox/dts/test.dts
+++ b/arch/sandbox/dts/test.dts
@@ -289,6 +289,25 @@
};
};
+ probing {
+ compatible = "simple-bus";
+ test1 {
+ compatible = "denx,u-boot-probe-test";
+ };
+
+ test2 {
+ compatible = "denx,u-boot-probe-test";
+ };
+
+ test3 {
+ compatible = "denx,u-boot-probe-test";
+ };
+
+ test4 {
+ compatible = "denx,u-boot-probe-test";
+ };
+ };
+
pwrdom: power-domain {
compatible = "sandbox,power-domain";
#power-domain-cells = <1>;
diff --git a/arch/x86/cpu/ivybridge/sata.c b/arch/x86/cpu/ivybridge/sata.c
index 0f5e190425..462b7c09dd 100644
--- a/arch/x86/cpu/ivybridge/sata.c
+++ b/arch/x86/cpu/ivybridge/sata.c
@@ -6,6 +6,7 @@
*/
#include <common.h>
+#include <ahci.h>
#include <dm.h>
#include <fdtdec.h>
#include <asm/io.h>
@@ -208,6 +209,20 @@ static void bd82x6x_sata_enable(struct udevice *dev)
dm_pci_write_config16(dev, 0x90, map);
}
+static int bd82x6x_sata_bind(struct udevice *dev)
+{
+ struct udevice *scsi_dev;
+ int ret;
+
+ if (gd->flags & GD_FLG_RELOC) {
+ ret = ahci_bind_scsi(dev, &scsi_dev);
+ if (ret)
+ return ret;
+ }
+
+ return 0;
+}
+
static int bd82x6x_sata_probe(struct udevice *dev)
{
struct udevice *pch;
@@ -219,8 +234,12 @@ static int bd82x6x_sata_probe(struct udevice *dev)
if (!(gd->flags & GD_FLG_RELOC))
bd82x6x_sata_enable(dev);
- else
+ else {
bd82x6x_sata_init(dev, pch);
+ ret = ahci_probe_scsi(dev);
+ if (ret)
+ return ret;
+ }
return 0;
}
@@ -234,5 +253,6 @@ U_BOOT_DRIVER(ahci_ivybridge_drv) = {
.name = "ahci_ivybridge",
.id = UCLASS_AHCI,
.of_match = bd82x6x_ahci_ids,
+ .bind = bd82x6x_sata_bind,
.probe = bd82x6x_sata_probe,
};