Explorar o código

Merge git://git.denx.de/u-boot-dm

Tom Rini %!s(int64=7) %!d(string=hai) anos
pai
achega
8d3a25685e
Modificáronse 100 ficheiros con 330 adicións e 114 borrados
  1. 0 6
      README
  2. 1 1
      api/api_storage.c
  3. 2 0
      arch/Kconfig
  4. 10 0
      arch/arm/Kconfig
  5. 1 0
      arch/arm/cpu/armv7/ls102xa/Kconfig
  6. 1 1
      arch/arm/cpu/armv7/ls102xa/ls102xa_sata.c
  7. 4 0
      arch/arm/cpu/armv7/mx6/Kconfig
  8. 3 3
      arch/arm/cpu/armv7/mx6/clock.c
  9. 2 0
      arch/arm/cpu/armv8/fsl-layerscape/Kconfig
  10. 2 2
      arch/arm/cpu/armv8/fsl-layerscape/soc.c
  11. 3 0
      arch/arm/dts/rk3328.dtsi
  12. 4 0
      arch/arm/dts/tegra114-dalmore.dts
  13. 4 0
      arch/arm/dts/tegra124-cei-tk1-som.dts
  14. 4 0
      arch/arm/dts/tegra124-jetson-tk1.dts
  15. 4 0
      arch/arm/dts/tegra124-venice2.dts
  16. 4 0
      arch/arm/dts/tegra186-p2771-0000.dtsi
  17. 4 0
      arch/arm/dts/tegra20-colibri.dts
  18. 4 0
      arch/arm/dts/tegra20-harmony.dts
  19. 4 0
      arch/arm/dts/tegra20-trimslice.dts
  20. 4 0
      arch/arm/dts/tegra210-e2220-1170.dts
  21. 4 0
      arch/arm/dts/tegra210-p2371-0000.dts
  22. 4 0
      arch/arm/dts/tegra210-p2371-2180.dts
  23. 4 0
      arch/arm/dts/tegra210-p2571.dts
  24. 4 0
      arch/arm/dts/tegra30-apalis.dts
  25. 4 0
      arch/arm/dts/tegra30-beaver.dts
  26. 4 0
      arch/arm/dts/tegra30-cardhu.dts
  27. 4 0
      arch/arm/dts/tegra30-colibri.dts
  28. 4 0
      arch/arm/dts/tegra30-tec-ng.dts
  29. 1 1
      arch/arm/imx-common/Makefile
  30. 1 1
      arch/arm/imx-common/cpu.c
  31. 0 1
      arch/arm/include/asm/arch-ls102xa/config.h
  32. 4 0
      arch/arm/mach-mvebu/Kconfig
  33. 2 0
      arch/arm/mach-omap2/omap5/Kconfig
  34. 3 1
      arch/arm/mach-omap2/sata.c
  35. 11 15
      arch/arm/mach-tegra/board2.c
  36. 2 2
      arch/arm/mach-tegra/clock.c
  37. 1 0
      arch/powerpc/cpu/mpc83xx/Kconfig
  38. 46 0
      arch/powerpc/cpu/mpc85xx/Kconfig
  39. 2 2
      arch/powerpc/cpu/mpc85xx/cpu_init.c
  40. 1 0
      arch/powerpc/cpu/mpc86xx/Kconfig
  41. 0 11
      arch/sandbox/cpu/spl.c
  42. 1 0
      arch/sandbox/dts/sandbox.dts
  43. 19 0
      arch/sandbox/dts/test.dts
  44. 21 1
      arch/x86/cpu/ivybridge/sata.c
  45. 1 1
      board/advantech/dms-ba16/dms-ba16.c
  46. 1 1
      board/bachmann/ot1200/ot1200.c
  47. 1 1
      board/boundary/nitrogen6x/nitrogen6x.c
  48. 1 0
      board/congatec/Kconfig
  49. 1 1
      board/congatec/cgtqmx6eval/cgtqmx6eval.c
  50. 1 0
      board/dfi/Kconfig
  51. 1 1
      board/gateworks/gw_ventana/gw_ventana.c
  52. 1 1
      board/highbank/ahci.c
  53. 1 1
      board/highbank/highbank.c
  54. 1 1
      board/kosagi/novena/novena.c
  55. 1 1
      board/sandbox/README.sandbox
  56. 1 1
      board/toradex/apalis_imx6/apalis_imx6.c
  57. 1 1
      board/toradex/colibri_imx6/colibri_imx6.c
  58. 1 1
      board/udoo/udoo.c
  59. 1 1
      board/wandboard/wandboard.c
  60. 13 0
      cmd/Kconfig
  61. 4 0
      cmd/fdt.c
  62. 3 3
      cmd/scsi.c
  63. 3 1
      cmd/version.c
  64. 1 1
      common/Kconfig
  65. 0 5
      common/Makefile
  66. 1 0
      common/board_r.c
  67. 22 19
      common/console.c
  68. 1 1
      common/spl/spl_sata.c
  69. 1 1
      common/splash_source.c
  70. 22 22
      common/usb_storage.c
  71. 1 0
      configs/A10-OLinuXino-Lime_defconfig
  72. 1 0
      configs/A20-OLinuXino-Lime2_defconfig
  73. 1 0
      configs/A20-OLinuXino-Lime_defconfig
  74. 1 0
      configs/A20-OLinuXino_MICRO_defconfig
  75. 1 0
      configs/A20-Olimex-SOM-EVB_defconfig
  76. 1 0
      configs/Bananapi_M2_Ultra_defconfig
  77. 1 0
      configs/Bananapi_defconfig
  78. 1 0
      configs/Bananapro_defconfig
  79. 1 0
      configs/Cubieboard2_defconfig
  80. 1 0
      configs/Cubieboard_defconfig
  81. 1 0
      configs/Cubietruck_defconfig
  82. 1 0
      configs/Itead_Ibox_A20_defconfig
  83. 1 0
      configs/Lamobo_R1_defconfig
  84. 1 0
      configs/Linksprite_pcDuino3_Nano_defconfig
  85. 1 0
      configs/Linksprite_pcDuino3_defconfig
  86. 1 0
      configs/MPC8315ERDB_defconfig
  87. 1 0
      configs/MPC8349ITX_LOWBOOT_defconfig
  88. 1 0
      configs/MPC8349ITX_defconfig
  89. 1 0
      configs/MPC837XERDB_defconfig
  90. 1 0
      configs/MPC8544DS_defconfig
  91. 1 0
      configs/MPC8610HPCD_defconfig
  92. 1 0
      configs/Marsboard_A10_defconfig
  93. 1 0
      configs/Mele_A1000_defconfig
  94. 1 0
      configs/Mele_M5_defconfig
  95. 1 0
      configs/Orangepi_defconfig
  96. 1 0
      configs/Orangepi_mini_defconfig
  97. 1 0
      configs/Wits_Pro_A20_DKT_defconfig
  98. 1 0
      configs/bayleybay_defconfig
  99. 1 0
      configs/cgtqmx6eval_defconfig
  100. 3 0
      configs/chromebook_link64_defconfig

