diff options
author | Michal Simek <michal.simek@xilinx.com> | 2015-07-23 13:27:40 +0200 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2015-07-28 11:56:27 +0200 |
commit | 6fe6f1350990c28d3675392cc273cb3df8c31389 (patch) | |
tree | 9bd623c01e9cd18cdd7878c3721c8c3c248ea612 | |
parent | cb7ea82059069c6509c26b1f705982c6a919a3fe (diff) | |
download | u-boot-imx-6fe6f1350990c28d3675392cc273cb3df8c31389.zip u-boot-imx-6fe6f1350990c28d3675392cc273cb3df8c31389.tar.gz u-boot-imx-6fe6f1350990c28d3675392cc273cb3df8c31389.tar.bz2 |
ARM: zynqmp: Wire up SATA for the board
Enable SATA for the ZynqMP targets.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-rw-r--r-- | arch/arm/include/asm/arch-zynqmp/hardware.h | 2 | ||||
-rw-r--r-- | board/xilinx/zynqmp/zynqmp.c | 10 | ||||
-rw-r--r-- | include/configs/xilinx_zynqmp.h | 11 | ||||
-rw-r--r-- | include/configs/xilinx_zynqmp_ep.h | 1 |
4 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/include/asm/arch-zynqmp/hardware.h b/arch/arm/include/asm/arch-zynqmp/hardware.h index 5d191e8..7640eab 100644 --- a/arch/arm/include/asm/arch-zynqmp/hardware.h +++ b/arch/arm/include/asm/arch-zynqmp/hardware.h @@ -25,6 +25,8 @@ #define ZYNQ_SDHCI_BASEADDR0 0xFF160000 #define ZYNQ_SDHCI_BASEADDR1 0xFF170000 +#define ZYNQMP_SATA_BASEADDR 0xFD0C0000 + #define ZYNQMP_CRL_APB_BASEADDR 0xFF5E0000 #define ZYNQMP_CRL_APB_TIMESTAMP_REF_CTRL_CLKACT 0x1000000 diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index fb43cb0..88fe3e8 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -7,6 +7,8 @@ #include <common.h> #include <netdev.h> +#include <ahci.h> +#include <scsi.h> #include <asm/arch/hardware.h> #include <asm/arch/sys_proto.h> #include <asm/io.h> @@ -51,6 +53,14 @@ void reset_cpu(ulong addr) { } +#ifdef CONFIG_SCSI_AHCI_PLAT +void scsi_init(void) +{ + ahci_init((void __iomem *)ZYNQMP_SATA_BASEADDR); + scsi_scan(1); +} +#endif + int board_eth_init(bd_t *bis) { u32 ret = 0; diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h index 9ed8771..68853b6 100644 --- a/include/configs/xilinx_zynqmp.h +++ b/include/configs/xilinx_zynqmp.h @@ -169,6 +169,17 @@ # define CONFIG_SYS_EEPROM_SIZE (64 * 1024) #endif +#ifdef CONFIG_AHCI +#define CONFIG_LIBATA +#define CONFIG_SCSI_AHCI +#define CONFIG_SCSI_AHCI_PLAT +#define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 +#define CONFIG_SYS_SCSI_MAX_LUN 1 +#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ + CONFIG_SYS_SCSI_MAX_LUN) +#define CONFIG_CMD_SCSI +#endif + #define CONFIG_FIT #define CONFIG_FIT_VERBOSE /* enable fit_format_{error,warning}() */ diff --git a/include/configs/xilinx_zynqmp_ep.h b/include/configs/xilinx_zynqmp_ep.h index 40a110d..c872f7c 100644 --- a/include/configs/xilinx_zynqmp_ep.h +++ b/include/configs/xilinx_zynqmp_ep.h @@ -20,6 +20,7 @@ #define CONFIG_ZYNQ_I2C0 #define CONFIG_SYS_I2C_ZYNQ #define CONFIG_ZYNQ_EEPROM +#define CONFIG_AHCI #include <configs/xilinx_zynqmp.h> |