diff options
author | Tom Rini <trini@konsulko.com> | 2017-07-11 20:28:46 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-07-11 20:28:46 -0400 |
commit | 8d3a25685e4aac7070365a2b3c53c2c81b27930f (patch) | |
tree | 7956bf5e00e3490169a7fc41c42a4416da8db51f /arch | |
parent | d43ef73bf26614af9b01fd57baa1a1fcf24bfade (diff) | |
parent | 8c9eaadaaad888e0cd77512553d0d02d476b4dde (diff) | |
download | u-boot-8d3a25685e4aac7070365a2b3c53c2c81b27930f.tar.gz u-boot-8d3a25685e4aac7070365a2b3c53c2c81b27930f.tar.bz2 u-boot-8d3a25685e4aac7070365a2b3c53c2c81b27930f.zip |
Merge git://git.denx.de/u-boot-dm
Diffstat (limited to 'arch')
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, }; |