+ 0 - 6
README

@@ -826,7 +826,6 @@ The following options need to be configured:
 		CONFIG_CMD_RUN		  run command in env variable
 		CONFIG_CMD_SANDBOX	* sb command to access sandbox features
 		CONFIG_CMD_SAVES	* save S record dump
-		CONFIG_SCSI		* SCSI Support
 		CONFIG_CMD_SDRAM	* print SDRAM configuration information
 					  (requires CONFIG_CMD_I2C)
 		CONFIG_CMD_SF		* Read/write/erase SPI NOR flash
@@ -1043,16 +1042,11 @@ The following options need to be configured:
 			Default is 32bit.
 
 - SCSI Support:
-		At the moment only there is only support for the
-		SYM53C8XX SCSI controller; define
-		CONFIG_SCSI_SYM53C8XX to enable it.
-
 		CONFIG_SYS_SCSI_MAX_LUN [8], CONFIG_SYS_SCSI_MAX_SCSI_ID [7] and
 		CONFIG_SYS_SCSI_MAX_DEVICE [CONFIG_SYS_SCSI_MAX_SCSI_ID *
 		CONFIG_SYS_SCSI_MAX_LUN] can be adjusted to define the
 		maximum numbers of LUNs, SCSI ID's and target
 		devices.
-		CONFIG_SYS_SCSI_SYM53C8XX_CCF to fix clock timing (80Mhz)
 
 		The environment variable 'scsidevs' is set to the number of
 		SCSI devices found during the last scan.

+ 1 - 1
api/api_storage.c

@@ -63,7 +63,7 @@ void dev_stor_init(void)
 	specs[ENUM_MMC].type = DEV_TYP_STOR | DT_STOR_MMC;
 	specs[ENUM_MMC].name = "mmc";
 #endif
-#if defined(CONFIG_CMD_SATA)
+#if defined(CONFIG_SATA)
 	specs[ENUM_SATA].max_dev = CONFIG_SYS_SATA_MAX_DEVICE;
 	specs[ENUM_SATA].enum_started = 0;
 	specs[ENUM_SATA].enum_ended = 0;

+ 2 - 0
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"

+ 10 - 0
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

+ 1 - 0
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

+ 1 - 1
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;
 }

+ 4 - 0
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"

+ 3 - 3
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();

+ 2 - 0
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

+ 2 - 2
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;
 }

+ 3 - 0
arch/arm/dts/rk3328.dtsi

@@ -25,6 +25,9 @@
 		i2c1 = &i2c1;
 		i2c2 = &i2c2;
 		i2c3 = &i2c3;
+		mmc0 = &emmc;
+		mmc1 = &sdmmc;
+		mmc2 = &sdmmc_ext;
 	};
 
 	cpus {

+ 4 - 0
arch/arm/dts/tegra114-dalmore.dts

@@ -93,3 +93,7 @@
 		};
 	};
 };
+
+&uartd {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra124-cei-tk1-som.dts

@@ -475,3 +475,7 @@
 		};
 	};
 };
+
+&uartd {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra124-jetson-tk1.dts

@@ -480,3 +480,7 @@
 		};
 	};
 };
+
+&uartd {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra124-venice2.dts

@@ -109,3 +109,7 @@
 	};
 
 };
+
+&uarta {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra186-p2771-0000.dtsi

@@ -76,3 +76,7 @@
 		};
 	};
 };
+
+&uarta {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra20-colibri.dts

@@ -162,3 +162,7 @@
 		};
 	};
 };
+
+&uarta {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra20-harmony.dts

@@ -812,3 +812,7 @@
 		clock-names = "pll_a", "pll_a_out0", "mclk";
 	};
 };
+
+&uartd {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra20-trimslice.dts

@@ -129,3 +129,7 @@
 	};
 
 };
+
+&uarta {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra210-e2220-1170.dts

@@ -57,3 +57,7 @@
 		};
 	};
 };
+
+&uarta {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra210-p2371-0000.dts

@@ -58,3 +58,7 @@
 		};
 	};
 };
+
+&uarta {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra210-p2371-2180.dts

@@ -109,3 +109,7 @@
 		};
 	};
 };
+
+&uarta {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra210-p2571.dts

@@ -105,3 +105,7 @@
 		};
 	};
 };
+
+&uarta {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra30-apalis.dts

@@ -332,3 +332,7 @@
 		};
 	};
 };
+
+&uarta {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra30-beaver.dts

@@ -346,3 +346,7 @@
 		};
 	};
 };
+
+&uarta {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra30-cardhu.dts

@@ -451,3 +451,7 @@
 		};
 	};
 };
+
+&uarta {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra30-colibri.dts

@@ -106,3 +106,7 @@
 		};
 	};
 };
+
+&uarta {
+	status = "okay";
+};

+ 4 - 0
arch/arm/dts/tegra30-tec-ng.dts

@@ -20,3 +20,7 @@
 		status = "okay";
 	};
 };
+
+&uartd {
+	status = "okay";
+};

+ 1 - 1
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

+ 1 - 1
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();

+ 0 - 1
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

+ 4 - 0
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"

+ 2 - 0
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
 

+ 3 - 1
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;
 }

+ 11 - 15
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

+ 2 - 2
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

+ 1 - 0
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"

+ 46 - 0
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

+ 2 - 2
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))

+ 1 - 0
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"

+ 0 - 11
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))
-		;
 }

+ 1 - 0
arch/sandbox/dts/sandbox.dts

@@ -5,6 +5,7 @@
 / {
 	#address-cells = <1>;
 	#size-cells = <1>;
+	model = "sandbox";
 
 	aliases {
 		eth5 = "/eth@90000000";

+ 19 - 0
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>;

+ 21 - 1
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,
 };

+ 1 - 1
board/advantech/dms-ba16/dms-ba16.c

@@ -609,7 +609,7 @@ int board_late_init(void)
 	pwm_enable(0);
 #endif
 
-#ifdef CONFIG_CMD_SATA
+#ifdef CONFIG_SATA
 	setup_ba16_sata();
 #endif
 

+ 1 - 1
board/bachmann/ot1200/ot1200.c

@@ -338,7 +338,7 @@ int board_init(void)
 
 	leds_on();
 
-#ifdef CONFIG_CMD_SATA
+#ifdef CONFIG_SATA
 	setup_sata();
 #endif
 

+ 1 - 1
board/boundary/nitrogen6x/nitrogen6x.c

@@ -903,7 +903,7 @@ int board_init(void)
 	setup_i2c(1, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info1);
 	setup_i2c(2, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info2);
 
-#ifdef CONFIG_CMD_SATA
+#ifdef CONFIG_SATA
 	setup_sata();
 #endif
 

+ 1 - 0
board/congatec/Kconfig

@@ -13,6 +13,7 @@ choice
 config TARGET_CONGA_QEVAL20_QA3_E3845
 	bool "congatec QEVAL 2.0 & conga-QA3/E3845"
 	select BOARD_LATE_INIT
+	imply SCSI
 	help
 	  This is the congatec Qseven 2.0 evaluation carrier board
 	  (conga-QEVAL) equipped with the conga-QA3/E3845-4G SoM.

+ 1 - 1
board/congatec/cgtqmx6eval/cgtqmx6eval.c

@@ -702,7 +702,7 @@ int board_init(void)
 	else
 		setup_i2c(1, CONFIG_SYS_I2C_SPEED, 0x7f, &mx6dl_i2c_pad_info1);
 
-#ifdef CONFIG_CMD_SATA
+#ifdef CONFIG_SATA
 	setup_sata();
 #endif
 

+ 1 - 0
board/dfi/Kconfig

@@ -12,6 +12,7 @@ choice
 
 config TARGET_DFI_BT700
 	bool "DFI BT700 BayTrail"
+	imply SCSI
 	help
 	  This is the DFI Q7X-151 baseboard equipped with the
 	  DFI BayTrail Bt700 SoM. It contains an Atom E3845 with

+ 1 - 1
board/gateworks/gw_ventana/gw_ventana.c

@@ -633,7 +633,7 @@ int board_init(void)
 #endif
 	setup_ventana_i2c();
 
-#ifdef CONFIG_CMD_SATA
+#ifdef CONFIG_SATA
 	setup_sata();
 #endif
 	/* read Gateworks EEPROM into global struct (used later) */

+ 1 - 1
board/highbank/ahci.c

@@ -172,7 +172,7 @@ static void cphy_override_lane(u8 port)
 
 #define WAIT_MS_LINKUP	4
 
-int ahci_link_up(struct ahci_probe_ent *probe_ent, int port)
+int ahci_link_up(struct ahci_uc_priv *probe_ent, int port)
 {
 	u32 tmp;
 	int j = 0;

+ 1 - 1
board/highbank/highbank.c

@@ -67,7 +67,7 @@ void scsi_init(void)
 	cphy_disable_overrides();
 	if (reg & PWRDOM_STAT_SATA) {
 		ahci_init((void __iomem *)HB_AHCI_BASE);
-		scsi_scan(1);
+		scsi_scan(true);
 	}
 }
 #endif

+ 1 - 1
board/kosagi/novena/novena.c

@@ -167,7 +167,7 @@ int board_init(void)
 	/* address of boot parameters */
 	gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
 
-#ifdef CONFIG_CMD_SATA
+#ifdef CONFIG_SATA
 	setup_sata();
 #endif
 

+ 1 - 1
board/sandbox/README.sandbox

@@ -333,7 +333,7 @@ the contents of the root directory on the second partion of the image
 A disk image can be created using the following commands:
 
 $> truncate -s 1200M ./disk.raw
-$> echo -e "label: gpt\n,64M,U\n,,L" | /usr/sbin/sfdisk  ./disk.raw
+$> echo -e "label: gpt\n,64M,U\n,,L" | /usr/sbin/sgdisk  ./disk.raw
 $> lodev=`sudo losetup -P -f --show ./disk.raw`
 $> sudo mkfs.vfat -n EFI -v ${lodev}p1
 $> sudo mkfs.ext4 -L ROOT -v ${lodev}p2

+ 1 - 1
board/toradex/apalis_imx6/apalis_imx6.c

@@ -784,7 +784,7 @@ int board_init(void)
 	(void) pmic_init();
 #endif
 
-#ifdef CONFIG_CMD_SATA
+#ifdef CONFIG_SATA
 	setup_sata();
 #endif
 

+ 1 - 1
board/toradex/colibri_imx6/colibri_imx6.c

@@ -657,7 +657,7 @@ int board_init(void)
 	(void) pmic_init();
 #endif
 
-#ifdef CONFIG_CMD_SATA
+#ifdef CONFIG_SATA
 	setup_sata();
 #endif
 

+ 1 - 1
board/udoo/udoo.c

@@ -244,7 +244,7 @@ int board_init(void)
 	/* address of boot parameters */
 	gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
 
-#ifdef CONFIG_CMD_SATA
+#ifdef CONFIG_SATA
 	if (is_cpu_type(MXC_CPU_MX6Q))
 		setup_sata();
 #endif

+ 1 - 1
board/wandboard/wandboard.c

@@ -379,7 +379,7 @@ int board_early_init_f(void)
 #if defined(CONFIG_VIDEO_IPUV3)
 	setup_display();
 #endif
-#ifdef CONFIG_CMD_SATA
+#ifdef CONFIG_SATA
 	/* Only mx6q wandboard has SATA */
 	if (is_cpu_type(MXC_CPU_MX6Q))
 		setup_sata();

+ 13 - 0
cmd/Kconfig

@@ -734,6 +734,19 @@ config CMD_FDC
 	help
 	  The 'fdtboot' command allows booting an image from a floppy disk.
 
+config CMD_SATA
+	bool "sata - Access SATA subsystem"
+	select SATA
+	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
 
 

+ 4 - 0
cmd/fdt.c

@@ -284,6 +284,10 @@ static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 			len = 0;
 		} else {
 			ptmp = fdt_getprop(working_fdt, nodeoffset, prop, &len);
+			if (!ptmp) {
+				printf("prop (%s) not found!\n", prop);
+				return 1;
+			}
 			if (len > SCRATCHPAD) {
 				printf("prop (%d) doesn't fit in scratchpad!\n",
 				       len);

+ 3 - 3
cmd/scsi.c

@@ -36,8 +36,8 @@ static int do_scsi(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 	case 2:
 		if (strncmp(argv[1], "res", 3) == 0) {
 			printf("\nReset SCSI\n");
-			scsi_bus_reset();
-			ret = scsi_scan(1);
+			scsi_bus_reset(NULL);
+			ret = scsi_scan(true);
 			if (ret)
 				return CMD_RET_FAILURE;
 			return ret;
@@ -55,7 +55,7 @@ static int do_scsi(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 			return 0;
 		}
 		if (strncmp(argv[1], "scan", 4) == 0) {
-			ret = scsi_scan(1);
+			ret = scsi_scan(true);
 			if (ret)
 				return CMD_RET_FAILURE;
 			return ret;

+ 3 - 1
cmd/version.c

@@ -17,7 +17,9 @@ const char __weak version_string[] = U_BOOT_VERSION_STRING;
 
 static int do_version(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
-	printf("\n%s\n", version_string);
+	char buf[DISPLAY_OPTIONS_BANNER_LENGTH];
+
+	printf(display_options_get_banner(false, buf, sizeof(buf)));
 #ifdef CC_VERSION_STRING
 	puts(CC_VERSION_STRING "\n");
 #endif

+ 1 - 1
common/Kconfig

@@ -488,7 +488,7 @@ config DISPLAY_CPUINFO
 
 config DISPLAY_BOARDINFO
 	bool "Display information about the board during start up"
-	default y if ARM || M68K || MIPS || PPC || XTENSA
+	default y if ARM || M68K || MIPS || PPC || SANDBOX || XTENSA
 	help
 	  Display information about the board that U-Boot is running on
 	  when U-Boot starts up. The board function checkboard() is called

+ 0 - 5
common/Makefile

@@ -79,8 +79,6 @@ obj-$(CONFIG_LCD_ROTATION) += lcd_console_rotation.o
 obj-$(CONFIG_LCD_DT_SIMPLEFB) += lcd_simplefb.o
 obj-$(CONFIG_LYNXKDI) += lynxkdi.o
 obj-$(CONFIG_MENU) += menu.o
-obj-$(CONFIG_CMD_SATA) += sata.o
-obj-$(CONFIG_SCSI) += scsi.o
 obj-$(CONFIG_UPDATE_TFTP) += update.o
 obj-$(CONFIG_DFU_TFTP) += update.o
 obj-$(CONFIG_USB_KEYBOARD) += usb_kbd.o
@@ -122,9 +120,6 @@ obj-$(CONFIG_ENV_IS_IN_NAND) += env_nand.o
 obj-$(CONFIG_ENV_IS_IN_SPI_FLASH) += env_sf.o
 obj-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o
 endif
-ifdef CONFIG_SPL_SATA_SUPPORT
-obj-$(CONFIG_SCSI) += scsi.o
-endif
 endif
 #environment
 obj-y += env_common.o

+ 1 - 0
common/board_r.c

@@ -829,6 +829,7 @@ static init_fnc_t init_sequence_r[] = {
 #endif
 	console_init_r,		/* fully init console as a device */
 #ifdef CONFIG_DISPLAY_BOARDINFO_LATE
+	console_announce_r,
 	show_board_info,
 #endif
 #ifdef CONFIG_ARCH_MISC_INIT

+ 22 - 19
common/console.c

@@ -11,6 +11,7 @@
 #include <stdarg.h>
 #include <iomux.h>
 #include <malloc.h>
+#include <mapmem.h>
 #include <os.h>
 #include <serial.h>
 #include <stdio_dev.h>
@@ -202,7 +203,6 @@ static void console_putc(int file, const char c)
 	}
 }
 
-#if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER)
 static void console_puts_noserial(int file, const char *s)
 {
 	int i;
@@ -214,7 +214,6 @@ static void console_puts_noserial(int file, const char *s)
 			dev->puts(dev, s);
 	}
 }
-#endif
 
 static void console_puts(int file, const char *s)
 {
@@ -248,13 +247,11 @@ static inline void console_putc(int file, const char c)
 	stdio_devices[file]->putc(stdio_devices[file], c);
 }
 
-#if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER)
 static inline void console_puts_noserial(int file, const char *s)
 {
 	if (strcmp(stdio_devices[file]->name, "serial") != 0)
 		stdio_devices[file]->puts(stdio_devices[file], s);
 }
-#endif
 
 static inline void console_puts(int file, const char *s)
 {
@@ -420,9 +417,13 @@ int tstc(void)
 
 static void pre_console_putc(const char c)
 {
-	char *buffer = (char *)CONFIG_PRE_CON_BUF_ADDR;
+	char *buffer;
+
+	buffer = map_sysmem(CONFIG_PRE_CON_BUF_ADDR, CONFIG_PRE_CON_BUF_SZ);
 
 	buffer[CIRC_BUF_IDX(gd->precon_buf_idx++)] = c;
+
+	unmap_sysmem(buffer);
 }
 
 static void pre_console_puts(const char *s)
@@ -434,14 +435,16 @@ static void pre_console_puts(const char *s)
 static void print_pre_console_buffer(int flushpoint)
 {
 	unsigned long in = 0, out = 0;
-	char *buf_in = (char *)CONFIG_PRE_CON_BUF_ADDR;
 	char buf_out[CONFIG_PRE_CON_BUF_SZ + 1];
+	char *buf_in;
 
+	buf_in = map_sysmem(CONFIG_PRE_CON_BUF_ADDR, CONFIG_PRE_CON_BUF_SZ);
 	if (gd->precon_buf_idx > CONFIG_PRE_CON_BUF_SZ)
 		in = gd->precon_buf_idx - CONFIG_PRE_CON_BUF_SZ;
 
 	while (in < gd->precon_buf_idx)
 		buf_out[out++] = buf_in[CIRC_BUF_IDX(in++)];
+	unmap_sysmem(buf_in);
 
 	buf_out[out] = 0;
 
@@ -462,13 +465,6 @@ static inline void print_pre_console_buffer(int flushpoint) {}
 
 void putc(const char c)
 {
-#ifdef CONFIG_SANDBOX
-	/* sandbox can send characters to stdout before it has a console */
-	if (!gd || !(gd->flags & GD_FLG_SERIAL_READY)) {
-		os_putc(c);
-		return;
-	}
-#endif
 #ifdef CONFIG_DEBUG_UART
 	/* if we don't have a console yet, use the debug UART */
 	if (!gd || !(gd->flags & GD_FLG_SERIAL_READY)) {
@@ -505,12 +501,6 @@ void putc(const char c)
 
 void puts(const char *s)
 {
-#ifdef CONFIG_SANDBOX
-	if (!gd || !(gd->flags & GD_FLG_SERIAL_READY)) {
-		os_puts(s);
-		return;
-	}
-#endif
 #ifdef CONFIG_DEBUG_UART
 	if (!gd || !(gd->flags & GD_FLG_SERIAL_READY)) {
 		while (*s) {
@@ -699,6 +689,19 @@ static void console_update_silent(void)
 #endif
 }
 
+int console_announce_r(void)
+{
+#if !CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER)
+	char buf[DISPLAY_OPTIONS_BANNER_LENGTH];
+
+	display_options_get_banner(false, buf, sizeof(buf));
+
+	console_puts_noserial(stdout, buf);
+#endif
+
+	return 0;
+}
+
 /* Called before relocation - use serial functions */
 int console_init_f(void)
 {

+ 1 - 1
common/spl/spl_sata.c

@@ -34,7 +34,7 @@ static int spl_sata_load_image(struct spl_image_info *spl_image,
 		return err;
 	} else {
 		/* try to recognize storage devices immediately */
-		scsi_scan(0);
+		scsi_scan(false);
 		stor_dev = blk_get_devnum_by_type(IF_TYPE_SCSI, 0);
 		if (!stor_dev)
 			return -ENODEV;

+ 1 - 1
common/splash_source.c

@@ -162,7 +162,7 @@ static inline int splash_init_usb(void)
 }
 #endif
 
-#ifdef CONFIG_CMD_SATA
+#ifdef CONFIG_SATA
 static int splash_init_sata(void)
 {
 	return sata_initialize();

+ 22 - 22
common/usb_storage.c

@@ -63,7 +63,7 @@ static const unsigned char us_direction[256/8] = {
 };
 #define US_DIRECTION(x) ((us_direction[x>>3] >> (x & 7)) & 1)
 
-static ccb usb_ccb __attribute__((aligned(ARCH_DMA_MINALIGN)));
+static struct scsi_cmd usb_ccb __aligned(ARCH_DMA_MINALIGN);
 static __u32 CBWTag;
 
 static int usb_max_devs; /* number of highest available usb device */
@@ -73,7 +73,7 @@ static struct blk_desc usb_dev_desc[USB_MAX_STOR_DEV];
 #endif
 
 struct us_data;
-typedef int (*trans_cmnd)(ccb *cb, struct us_data *data);
+typedef int (*trans_cmnd)(struct scsi_cmd *cb, struct us_data *data);
 typedef int (*trans_reset)(struct us_data *data);
 
 struct us_data {
@@ -95,7 +95,7 @@ struct us_data {
 	unsigned int	irqpipe;	 	/* pipe for release_irq */
 	unsigned char	irqmaxp;		/* max packed for irq Pipe */
 	unsigned char	irqinterval;		/* Intervall for IRQ Pipe */
-	ccb		*srb;			/* current srb */
+	struct scsi_cmd	*srb;			/* current srb */
 	trans_reset	transport_reset;	/* reset routine */
 	trans_cmnd	transport;		/* transport routine */
 };
@@ -349,7 +349,7 @@ static int usb_stor_irq(struct usb_device *dev)
 
 #ifdef	DEBUG
 
-static void usb_show_srb(ccb *pccb)
+static void usb_show_srb(struct scsi_cmd *pccb)
 {
 	int i;
 	printf("SRB: len %d datalen 0x%lX\n ", pccb->cmdlen, pccb->datalen);
@@ -541,7 +541,7 @@ static int usb_stor_CB_reset(struct us_data *us)
  * Set up the command for a BBB device. Note that the actual SCSI
  * command is copied into cbw.CBWCDB.
  */
-static int usb_stor_BBB_comdat(ccb *srb, struct us_data *us)
+static int usb_stor_BBB_comdat(struct scsi_cmd *srb, struct us_data *us)
 {
 	int result;
 	int actlen;
@@ -590,7 +590,7 @@ static int usb_stor_BBB_comdat(ccb *srb, struct us_data *us)
 /* FIXME: we also need a CBI_command which sets up the completion
  * interrupt, and waits for it
  */
-static int usb_stor_CB_comdat(ccb *srb, struct us_data *us)
+static int usb_stor_CB_comdat(struct scsi_cmd *srb, struct us_data *us)
 {
 	int result = 0;
 	int dir_in, retry;
@@ -659,7 +659,7 @@ static int usb_stor_CB_comdat(ccb *srb, struct us_data *us)
 }
 
 
-static int usb_stor_CBI_get_status(ccb *srb, struct us_data *us)
+static int usb_stor_CBI_get_status(struct scsi_cmd *srb, struct us_data *us)
 {
 	int timeout;
 
@@ -714,7 +714,7 @@ static int usb_stor_BBB_clear_endpt_stall(struct us_data *us, __u8 endpt)
 			       endpt, NULL, 0, USB_CNTL_TIMEOUT * 5);
 }
 
-static int usb_stor_BBB_transport(ccb *srb, struct us_data *us)
+static int usb_stor_BBB_transport(struct scsi_cmd *srb, struct us_data *us)
 {
 	int result, retry;
 	int dir_in;
@@ -837,11 +837,11 @@ again:
 	return result;
 }
 
-static int usb_stor_CB_transport(ccb *srb, struct us_data *us)
+static int usb_stor_CB_transport(struct scsi_cmd *srb, struct us_data *us)
 {
 	int result, status;
-	ccb *psrb;
-	ccb reqsrb;
+	struct scsi_cmd *psrb;
+	struct scsi_cmd reqsrb;
 	int retry, notready;
 
 	psrb = &reqsrb;
@@ -950,7 +950,7 @@ do_retry:
 }
 
 
-static int usb_inquiry(ccb *srb, struct us_data *ss)
+static int usb_inquiry(struct scsi_cmd *srb, struct us_data *ss)
 {
 	int retry, i;
 	retry = 5;
@@ -974,7 +974,7 @@ static int usb_inquiry(ccb *srb, struct us_data *ss)
 	return 0;
 }
 
-static int usb_request_sense(ccb *srb, struct us_data *ss)
+static int usb_request_sense(struct scsi_cmd *srb, struct us_data *ss)
 {
 	char *ptr;
 
@@ -994,7 +994,7 @@ static int usb_request_sense(ccb *srb, struct us_data *ss)
 	return 0;
 }
 
-static int usb_test_unit_ready(ccb *srb, struct us_data *ss)
+static int usb_test_unit_ready(struct scsi_cmd *srb, struct us_data *ss)
 {
 	int retries = 10;
 
@@ -1025,7 +1025,7 @@ static int usb_test_unit_ready(ccb *srb, struct us_data *ss)
 	return -1;
 }
 
-static int usb_read_capacity(ccb *srb, struct us_data *ss)
+static int usb_read_capacity(struct scsi_cmd *srb, struct us_data *ss)
 {
 	int retry;
 	/* XXX retries */
@@ -1043,8 +1043,8 @@ static int usb_read_capacity(ccb *srb, struct us_data *ss)
 	return -1;
 }
 
-static int usb_read_10(ccb *srb, struct us_data *ss, unsigned long start,
-		       unsigned short blocks)
+static int usb_read_10(struct scsi_cmd *srb, struct us_data *ss,
+		       unsigned long start, unsigned short blocks)
 {
 	memset(&srb->cmd[0], 0, 12);
 	srb->cmd[0] = SCSI_READ10;
@@ -1060,8 +1060,8 @@ static int usb_read_10(ccb *srb, struct us_data *ss, unsigned long start,
 	return ss->transport(srb, ss);
 }
 
-static int usb_write_10(ccb *srb, struct us_data *ss, unsigned long start,
-			unsigned short blocks)
+static int usb_write_10(struct scsi_cmd *srb, struct us_data *ss,
+			unsigned long start, unsigned short blocks)
 {
 	memset(&srb->cmd[0], 0, 12);
 	srb->cmd[0] = SCSI_WRITE10;
@@ -1115,7 +1115,7 @@ static unsigned long usb_stor_read(struct blk_desc *block_dev, lbaint_t blknr,
 	struct usb_device *udev;
 	struct us_data *ss;
 	int retry;
-	ccb *srb = &usb_ccb;
+	struct scsi_cmd *srb = &usb_ccb;
 #ifdef CONFIG_BLK
 	struct blk_desc *block_dev;
 #endif
@@ -1197,7 +1197,7 @@ static unsigned long usb_stor_write(struct blk_desc *block_dev, lbaint_t blknr,
 	struct usb_device *udev;
 	struct us_data *ss;
 	int retry;
-	ccb *srb = &usb_ccb;
+	struct scsi_cmd *srb = &usb_ccb;
 #ifdef CONFIG_BLK
 	struct blk_desc *block_dev;
 #endif
@@ -1395,7 +1395,7 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss,
 	ALLOC_CACHE_ALIGN_BUFFER(u32, cap, 2);
 	ALLOC_CACHE_ALIGN_BUFFER(u8, usb_stor_buf, 36);
 	u32 capacity, blksz;
-	ccb *pccb = &usb_ccb;
+	struct scsi_cmd *pccb = &usb_ccb;
 
 	pccb->pdata = usb_stor_buf;
 

+ 1 - 0
configs/A10-OLinuXino-Lime_defconfig

@@ -18,6 +18,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_SUN4I_EMAC=y
 CONFIG_AXP_ALDO3_VOLT=2800
 CONFIG_AXP_ALDO4_VOLT=2800

+ 1 - 0
configs/A20-OLinuXino-Lime2_defconfig

@@ -20,6 +20,7 @@ CONFIG_CMD_USB_MASS_STORAGE=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_PARTITION_UUIDS is not set
+CONFIG_SCSI=y
 CONFIG_DFU_RAM=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_RGMII=y

+ 1 - 0
configs/A20-OLinuXino-Lime_defconfig

@@ -16,6 +16,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_SUN7I_GMAC=y
 CONFIG_AXP_ALDO3_VOLT=2800

+ 1 - 0
configs/A20-OLinuXino_MICRO_defconfig

@@ -19,6 +19,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_SUN7I_GMAC=y
 CONFIG_AXP_ALDO3_VOLT=2800

+ 1 - 0
configs/A20-Olimex-SOM-EVB_defconfig

@@ -20,6 +20,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_RGMII=y
 CONFIG_SUN7I_GMAC=y

+ 1 - 0
configs/Bananapi_M2_Ultra_defconfig

@@ -14,5 +14,6 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SCSI=y
 CONFIG_AXP_DLDO4_VOLT=2500
 CONFIG_AXP_ELDO3_VOLT=1200

+ 1 - 0
configs/Bananapi_defconfig

@@ -17,6 +17,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
 CONFIG_NETCONSOLE=y
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_RGMII=y
 CONFIG_SUN7I_GMAC=y

+ 1 - 0
configs/Bananapro_defconfig

@@ -19,6 +19,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
 CONFIG_NETCONSOLE=y
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_RGMII=y
 CONFIG_SUN7I_GMAC=y

+ 1 - 0
configs/Cubieboard2_defconfig

@@ -15,6 +15,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_SUN7I_GMAC=y
 CONFIG_USB_EHCI_HCD=y

+ 1 - 0
configs/Cubieboard_defconfig

@@ -15,5 +15,6 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_SUN4I_EMAC=y
 CONFIG_USB_EHCI_HCD=y

+ 1 - 0
configs/Cubietruck_defconfig

@@ -22,6 +22,7 @@ CONFIG_CMD_USB_MASS_STORAGE=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_PARTITION_UUIDS is not set
+CONFIG_SCSI=y
 CONFIG_DFU_RAM=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_RGMII=y

+ 1 - 0
configs/Itead_Ibox_A20_defconfig

@@ -15,6 +15,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_SUN7I_GMAC=y
 CONFIG_USB_EHCI_HCD=y

+ 1 - 0
configs/Lamobo_R1_defconfig

@@ -17,6 +17,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_RGMII=y
 CONFIG_SUN7I_GMAC=y

+ 1 - 0
configs/Linksprite_pcDuino3_Nano_defconfig

@@ -17,6 +17,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_RGMII=y
 CONFIG_SUN7I_GMAC=y

+ 1 - 0
configs/Linksprite_pcDuino3_defconfig

@@ -15,6 +15,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_SUN7I_GMAC=y
 CONFIG_USB_EHCI_HCD=y

+ 1 - 0
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

+ 1 - 0
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

+ 1 - 0
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

+ 1 - 0
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

+ 1 - 0
configs/MPC8544DS_defconfig

@@ -15,6 +15,7 @@ CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 # CONFIG_CMD_HASH is not set
 CONFIG_CMD_EXT2=y
+CONFIG_SCSI=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_NETDEVICES=y

+ 1 - 0
configs/MPC8610HPCD_defconfig

@@ -15,6 +15,7 @@ CONFIG_CMD_PING=y
 CONFIG_CMD_BMP=y
 CONFIG_CMD_EXT2=y
 CONFIG_DOS_PARTITION=y
+CONFIG_SCSI=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y

+ 1 - 0
configs/Marsboard_A10_defconfig

@@ -11,6 +11,7 @@ CONFIG_SPL=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_SUN4I_EMAC=y
 CONFIG_SUNXI_NO_PMIC=y
 CONFIG_USB_EHCI_HCD=y

+ 1 - 0
configs/Mele_A1000_defconfig

@@ -15,5 +15,6 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_SUN4I_EMAC=y
 CONFIG_USB_EHCI_HCD=y

+ 1 - 0
configs/Mele_M5_defconfig

@@ -16,6 +16,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_SUN7I_GMAC=y
 CONFIG_USB_EHCI_HCD=y

+ 1 - 0
configs/Orangepi_defconfig

@@ -19,6 +19,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_RGMII=y
 CONFIG_SUN7I_GMAC=y

+ 1 - 0
configs/Orangepi_mini_defconfig

@@ -21,6 +21,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_RGMII=y
 CONFIG_SUN7I_GMAC=y

+ 1 - 0
configs/Wits_Pro_A20_DKT_defconfig

@@ -19,6 +19,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_SPL_ISO_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SCSI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_RGMII=y
 CONFIG_SUN7I_GMAC=y

+ 1 - 0
configs/bayleybay_defconfig

@@ -46,6 +46,7 @@ CONFIG_EFI_PARTITION=y
 CONFIG_OF_CONTROL=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
+CONFIG_SCSI=y
 CONFIG_CPU=y
 CONFIG_MMC=y
 CONFIG_MMC_PCI=y

+ 1 - 0
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

+ 3 - 0
configs/chromebook_link64_defconfig

@@ -57,6 +57,9 @@ CONFIG_REGMAP=y
 CONFIG_SPL_REGMAP=y
 CONFIG_SYSCON=y
 CONFIG_SPL_SYSCON=y
+CONFIG_SCSI=y
+CONFIG_DM_SCSI=y
+CONFIG_BLK=y
 CONFIG_CPU=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_INTEL=y

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio