[U-Boot] [PATCH 00/10] Migrate ATA drivers to Kconfig

This series migrates ATA drivers (that is, CONFIG_x symbols listed in drivers/ata/Makefile) to Kconfig. In the process we get to remove two unused drivers.
Potential improvements on the help texts and/or Kconfig dependencies on the added symbols are welcome.
Tuomas Tynkkynen (10): ata: Drop CONFIG_SATA_DWC ata: Drop CONFIG_MX51_PATA ata: Migrate CONFIG_SATA_SIL to Kconfig ata: Migrate CONFIG_SATA_SIL3114 to Kconfig ata: Migrate CONFIG_SATA_MV to Kconfig ata: Migrate CONFIG_FSL_SATA to Kconfig ata: Migrate CONFIG_DWC_AHSATA to Kconfig ata: Migrate CONFIG_SCSI_AHCI to Kconfig ata: Migrate CONFIG_LIBATA to Kconfig ata: Migrate CONFIG_MVSATA_IDE to Kconfig
arch/arm/Kconfig | 3 + arch/arm/cpu/armv7/ls102xa/Kconfig | 1 + arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 2 + arch/arm/include/asm/arch-ls102xa/config.h | 2 - arch/arm/mach-kirkwood/include/mach/config.h | 1 - arch/powerpc/cpu/mpc83xx/Kconfig | 1 + arch/powerpc/cpu/mpc85xx/Kconfig | 19 + arch/x86/cpu/baytrail/Kconfig | 1 + arch/x86/cpu/braswell/Kconfig | 1 + arch/x86/cpu/broadwell/Kconfig | 1 + arch/x86/cpu/coreboot/Kconfig | 1 + arch/x86/cpu/ivybridge/Kconfig | 1 + arch/x86/cpu/qemu/Kconfig | 1 + arch/x86/cpu/queensbay/Kconfig | 1 + configs/A10-OLinuXino-Lime_defconfig | 1 + configs/A20-OLinuXino-Lime2-eMMC_defconfig | 1 + configs/A20-OLinuXino-Lime2_defconfig | 1 + configs/A20-OLinuXino-Lime_defconfig | 1 + configs/A20-OLinuXino_MICRO-eMMC_defconfig | 1 + configs/A20-OLinuXino_MICRO_defconfig | 1 + configs/A20-Olimex-SOM-EVB_defconfig | 1 + configs/Bananapi_M2_Ultra_defconfig | 1 + configs/Bananapi_defconfig | 1 + configs/Bananapro_defconfig | 1 + configs/Cubieboard2_defconfig | 1 + configs/Cubieboard_defconfig | 1 + configs/Cubietruck_defconfig | 1 + configs/Itead_Ibox_A20_defconfig | 1 + configs/Lamobo_R1_defconfig | 1 + configs/Linksprite_pcDuino3_Nano_defconfig | 1 + configs/Linksprite_pcDuino3_defconfig | 1 + configs/MPC8315ERDB_defconfig | 1 + configs/MPC8349ITX_LOWBOOT_defconfig | 1 + configs/MPC8349ITX_defconfig | 1 + configs/MPC837XERDB_defconfig | 1 + configs/MPC8544DS_defconfig | 1 + configs/MPC8572DS_36BIT_defconfig | 1 + configs/MPC8572DS_defconfig | 1 + configs/MPC8610HPCD_defconfig | 1 + configs/MPC8641HPCN_36BIT_defconfig | 1 + configs/MPC8641HPCN_defconfig | 1 + configs/Marsboard_A10_defconfig | 1 + configs/Mele_A1000_defconfig | 1 + configs/Mele_M5_defconfig | 1 + configs/Orangepi_defconfig | 1 + configs/Orangepi_mini_defconfig | 1 + configs/TWR-P1025_defconfig | 1 + configs/Wits_Pro_A20_DKT_defconfig | 1 + configs/am57xx_evm_defconfig | 1 + configs/am57xx_hs_evm_defconfig | 1 + configs/apalis_imx6_defconfig | 1 + configs/apalis_imx6_nospl_com_defconfig | 1 + configs/apalis_imx6_nospl_it_defconfig | 1 + configs/bananapi_m1_plus_defconfig | 1 + configs/cgtqmx6eval_defconfig | 1 + configs/cl-som-am57x_defconfig | 1 + configs/cm_fx6_defconfig | 1 + configs/cm_t54_defconfig | 1 + .../controlcenterd_36BIT_SDCARD_DEVELOP_defconfig | 1 + configs/controlcenterd_36BIT_SDCARD_defconfig | 1 + configs/controlcenterdc_defconfig | 1 + configs/d2net_v2_defconfig | 1 + configs/db-88f6820-gp_defconfig | 1 + configs/db-mv784mp-gp_defconfig | 1 + configs/dh_imx6_defconfig | 1 + configs/dms-ba16-1g_defconfig | 1 + configs/dms-ba16_defconfig | 1 + configs/dns325_defconfig | 1 + configs/dreamplug_defconfig | 1 + configs/ds109_defconfig | 1 + configs/edminiv2_defconfig | 1 + configs/goflexhome_defconfig | 1 + configs/guruplug_defconfig | 1 + configs/gwventana_emmc_defconfig | 1 + configs/gwventana_gw5904_defconfig | 1 + configs/gwventana_nand_defconfig | 1 + configs/highbank_defconfig | 1 + configs/ib62x0_defconfig | 1 + configs/inetspace_v2_defconfig | 1 + configs/ls1012aqds_qspi_defconfig | 1 + configs/ls1088aqds_qspi_defconfig | 1 + configs/ls1088aqds_sdcard_qspi_defconfig | 1 + configs/ls1088ardb_qspi_defconfig | 1 + configs/ls1088ardb_sdcard_qspi_defconfig | 1 + configs/ls2081ardb_defconfig | 1 + configs/lschlv2_defconfig | 1 + configs/lsxhl_defconfig | 1 + configs/m53evk_defconfig | 1 + configs/mvebu_db-88f3720_defconfig | 1 + configs/mvebu_db_armada8k_defconfig | 1 + configs/mvebu_espressobin-88f3720_defconfig | 1 + configs/mvebu_mcbin-88f8040_defconfig | 1 + configs/mx53loco_defconfig | 1 + configs/mx6cuboxi_defconfig | 1 + configs/mx6qsabrelite_defconfig | 1 + configs/nas220_defconfig | 1 + configs/net2big_v2_defconfig | 1 + configs/netspace_lite_v2_defconfig | 1 + configs/netspace_max_v2_defconfig | 1 + configs/netspace_mini_v2_defconfig | 1 + configs/netspace_v2_defconfig | 1 + configs/nitrogen6q2g_defconfig | 1 + configs/nitrogen6q_defconfig | 1 + configs/novena_defconfig | 1 + configs/nsa310s_defconfig | 1 + configs/omap5_uevm_defconfig | 1 + configs/openrd_base_defconfig | 1 + configs/openrd_client_defconfig | 1 + configs/openrd_ultimate_defconfig | 1 + configs/ot1200_defconfig | 1 + configs/ot1200_spl_defconfig | 1 + configs/qemu_arm_defconfig | 1 + configs/sheevaplug_defconfig | 1 + configs/tbs2910_defconfig | 1 + configs/theadorable_debug_defconfig | 1 + configs/turris_omnia_defconfig | 1 + configs/udoo_defconfig | 1 + configs/wandboard_defconfig | 1 + configs/xilinx_zynqmp_ep_defconfig | 1 + configs/xilinx_zynqmp_zcu102_rev1_0_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revA_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revB_defconfig | 1 + drivers/ata/Kconfig | 51 + drivers/ata/Makefile | 2 - drivers/ata/mxc_ata.c | 129 -- drivers/ata/sata_dwc.c | 2077 -------------------- drivers/ata/sata_dwc.h | 458 ----- include/configs/MPC8315ERDB.h | 3 - include/configs/MPC8349ITX.h | 2 - include/configs/MPC837XEMDS.h | 3 - include/configs/MPC837XERDB.h | 3 - include/configs/MPC8536DS.h | 3 - include/configs/MPC8544DS.h | 2 - include/configs/MPC8572DS.h | 2 - include/configs/MPC8610HPCD.h | 3 - include/configs/MPC8641HPCN.h | 3 - include/configs/P1010RDB.h | 2 - include/configs/P1022DS.h | 2 - include/configs/P2041RDB.h | 3 - include/configs/P4080DS.h | 2 - include/configs/T102xQDS.h | 2 - include/configs/T1040QDS.h | 3 - include/configs/T104xRDB.h | 3 - include/configs/T208xQDS.h | 2 - include/configs/T208xRDB.h | 2 - include/configs/T4240QDS.h | 3 - include/configs/T4240RDB.h | 6 - include/configs/UCP1020.h | 2 - include/configs/advantech_dms-ba16.h | 2 - include/configs/am57xx_evm.h | 2 - include/configs/apalis_imx6.h | 2 - include/configs/cgtqmx6eval.h | 2 - include/configs/cl-som-am57x.h | 2 - include/configs/cm_fx6.h | 2 - include/configs/cm_t54.h | 2 - include/configs/controlcenterd.h | 2 - include/configs/controlcenterdc.h | 2 - include/configs/corenet_ds.h | 3 - include/configs/cyrus.h | 3 - include/configs/db-88f6820-gp.h | 2 - include/configs/db-mv784mp-gp.h | 2 - include/configs/dh_imx6.h | 2 - include/configs/dra7xx_evm.h | 2 - include/configs/edminiv2.h | 1 - include/configs/efi-x86.h | 2 - include/configs/galileo.h | 3 - include/configs/ge_bx50v3.h | 2 - include/configs/gw_ventana.h | 2 - include/configs/highbank.h | 2 - include/configs/ls1012aqds.h | 2 - include/configs/ls1012ardb.h | 2 - include/configs/ls1021aiot.h | 2 - include/configs/ls1043aqds.h | 2 - include/configs/ls1043ardb.h | 2 - include/configs/ls1046aqds.h | 2 - include/configs/ls1046ardb.h | 2 - include/configs/ls1088a_common.h | 2 - include/configs/ls2080aqds.h | 2 - include/configs/ls2080ardb.h | 2 - include/configs/m53evk.h | 2 - include/configs/mvebu_armada-37xx.h | 2 - include/configs/mvebu_armada-8k.h | 2 - include/configs/mx53loco.h | 2 - include/configs/mx6cuboxi.h | 2 - include/configs/nitrogen6x.h | 2 - include/configs/novena.h | 2 - include/configs/omap5_uevm.h | 2 - include/configs/ot1200.h | 2 - include/configs/p1_p2_rdb_pc.h | 2 - include/configs/p1_twr.h | 2 - include/configs/qemu-arm.h | 2 - include/configs/sbc8641d.h | 2 - include/configs/sunxi-common.h | 2 - include/configs/t4qds.h | 3 - include/configs/tbs2910.h | 2 - include/configs/theadorable.h | 2 - include/configs/turris_omnia.h | 2 - include/configs/udoo.h | 2 - include/configs/wandboard.h | 2 - include/configs/x86-common.h | 3 - include/configs/xilinx_zynqmp.h | 2 - scripts/config_whitelist.txt | 8 - 202 files changed, 192 insertions(+), 2843 deletions(-) delete mode 100644 drivers/ata/mxc_ata.c delete mode 100644 drivers/ata/sata_dwc.c delete mode 100644 drivers/ata/sata_dwc.h

The last user of this driver went away in June 2017, in commit: 98f705c9ce ("powerpc: remove 4xx support")
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi --- drivers/ata/Makefile | 1 - drivers/ata/sata_dwc.c | 2077 ------------------------------------------------ drivers/ata/sata_dwc.h | 458 ----------- 3 files changed, 2536 deletions(-) delete mode 100644 drivers/ata/sata_dwc.c delete mode 100644 drivers/ata/sata_dwc.h
diff --git drivers/ata/Makefile drivers/ata/Makefile index 4e2de93025..7a4c8c6bf2 100644 --- drivers/ata/Makefile +++ drivers/ata/Makefile @@ -16,7 +16,6 @@ obj-$(CONFIG_MVSATA_IDE) += mvsata_ide.o obj-$(CONFIG_MX51_PATA) += mxc_ata.o obj-$(CONFIG_SATA) += sata.o obj-$(CONFIG_SATA_CEVA) += sata_ceva.o -obj-$(CONFIG_SATA_DWC) += sata_dwc.o obj-$(CONFIG_SATA_MV) += sata_mv.o obj-$(CONFIG_SATA_SIL3114) += sata_sil3114.o obj-$(CONFIG_SATA_SIL) += sata_sil.o diff --git drivers/ata/sata_dwc.c drivers/ata/sata_dwc.c deleted file mode 100644 index 2f3b2ddb41..0000000000 --- drivers/ata/sata_dwc.c +++ /dev/null @@ -1,2077 +0,0 @@ -/* - * sata_dwc.c - * - * Synopsys DesignWare Cores (DWC) SATA host driver - * - * Author: Mark Miesfeld mmiesfeld@amcc.com - * - * Ported from 2.6.19.2 to 2.6.25/26 by Stefan Roese sr@denx.de - * Copyright 2008 DENX Software Engineering - * - * Based on versions provided by AMCC and Synopsys which are: - * Copyright 2006 Applied Micro Circuits Corporation - * COPYRIGHT (C) 2005 SYNOPSYS, INC. ALL RIGHTS RESERVED - * - * SPDX-License-Identifier: GPL-2.0+ - */ -/* - * SATA support based on the chip canyonlands. - * - * 04-17-2009 - * The local version of this driver for the canyonlands board - * does not use interrupts but polls the chip instead. - */ - -#include <common.h> -#include <command.h> -#include <pci.h> -#include <asm/processor.h> -#include <linux/dma-direction.h> -#include <linux/errno.h> -#include <asm/io.h> -#include <malloc.h> -#include <ata.h> -#include <sata.h> -#include <linux/ctype.h> - -#include "sata_dwc.h" - -#define DMA_NUM_CHANS 1 -#define DMA_NUM_CHAN_REGS 8 - -#define AHB_DMA_BRST_DFLT 16 - -struct dmareg { - u32 low; - u32 high; -}; - -struct dma_chan_regs { - struct dmareg sar; - struct dmareg dar; - struct dmareg llp; - struct dmareg ctl; - struct dmareg sstat; - struct dmareg dstat; - struct dmareg sstatar; - struct dmareg dstatar; - struct dmareg cfg; - struct dmareg sgr; - struct dmareg dsr; -}; - -struct dma_interrupt_regs { - struct dmareg tfr; - struct dmareg block; - struct dmareg srctran; - struct dmareg dsttran; - struct dmareg error; -}; - -struct ahb_dma_regs { - struct dma_chan_regs chan_regs[DMA_NUM_CHAN_REGS]; - struct dma_interrupt_regs interrupt_raw; - struct dma_interrupt_regs interrupt_status; - struct dma_interrupt_regs interrupt_mask; - struct dma_interrupt_regs interrupt_clear; - struct dmareg statusInt; - struct dmareg rq_srcreg; - struct dmareg rq_dstreg; - struct dmareg rq_sgl_srcreg; - struct dmareg rq_sgl_dstreg; - struct dmareg rq_lst_srcreg; - struct dmareg rq_lst_dstreg; - struct dmareg dma_cfg; - struct dmareg dma_chan_en; - struct dmareg dma_id; - struct dmareg dma_test; - struct dmareg res1; - struct dmareg res2; - /* DMA Comp Params - * Param 6 = dma_param[0], Param 5 = dma_param[1], - * Param 4 = dma_param[2] ... - */ - struct dmareg dma_params[6]; -}; - -#define DMA_EN 0x00000001 -#define DMA_DI 0x00000000 -#define DMA_CHANNEL(ch) (0x00000001 << (ch)) -#define DMA_ENABLE_CHAN(ch) ((0x00000001 << (ch)) | \ - ((0x000000001 << (ch)) << 8)) -#define DMA_DISABLE_CHAN(ch) (0x00000000 | \ - ((0x000000001 << (ch)) << 8)) - -#define SATA_DWC_MAX_PORTS 1 -#define SATA_DWC_SCR_OFFSET 0x24 -#define SATA_DWC_REG_OFFSET 0x64 - -struct sata_dwc_regs { - u32 fptagr; - u32 fpbor; - u32 fptcr; - u32 dmacr; - u32 dbtsr; - u32 intpr; - u32 intmr; - u32 errmr; - u32 llcr; - u32 phycr; - u32 physr; - u32 rxbistpd; - u32 rxbistpd1; - u32 rxbistpd2; - u32 txbistpd; - u32 txbistpd1; - u32 txbistpd2; - u32 bistcr; - u32 bistfctr; - u32 bistsr; - u32 bistdecr; - u32 res[15]; - u32 testr; - u32 versionr; - u32 idr; - u32 unimpl[192]; - u32 dmadr[256]; -}; - -#define SATA_DWC_TXFIFO_DEPTH 0x01FF -#define SATA_DWC_RXFIFO_DEPTH 0x01FF - -#define SATA_DWC_DBTSR_MWR(size) ((size / 4) & SATA_DWC_TXFIFO_DEPTH) -#define SATA_DWC_DBTSR_MRD(size) (((size / 4) & \ - SATA_DWC_RXFIFO_DEPTH) << 16) -#define SATA_DWC_INTPR_DMAT 0x00000001 -#define SATA_DWC_INTPR_NEWFP 0x00000002 -#define SATA_DWC_INTPR_PMABRT 0x00000004 -#define SATA_DWC_INTPR_ERR 0x00000008 -#define SATA_DWC_INTPR_NEWBIST 0x00000010 -#define SATA_DWC_INTPR_IPF 0x10000000 -#define SATA_DWC_INTMR_DMATM 0x00000001 -#define SATA_DWC_INTMR_NEWFPM 0x00000002 -#define SATA_DWC_INTMR_PMABRTM 0x00000004 -#define SATA_DWC_INTMR_ERRM 0x00000008 -#define SATA_DWC_INTMR_NEWBISTM 0x00000010 - -#define SATA_DWC_DMACR_TMOD_TXCHEN 0x00000004 -#define SATA_DWC_DMACR_TXRXCH_CLEAR SATA_DWC_DMACR_TMOD_TXCHEN - -#define SATA_DWC_QCMD_MAX 32 - -#define SATA_DWC_SERROR_ERR_BITS 0x0FFF0F03 - -#define HSDEVP_FROM_AP(ap) (struct sata_dwc_device_port*) \ - (ap)->private_data - -struct sata_dwc_device { - struct device *dev; - struct ata_probe_ent *pe; - struct ata_host *host; - u8 *reg_base; - struct sata_dwc_regs *sata_dwc_regs; - int irq_dma; -}; - -struct sata_dwc_device_port { - struct sata_dwc_device *hsdev; - int cmd_issued[SATA_DWC_QCMD_MAX]; - u32 dma_chan[SATA_DWC_QCMD_MAX]; - int dma_pending[SATA_DWC_QCMD_MAX]; -}; - -enum { - SATA_DWC_CMD_ISSUED_NOT = 0, - SATA_DWC_CMD_ISSUED_PEND = 1, - SATA_DWC_CMD_ISSUED_EXEC = 2, - SATA_DWC_CMD_ISSUED_NODATA = 3, - - SATA_DWC_DMA_PENDING_NONE = 0, - SATA_DWC_DMA_PENDING_TX = 1, - SATA_DWC_DMA_PENDING_RX = 2, -}; - -#define msleep(a) udelay(a * 1000) -#define ssleep(a) msleep(a * 1000) - -static int ata_probe_timeout = (ATA_TMOUT_INTERNAL / 100); - -enum sata_dev_state { - SATA_INIT = 0, - SATA_READY = 1, - SATA_NODEVICE = 2, - SATA_ERROR = 3, -}; -enum sata_dev_state dev_state = SATA_INIT; - -static struct ahb_dma_regs *sata_dma_regs = 0; -static struct ata_host *phost; -static struct ata_port ap; -static struct ata_port *pap = ≈ -static struct ata_device ata_device; -static struct sata_dwc_device_port dwc_devp; - -static void *scr_addr_sstatus; -static u32 temp_n_block = 0; - -static unsigned ata_exec_internal(struct ata_device *dev, - struct ata_taskfile *tf, const u8 *cdb, - int dma_dir, unsigned int buflen, - unsigned long timeout); -static unsigned int ata_dev_set_feature(struct ata_device *dev, - u8 enable,u8 feature); -static unsigned int ata_dev_init_params(struct ata_device *dev, - u16 heads, u16 sectors); -static u8 ata_irq_on(struct ata_port *ap); -static struct ata_queued_cmd *__ata_qc_from_tag(struct ata_port *ap, - unsigned int tag); -static int ata_hsm_move(struct ata_port *ap, struct ata_queued_cmd *qc, - u8 status, int in_wq); -static void ata_tf_to_host(struct ata_port *ap, - const struct ata_taskfile *tf); -static void ata_exec_command(struct ata_port *ap, - const struct ata_taskfile *tf); -static unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc); -static u8 ata_check_altstatus(struct ata_port *ap); -static u8 ata_check_status(struct ata_port *ap); -static void ata_dev_select(struct ata_port *ap, unsigned int device, - unsigned int wait, unsigned int can_sleep); -static void ata_qc_issue(struct ata_queued_cmd *qc); -static void ata_tf_load(struct ata_port *ap, - const struct ata_taskfile *tf); -static int ata_dev_read_sectors(unsigned char* pdata, - unsigned long datalen, u32 block, u32 n_block); -static int ata_dev_write_sectors(unsigned char* pdata, - unsigned long datalen , u32 block, u32 n_block); -static void ata_std_dev_select(struct ata_port *ap, unsigned int device); -static void ata_qc_complete(struct ata_queued_cmd *qc); -static void __ata_qc_complete(struct ata_queued_cmd *qc); -static void fill_result_tf(struct ata_queued_cmd *qc); -static void ata_tf_read(struct ata_port *ap, struct ata_taskfile *tf); -static void ata_mmio_data_xfer(struct ata_device *dev, - unsigned char *buf, - unsigned int buflen,int do_write); -static void ata_pio_task(struct ata_port *arg_ap); -static void __ata_port_freeze(struct ata_port *ap); -static int ata_port_freeze(struct ata_port *ap); -static void ata_qc_free(struct ata_queued_cmd *qc); -static void ata_pio_sectors(struct ata_queued_cmd *qc); -static void ata_pio_sector(struct ata_queued_cmd *qc); -static void ata_pio_queue_task(struct ata_port *ap, - void *data,unsigned long delay); -static void ata_hsm_qc_complete(struct ata_queued_cmd *qc, int in_wq); -static int sata_dwc_softreset(struct ata_port *ap); -static int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class, - unsigned int flags, u16 *id); -static int check_sata_dev_state(void); - -static const struct ata_port_info sata_dwc_port_info[] = { - { - .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | - ATA_FLAG_MMIO | ATA_FLAG_PIO_POLLING | - ATA_FLAG_SRST | ATA_FLAG_NCQ, - .pio_mask = 0x1f, - .mwdma_mask = 0x07, - .udma_mask = 0x7f, - }, -}; - -int init_sata(int dev) -{ - struct sata_dwc_device hsdev; - struct ata_host host; - struct ata_port_info pi = sata_dwc_port_info[0]; - struct ata_link *link; - struct sata_dwc_device_port hsdevp = dwc_devp; - u8 *base = 0; - u8 *sata_dma_regs_addr = 0; - u8 status; - unsigned long base_addr = 0; - int chan = 0; - int rc; - int i; - - phost = &host; - - base = (u8*)SATA_BASE_ADDR; - - hsdev.sata_dwc_regs = (void *__iomem)(base + SATA_DWC_REG_OFFSET); - - host.n_ports = SATA_DWC_MAX_PORTS; - - for (i = 0; i < SATA_DWC_MAX_PORTS; i++) { - ap.pflags |= ATA_PFLAG_INITIALIZING; - ap.flags = ATA_FLAG_DISABLED; - ap.print_id = -1; - ap.ctl = ATA_DEVCTL_OBS; - ap.host = &host; - ap.last_ctl = 0xFF; - - link = &ap.link; - link->ap = ≈ - link->pmp = 0; - link->active_tag = ATA_TAG_POISON; - link->hw_sata_spd_limit = 0; - - ap.port_no = i; - host.ports[i] = ≈ - } - - ap.pio_mask = pi.pio_mask; - ap.mwdma_mask = pi.mwdma_mask; - ap.udma_mask = pi.udma_mask; - ap.flags |= pi.flags; - ap.link.flags |= pi.link_flags; - - host.ports[0]->ioaddr.cmd_addr = base; - host.ports[0]->ioaddr.scr_addr = base + SATA_DWC_SCR_OFFSET; - scr_addr_sstatus = base + SATA_DWC_SCR_OFFSET; - - base_addr = (unsigned long)base; - - host.ports[0]->ioaddr.cmd_addr = (void *)base_addr + 0x00; - host.ports[0]->ioaddr.data_addr = (void *)base_addr + 0x00; - - host.ports[0]->ioaddr.error_addr = (void *)base_addr + 0x04; - host.ports[0]->ioaddr.feature_addr = (void *)base_addr + 0x04; - - host.ports[0]->ioaddr.nsect_addr = (void *)base_addr + 0x08; - - host.ports[0]->ioaddr.lbal_addr = (void *)base_addr + 0x0c; - host.ports[0]->ioaddr.lbam_addr = (void *)base_addr + 0x10; - host.ports[0]->ioaddr.lbah_addr = (void *)base_addr + 0x14; - - host.ports[0]->ioaddr.device_addr = (void *)base_addr + 0x18; - host.ports[0]->ioaddr.command_addr = (void *)base_addr + 0x1c; - host.ports[0]->ioaddr.status_addr = (void *)base_addr + 0x1c; - - host.ports[0]->ioaddr.altstatus_addr = (void *)base_addr + 0x20; - host.ports[0]->ioaddr.ctl_addr = (void *)base_addr + 0x20; - - sata_dma_regs_addr = (u8*)SATA_DMA_REG_ADDR; - sata_dma_regs = (void *__iomem)sata_dma_regs_addr; - - status = ata_check_altstatus(&ap); - - if (status == 0x7f) { - printf("Hard Disk not found.\n"); - dev_state = SATA_NODEVICE; - rc = false; - return rc; - } - - printf("Waiting for device..."); - i = 0; - while (1) { - udelay(10000); - - status = ata_check_altstatus(&ap); - - if ((status & ATA_BUSY) == 0) { - printf("\n"); - break; - } - - i++; - if (i > (ATA_RESET_TIME * 100)) { - printf("** TimeOUT **\n"); - - dev_state = SATA_NODEVICE; - rc = false; - return rc; - } - if ((i >= 100) && ((i % 100) == 0)) - printf("."); - } - - rc = sata_dwc_softreset(&ap); - - if (rc) { - printf("sata_dwc : error. soft reset failed\n"); - return rc; - } - - for (chan = 0; chan < DMA_NUM_CHANS; chan++) { - out_le32(&(sata_dma_regs->interrupt_mask.error.low), - DMA_DISABLE_CHAN(chan)); - - out_le32(&(sata_dma_regs->interrupt_mask.tfr.low), - DMA_DISABLE_CHAN(chan)); - } - - out_le32(&(sata_dma_regs->dma_cfg.low), DMA_DI); - - out_le32(&hsdev.sata_dwc_regs->intmr, - SATA_DWC_INTMR_ERRM | - SATA_DWC_INTMR_PMABRTM); - - /* Unmask the error bits that should trigger - * an error interrupt by setting the error mask register. - */ - out_le32(&hsdev.sata_dwc_regs->errmr, SATA_DWC_SERROR_ERR_BITS); - - hsdev.host = ap.host; - memset(&hsdevp, 0, sizeof(hsdevp)); - hsdevp.hsdev = &hsdev; - - for (i = 0; i < SATA_DWC_QCMD_MAX; i++) - hsdevp.cmd_issued[i] = SATA_DWC_CMD_ISSUED_NOT; - - out_le32((void __iomem *)scr_addr_sstatus + 4, - in_le32((void __iomem *)scr_addr_sstatus + 4)); - - rc = 0; - return rc; -} - -int reset_sata(int dev) -{ - return 0; -} - -static u8 ata_check_altstatus(struct ata_port *ap) -{ - u8 val = 0; - val = readb(ap->ioaddr.altstatus_addr); - return val; -} - -static int sata_dwc_softreset(struct ata_port *ap) -{ - u8 nsect,lbal = 0; - u8 tmp = 0; - struct ata_ioports *ioaddr = &ap->ioaddr; - - in_le32((void *)ap->ioaddr.scr_addr + (SCR_ERROR * 4)); - - writeb(0x55, ioaddr->nsect_addr); - writeb(0xaa, ioaddr->lbal_addr); - writeb(0xaa, ioaddr->nsect_addr); - writeb(0x55, ioaddr->lbal_addr); - writeb(0x55, ioaddr->nsect_addr); - writeb(0xaa, ioaddr->lbal_addr); - - nsect = readb(ioaddr->nsect_addr); - lbal = readb(ioaddr->lbal_addr); - - if ((nsect == 0x55) && (lbal == 0xaa)) { - printf("Device found\n"); - } else { - printf("No device found\n"); - dev_state = SATA_NODEVICE; - return false; - } - - tmp = ATA_DEVICE_OBS; - writeb(tmp, ioaddr->device_addr); - writeb(ap->ctl, ioaddr->ctl_addr); - - udelay(200); - - writeb(ap->ctl | ATA_SRST, ioaddr->ctl_addr); - - udelay(200); - writeb(ap->ctl, ioaddr->ctl_addr); - - msleep(150); - ata_check_status(ap); - - msleep(50); - ata_check_status(ap); - - while (1) { - u8 status = ata_check_status(ap); - - if (!(status & ATA_BUSY)) - break; - - printf("Hard Disk status is BUSY.\n"); - msleep(50); - } - - tmp = ATA_DEVICE_OBS; - writeb(tmp, ioaddr->device_addr); - - nsect = readb(ioaddr->nsect_addr); - lbal = readb(ioaddr->lbal_addr); - - return 0; -} - -static u8 ata_check_status(struct ata_port *ap) -{ - u8 val = 0; - val = readb(ap->ioaddr.status_addr); - return val; -} - -static int ata_id_has_hipm(const u16 *id) -{ - u16 val = id[76]; - - if (val == 0 || val == 0xffff) - return -1; - - return val & (1 << 9); -} - -static int ata_id_has_dipm(const u16 *id) -{ - u16 val = id[78]; - - if (val == 0 || val == 0xffff) - return -1; - - return val & (1 << 3); -} - -int scan_sata(int dev) -{ - int i; - int rc; - u8 status; - const u16 *id; - struct ata_device *ata_dev = &ata_device; - unsigned long pio_mask, mwdma_mask; - char revbuf[7]; - u16 iobuf[ATA_SECTOR_WORDS]; - - memset(iobuf, 0, sizeof(iobuf)); - - if (dev_state == SATA_NODEVICE) - return 1; - - printf("Waiting for device..."); - i = 0; - while (1) { - udelay(10000); - - status = ata_check_altstatus(&ap); - - if ((status & ATA_BUSY) == 0) { - printf("\n"); - break; - } - - i++; - if (i > (ATA_RESET_TIME * 100)) { - printf("** TimeOUT **\n"); - - dev_state = SATA_NODEVICE; - return 1; - } - if ((i >= 100) && ((i % 100) == 0)) - printf("."); - } - - udelay(1000); - - rc = ata_dev_read_id(ata_dev, &ata_dev->class, - ATA_READID_POSTRESET,ata_dev->id); - if (rc) { - printf("sata_dwc : error. failed sata scan\n"); - return 1; - } - - /* SATA drives indicate we have a bridge. We don't know which - * end of the link the bridge is which is a problem - */ - if (ata_id_is_sata(ata_dev->id)) - ap.cbl = ATA_CBL_SATA; - - id = ata_dev->id; - - ata_dev->flags &= ~ATA_DFLAG_CFG_MASK; - ata_dev->max_sectors = 0; - ata_dev->cdb_len = 0; - ata_dev->n_sectors = 0; - ata_dev->cylinders = 0; - ata_dev->heads = 0; - ata_dev->sectors = 0; - - if (id[ATA_ID_FIELD_VALID] & (1 << 1)) { - pio_mask = id[ATA_ID_PIO_MODES] & 0x03; - pio_mask <<= 3; - pio_mask |= 0x7; - } else { - /* If word 64 isn't valid then Word 51 high byte holds - * the PIO timing number for the maximum. Turn it into - * a mask. - */ - u8 mode = (id[ATA_ID_OLD_PIO_MODES] >> 8) & 0xFF; - if (mode < 5) { - pio_mask = (2 << mode) - 1; - } else { - pio_mask = 1; - } - } - - mwdma_mask = id[ATA_ID_MWDMA_MODES] & 0x07; - - if (ata_id_is_cfa(id)) { - int pio = id[163] & 0x7; - int dma = (id[163] >> 3) & 7; - - if (pio) - pio_mask |= (1 << 5); - if (pio > 1) - pio_mask |= (1 << 6); - if (dma) - mwdma_mask |= (1 << 3); - if (dma > 1) - mwdma_mask |= (1 << 4); - } - - if (ata_dev->class == ATA_DEV_ATA) { - if (ata_id_is_cfa(id)) { - if (id[162] & 1) - printf("supports DRM functions and may " - "not be fully accessable.\n"); - strcpy(revbuf, "CFA"); - } else { - if (ata_id_has_tpm(id)) - printf("supports DRM functions and may " - "not be fully accessable.\n"); - } - - ata_dev->n_sectors = ata_id_n_sectors((u16*)id); - - if (ata_dev->id[59] & 0x100) - ata_dev->multi_count = ata_dev->id[59] & 0xff; - - if (ata_id_has_lba(id)) { - char ncq_desc[20]; - - ata_dev->flags |= ATA_DFLAG_LBA; - if (ata_id_has_lba48(id)) { - ata_dev->flags |= ATA_DFLAG_LBA48; - - if (ata_dev->n_sectors >= (1UL << 28) && - ata_id_has_flush_ext(id)) - ata_dev->flags |= ATA_DFLAG_FLUSH_EXT; - } - if (!ata_id_has_ncq(ata_dev->id)) - ncq_desc[0] = '\0'; - - if (ata_dev->horkage & ATA_HORKAGE_NONCQ) - strcpy(ncq_desc, "NCQ (not used)"); - - if (ap.flags & ATA_FLAG_NCQ) - ata_dev->flags |= ATA_DFLAG_NCQ; - } - ata_dev->cdb_len = 16; - } - ata_dev->max_sectors = ATA_MAX_SECTORS; - if (ata_dev->flags & ATA_DFLAG_LBA48) - ata_dev->max_sectors = ATA_MAX_SECTORS_LBA48; - - if (!(ata_dev->horkage & ATA_HORKAGE_IPM)) { - if (ata_id_has_hipm(ata_dev->id)) - ata_dev->flags |= ATA_DFLAG_HIPM; - if (ata_id_has_dipm(ata_dev->id)) - ata_dev->flags |= ATA_DFLAG_DIPM; - } - - if ((ap.cbl == ATA_CBL_SATA) && (!ata_id_is_sata(ata_dev->id))) { - ata_dev->udma_mask &= ATA_UDMA5; - ata_dev->max_sectors = ATA_MAX_SECTORS; - } - - if (ata_dev->horkage & ATA_HORKAGE_DIAGNOSTIC) { - printf("Drive reports diagnostics failure." - "This may indicate a drive\n"); - printf("fault or invalid emulation." - "Contact drive vendor for information.\n"); - } - - rc = check_sata_dev_state(); - - ata_id_c_string(ata_dev->id, - (unsigned char *)sata_dev_desc[dev].revision, - ATA_ID_FW_REV, sizeof(sata_dev_desc[dev].revision)); - ata_id_c_string(ata_dev->id, - (unsigned char *)sata_dev_desc[dev].vendor, - ATA_ID_PROD, sizeof(sata_dev_desc[dev].vendor)); - ata_id_c_string(ata_dev->id, - (unsigned char *)sata_dev_desc[dev].product, - ATA_ID_SERNO, sizeof(sata_dev_desc[dev].product)); - - sata_dev_desc[dev].lba = (u32) ata_dev->n_sectors; - -#ifdef CONFIG_LBA48 - if (ata_dev->id[83] & (1 << 10)) { - sata_dev_desc[dev].lba48 = 1; - } else { - sata_dev_desc[dev].lba48 = 0; - } -#endif - - return 0; -} - -static u8 ata_busy_wait(struct ata_port *ap, - unsigned int bits,unsigned int max) -{ - u8 status; - - do { - udelay(10); - status = ata_check_status(ap); - max--; - } while (status != 0xff && (status & bits) && (max > 0)); - - return status; -} - -static int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class, - unsigned int flags, u16 *id) -{ - struct ata_port *ap = pap; - unsigned int class = *p_class; - struct ata_taskfile tf; - unsigned int err_mask = 0; - const char *reason; - int may_fallback = 1, tried_spinup = 0; - u8 status; - int rc; - - status = ata_busy_wait(ap, ATA_BUSY, 30000); - if (status & ATA_BUSY) { - printf("BSY = 0 check. timeout.\n"); - rc = false; - return rc; - } - - ata_dev_select(ap, dev->devno, 1, 1); - -retry: - memset(&tf, 0, sizeof(tf)); - ap->print_id = 1; - ap->flags &= ~ATA_FLAG_DISABLED; - tf.ctl = ap->ctl; - tf.device = ATA_DEVICE_OBS; - tf.command = ATA_CMD_ID_ATA; - tf.protocol = ATA_PROT_PIO; - - /* Some devices choke if TF registers contain garbage. Make - * sure those are properly initialized. - */ - tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; - - /* Device presence detection is unreliable on some - * controllers. Always poll IDENTIFY if available. - */ - tf.flags |= ATA_TFLAG_POLLING; - - temp_n_block = 1; - - err_mask = ata_exec_internal(dev, &tf, NULL, DMA_FROM_DEVICE, - sizeof(id[0]) * ATA_ID_WORDS, 0); - - if (err_mask) { - if (err_mask & AC_ERR_NODEV_HINT) { - printf("NODEV after polling detection\n"); - return -ENOENT; - } - - if ((err_mask == AC_ERR_DEV) && (tf.feature & ATA_ABORTED)) { - /* Device or controller might have reported - * the wrong device class. Give a shot at the - * other IDENTIFY if the current one is - * aborted by the device. - */ - if (may_fallback) { - may_fallback = 0; - - if (class == ATA_DEV_ATA) { - class = ATA_DEV_ATAPI; - } else { - class = ATA_DEV_ATA; - } - goto retry; - } - /* Control reaches here iff the device aborted - * both flavors of IDENTIFYs which happens - * sometimes with phantom devices. - */ - printf("both IDENTIFYs aborted, assuming NODEV\n"); - return -ENOENT; - } - rc = -EIO; - reason = "I/O error"; - goto err_out; - } - - /* Falling back doesn't make sense if ID data was read - * successfully at least once. - */ - may_fallback = 0; - - unsigned int id_cnt; - - for (id_cnt = 0; id_cnt < ATA_ID_WORDS; id_cnt++) - id[id_cnt] = le16_to_cpu(id[id_cnt]); - - - rc = -EINVAL; - reason = "device reports invalid type"; - - if (class == ATA_DEV_ATA) { - if (!ata_id_is_ata(id) && !ata_id_is_cfa(id)) - goto err_out; - } else { - if (ata_id_is_ata(id)) - goto err_out; - } - if (!tried_spinup && (id[2] == 0x37c8 || id[2] == 0x738c)) { - tried_spinup = 1; - /* - * Drive powered-up in standby mode, and requires a specific - * SET_FEATURES spin-up subcommand before it will accept - * anything other than the original IDENTIFY command. - */ - err_mask = ata_dev_set_feature(dev, SETFEATURES_SPINUP, 0); - if (err_mask && id[2] != 0x738c) { - rc = -EIO; - reason = "SPINUP failed"; - goto err_out; - } - /* - * If the drive initially returned incomplete IDENTIFY info, - * we now must reissue the IDENTIFY command. - */ - if (id[2] == 0x37c8) - goto retry; - } - - if ((flags & ATA_READID_POSTRESET) && class == ATA_DEV_ATA) { - /* - * The exact sequence expected by certain pre-ATA4 drives is: - * SRST RESET - * IDENTIFY (optional in early ATA) - * INITIALIZE DEVICE PARAMETERS (later IDE and ATA) - * anything else.. - * Some drives were very specific about that exact sequence. - * - * Note that ATA4 says lba is mandatory so the second check - * shoud never trigger. - */ - if (ata_id_major_version(id) < 4 || !ata_id_has_lba(id)) { - err_mask = ata_dev_init_params(dev, id[3], id[6]); - if (err_mask) { - rc = -EIO; - reason = "INIT_DEV_PARAMS failed"; - goto err_out; - } - - /* current CHS translation info (id[53-58]) might be - * changed. reread the identify device info. - */ - flags &= ~ATA_READID_POSTRESET; - goto retry; - } - } - - *p_class = class; - return 0; - -err_out: - printf("failed to READ ID (%s, err_mask=0x%x)\n", reason, err_mask); - return rc; -} - -static u8 ata_wait_idle(struct ata_port *ap) -{ - u8 status = ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 1000); - return status; -} - -static void ata_dev_select(struct ata_port *ap, unsigned int device, - unsigned int wait, unsigned int can_sleep) -{ - if (wait) - ata_wait_idle(ap); - - ata_std_dev_select(ap, device); - - if (wait) - ata_wait_idle(ap); -} - -static void ata_std_dev_select(struct ata_port *ap, unsigned int device) -{ - u8 tmp; - - if (device == 0) { - tmp = ATA_DEVICE_OBS; - } else { - tmp = ATA_DEVICE_OBS | ATA_DEV1; - } - - writeb(tmp, ap->ioaddr.device_addr); - - readb(ap->ioaddr.altstatus_addr); - - udelay(1); -} - -static int waiting_for_reg_state(volatile u8 *offset, - int timeout_msec, - u32 sign) -{ - int i; - u32 status; - - for (i = 0; i < timeout_msec; i++) { - status = readl(offset); - if ((status & sign) != 0) - break; - msleep(1); - } - - return (i < timeout_msec) ? 0 : -1; -} - -static void ata_qc_reinit(struct ata_queued_cmd *qc) -{ - qc->dma_dir = DMA_NONE; - qc->flags = 0; - qc->nbytes = qc->extrabytes = qc->curbytes = 0; - qc->n_elem = 0; - qc->err_mask = 0; - qc->sect_size = ATA_SECT_SIZE; - qc->nbytes = ATA_SECT_SIZE * temp_n_block; - - memset(&qc->tf, 0, sizeof(qc->tf)); - qc->tf.ctl = 0; - qc->tf.device = ATA_DEVICE_OBS; - - qc->result_tf.command = ATA_DRDY; - qc->result_tf.feature = 0; -} - -struct ata_queued_cmd *__ata_qc_from_tag(struct ata_port *ap, - unsigned int tag) -{ - if (tag < ATA_MAX_QUEUE) - return &ap->qcmd[tag]; - return NULL; -} - -static void __ata_port_freeze(struct ata_port *ap) -{ - printf("set port freeze.\n"); - ap->pflags |= ATA_PFLAG_FROZEN; -} - -static int ata_port_freeze(struct ata_port *ap) -{ - __ata_port_freeze(ap); - return 0; -} - -unsigned ata_exec_internal(struct ata_device *dev, - struct ata_taskfile *tf, const u8 *cdb, - int dma_dir, unsigned int buflen, - unsigned long timeout) -{ - struct ata_link *link = dev->link; - struct ata_port *ap = pap; - struct ata_queued_cmd *qc; - unsigned int tag, preempted_tag; - u32 preempted_sactive, preempted_qc_active; - int preempted_nr_active_links; - unsigned int err_mask; - int rc = 0; - u8 status; - - status = ata_busy_wait(ap, ATA_BUSY, 300000); - if (status & ATA_BUSY) { - printf("BSY = 0 check. timeout.\n"); - rc = false; - return rc; - } - - if (ap->pflags & ATA_PFLAG_FROZEN) - return AC_ERR_SYSTEM; - - tag = ATA_TAG_INTERNAL; - - if (test_and_set_bit(tag, &ap->qc_allocated)) { - rc = false; - return rc; - } - - qc = __ata_qc_from_tag(ap, tag); - qc->tag = tag; - qc->ap = ap; - qc->dev = dev; - - ata_qc_reinit(qc); - - preempted_tag = link->active_tag; - preempted_sactive = link->sactive; - preempted_qc_active = ap->qc_active; - preempted_nr_active_links = ap->nr_active_links; - link->active_tag = ATA_TAG_POISON; - link->sactive = 0; - ap->qc_active = 0; - ap->nr_active_links = 0; - - qc->tf = *tf; - if (cdb) - memcpy(qc->cdb, cdb, ATAPI_CDB_LEN); - qc->flags |= ATA_QCFLAG_RESULT_TF; - qc->dma_dir = dma_dir; - qc->private_data = 0; - - ata_qc_issue(qc); - - if (!timeout) - timeout = ata_probe_timeout * 1000 / HZ; - - status = ata_busy_wait(ap, ATA_BUSY, 30000); - if (status & ATA_BUSY) { - printf("BSY = 0 check. timeout.\n"); - printf("altstatus = 0x%x.\n", status); - qc->err_mask |= AC_ERR_OTHER; - return qc->err_mask; - } - - if (waiting_for_reg_state(ap->ioaddr.altstatus_addr, 1000, 0x8)) { - u8 status = 0; - u8 errorStatus = 0; - - status = readb(ap->ioaddr.altstatus_addr); - if ((status & 0x01) != 0) { - errorStatus = readb(ap->ioaddr.feature_addr); - if (errorStatus == 0x04 && - qc->tf.command == ATA_CMD_PIO_READ_EXT){ - printf("Hard Disk doesn't support LBA48\n"); - dev_state = SATA_ERROR; - qc->err_mask |= AC_ERR_OTHER; - return qc->err_mask; - } - } - qc->err_mask |= AC_ERR_OTHER; - return qc->err_mask; - } - - status = ata_busy_wait(ap, ATA_BUSY, 10); - if (status & ATA_BUSY) { - printf("BSY = 0 check. timeout.\n"); - qc->err_mask |= AC_ERR_OTHER; - return qc->err_mask; - } - - ata_pio_task(ap); - - if (!rc) { - if (qc->flags & ATA_QCFLAG_ACTIVE) { - qc->err_mask |= AC_ERR_TIMEOUT; - ata_port_freeze(ap); - } - } - - if (qc->flags & ATA_QCFLAG_FAILED) { - if (qc->result_tf.command & (ATA_ERR | ATA_DF)) - qc->err_mask |= AC_ERR_DEV; - - if (!qc->err_mask) - qc->err_mask |= AC_ERR_OTHER; - - if (qc->err_mask & ~AC_ERR_OTHER) - qc->err_mask &= ~AC_ERR_OTHER; - } - - *tf = qc->result_tf; - err_mask = qc->err_mask; - ata_qc_free(qc); - link->active_tag = preempted_tag; - link->sactive = preempted_sactive; - ap->qc_active = preempted_qc_active; - ap->nr_active_links = preempted_nr_active_links; - - if (ap->flags & ATA_FLAG_DISABLED) { - err_mask |= AC_ERR_SYSTEM; - ap->flags &= ~ATA_FLAG_DISABLED; - } - - return err_mask; -} - -static void ata_qc_issue(struct ata_queued_cmd *qc) -{ - struct ata_port *ap = qc->ap; - struct ata_link *link = qc->dev->link; - u8 prot = qc->tf.protocol; - - if (ata_is_ncq(prot)) { - if (!link->sactive) - ap->nr_active_links++; - link->sactive |= 1 << qc->tag; - } else { - ap->nr_active_links++; - link->active_tag = qc->tag; - } - - qc->flags |= ATA_QCFLAG_ACTIVE; - ap->qc_active |= 1 << qc->tag; - - if (qc->dev->flags & ATA_DFLAG_SLEEPING) { - msleep(1); - return; - } - - qc->err_mask |= ata_qc_issue_prot(qc); - if (qc->err_mask) - goto err; - - return; -err: - ata_qc_complete(qc); -} - -static unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc) -{ - struct ata_port *ap = qc->ap; - - if (ap->flags & ATA_FLAG_PIO_POLLING) { - switch (qc->tf.protocol) { - case ATA_PROT_PIO: - case ATA_PROT_NODATA: - case ATAPI_PROT_PIO: - case ATAPI_PROT_NODATA: - qc->tf.flags |= ATA_TFLAG_POLLING; - break; - default: - break; - } - } - - ata_dev_select(ap, qc->dev->devno, 1, 0); - - switch (qc->tf.protocol) { - case ATA_PROT_PIO: - if (qc->tf.flags & ATA_TFLAG_POLLING) - qc->tf.ctl |= ATA_NIEN; - - ata_tf_to_host(ap, &qc->tf); - - ap->hsm_task_state = HSM_ST; - - if (qc->tf.flags & ATA_TFLAG_POLLING) - ata_pio_queue_task(ap, qc, 0); - - break; - - default: - return AC_ERR_SYSTEM; - } - - return 0; -} - -static void ata_tf_to_host(struct ata_port *ap, - const struct ata_taskfile *tf) -{ - ata_tf_load(ap, tf); - ata_exec_command(ap, tf); -} - -static void ata_tf_load(struct ata_port *ap, - const struct ata_taskfile *tf) -{ - struct ata_ioports *ioaddr = &ap->ioaddr; - unsigned int is_addr = tf->flags & ATA_TFLAG_ISADDR; - - if (tf->ctl != ap->last_ctl) { - if (ioaddr->ctl_addr) - writeb(tf->ctl, ioaddr->ctl_addr); - ap->last_ctl = tf->ctl; - ata_wait_idle(ap); - } - - if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) { - writeb(tf->hob_feature, ioaddr->feature_addr); - writeb(tf->hob_nsect, ioaddr->nsect_addr); - writeb(tf->hob_lbal, ioaddr->lbal_addr); - writeb(tf->hob_lbam, ioaddr->lbam_addr); - writeb(tf->hob_lbah, ioaddr->lbah_addr); - } - - if (is_addr) { - writeb(tf->feature, ioaddr->feature_addr); - writeb(tf->nsect, ioaddr->nsect_addr); - writeb(tf->lbal, ioaddr->lbal_addr); - writeb(tf->lbam, ioaddr->lbam_addr); - writeb(tf->lbah, ioaddr->lbah_addr); - } - - if (tf->flags & ATA_TFLAG_DEVICE) - writeb(tf->device, ioaddr->device_addr); - - ata_wait_idle(ap); -} - -static void ata_exec_command(struct ata_port *ap, - const struct ata_taskfile *tf) -{ - writeb(tf->command, ap->ioaddr.command_addr); - - readb(ap->ioaddr.altstatus_addr); - - udelay(1); -} - -static void ata_pio_queue_task(struct ata_port *ap, - void *data,unsigned long delay) -{ - ap->port_task_data = data; -} - -static unsigned int ac_err_mask(u8 status) -{ - if (status & (ATA_BUSY | ATA_DRQ)) - return AC_ERR_HSM; - if (status & (ATA_ERR | ATA_DF)) - return AC_ERR_DEV; - return 0; -} - -static unsigned int __ac_err_mask(u8 status) -{ - unsigned int mask = ac_err_mask(status); - if (mask == 0) - return AC_ERR_OTHER; - return mask; -} - -static void ata_pio_task(struct ata_port *arg_ap) -{ - struct ata_port *ap = arg_ap; - struct ata_queued_cmd *qc = ap->port_task_data; - u8 status; - int poll_next; - -fsm_start: - /* - * This is purely heuristic. This is a fast path. - * Sometimes when we enter, BSY will be cleared in - * a chk-status or two. If not, the drive is probably seeking - * or something. Snooze for a couple msecs, then - * chk-status again. If still busy, queue delayed work. - */ - status = ata_busy_wait(ap, ATA_BUSY, 5); - if (status & ATA_BUSY) { - msleep(2); - status = ata_busy_wait(ap, ATA_BUSY, 10); - if (status & ATA_BUSY) { - ata_pio_queue_task(ap, qc, ATA_SHORT_PAUSE); - return; - } - } - - poll_next = ata_hsm_move(ap, qc, status, 1); - - /* another command or interrupt handler - * may be running at this point. - */ - if (poll_next) - goto fsm_start; -} - -static int ata_hsm_move(struct ata_port *ap, struct ata_queued_cmd *qc, - u8 status, int in_wq) -{ - int poll_next; - -fsm_start: - switch (ap->hsm_task_state) { - case HSM_ST_FIRST: - poll_next = (qc->tf.flags & ATA_TFLAG_POLLING); - - if ((status & ATA_DRQ) == 0) { - if (status & (ATA_ERR | ATA_DF)) { - qc->err_mask |= AC_ERR_DEV; - } else { - qc->err_mask |= AC_ERR_HSM; - } - ap->hsm_task_state = HSM_ST_ERR; - goto fsm_start; - } - - /* Device should not ask for data transfer (DRQ=1) - * when it finds something wrong. - * We ignore DRQ here and stop the HSM by - * changing hsm_task_state to HSM_ST_ERR and - * let the EH abort the command or reset the device. - */ - if (status & (ATA_ERR | ATA_DF)) { - if (!(qc->dev->horkage & ATA_HORKAGE_STUCK_ERR)) { - printf("DRQ=1 with device error, " - "dev_stat 0x%X\n", status); - qc->err_mask |= AC_ERR_HSM; - ap->hsm_task_state = HSM_ST_ERR; - goto fsm_start; - } - } - - if (qc->tf.protocol == ATA_PROT_PIO) { - /* PIO data out protocol. - * send first data block. - */ - /* ata_pio_sectors() might change the state - * to HSM_ST_LAST. so, the state is changed here - * before ata_pio_sectors(). - */ - ap->hsm_task_state = HSM_ST; - ata_pio_sectors(qc); - } else { - printf("protocol is not ATA_PROT_PIO \n"); - } - break; - - case HSM_ST: - if ((status & ATA_DRQ) == 0) { - if (status & (ATA_ERR | ATA_DF)) { - qc->err_mask |= AC_ERR_DEV; - } else { - /* HSM violation. Let EH handle this. - * Phantom devices also trigger this - * condition. Mark hint. - */ - qc->err_mask |= AC_ERR_HSM | AC_ERR_NODEV_HINT; - } - - ap->hsm_task_state = HSM_ST_ERR; - goto fsm_start; - } - /* For PIO reads, some devices may ask for - * data transfer (DRQ=1) alone with ERR=1. - * We respect DRQ here and transfer one - * block of junk data before changing the - * hsm_task_state to HSM_ST_ERR. - * - * For PIO writes, ERR=1 DRQ=1 doesn't make - * sense since the data block has been - * transferred to the device. - */ - if (status & (ATA_ERR | ATA_DF)) { - qc->err_mask |= AC_ERR_DEV; - - if (!(qc->tf.flags & ATA_TFLAG_WRITE)) { - ata_pio_sectors(qc); - status = ata_wait_idle(ap); - } - - if (status & (ATA_BUSY | ATA_DRQ)) - qc->err_mask |= AC_ERR_HSM; - - /* ata_pio_sectors() might change the - * state to HSM_ST_LAST. so, the state - * is changed after ata_pio_sectors(). - */ - ap->hsm_task_state = HSM_ST_ERR; - goto fsm_start; - } - - ata_pio_sectors(qc); - if (ap->hsm_task_state == HSM_ST_LAST && - (!(qc->tf.flags & ATA_TFLAG_WRITE))) { - status = ata_wait_idle(ap); - goto fsm_start; - } - - poll_next = 1; - break; - - case HSM_ST_LAST: - if (!ata_ok(status)) { - qc->err_mask |= __ac_err_mask(status); - ap->hsm_task_state = HSM_ST_ERR; - goto fsm_start; - } - - ap->hsm_task_state = HSM_ST_IDLE; - - ata_hsm_qc_complete(qc, in_wq); - - poll_next = 0; - break; - - case HSM_ST_ERR: - /* make sure qc->err_mask is available to - * know what's wrong and recover - */ - ap->hsm_task_state = HSM_ST_IDLE; - - ata_hsm_qc_complete(qc, in_wq); - - poll_next = 0; - break; - default: - poll_next = 0; - } - - return poll_next; -} - -static void ata_pio_sectors(struct ata_queued_cmd *qc) -{ - struct ata_port *ap; - ap = pap; - qc->pdata = ap->pdata; - - ata_pio_sector(qc); - - readb(qc->ap->ioaddr.altstatus_addr); - udelay(1); -} - -static void ata_pio_sector(struct ata_queued_cmd *qc) -{ - int do_write = (qc->tf.flags & ATA_TFLAG_WRITE); - struct ata_port *ap = qc->ap; - unsigned int offset; - unsigned char *buf; - char temp_data_buf[512]; - - if (qc->curbytes == qc->nbytes - qc->sect_size) - ap->hsm_task_state = HSM_ST_LAST; - - offset = qc->curbytes; - - switch (qc->tf.command) { - case ATA_CMD_ID_ATA: - buf = (unsigned char *)&ata_device.id[0]; - break; - case ATA_CMD_PIO_READ_EXT: - case ATA_CMD_PIO_READ: - case ATA_CMD_PIO_WRITE_EXT: - case ATA_CMD_PIO_WRITE: - buf = qc->pdata + offset; - break; - default: - buf = (unsigned char *)&temp_data_buf[0]; - } - - ata_mmio_data_xfer(qc->dev, buf, qc->sect_size, do_write); - - qc->curbytes += qc->sect_size; - -} - -static void ata_mmio_data_xfer(struct ata_device *dev, unsigned char *buf, - unsigned int buflen, int do_write) -{ - struct ata_port *ap = pap; - void __iomem *data_addr = ap->ioaddr.data_addr; - unsigned int words = buflen >> 1; - u16 *buf16 = (u16 *)buf; - unsigned int i = 0; - - udelay(100); - if (do_write) { - for (i = 0; i < words; i++) - writew(le16_to_cpu(buf16[i]), data_addr); - } else { - for (i = 0; i < words; i++) - buf16[i] = cpu_to_le16(readw(data_addr)); - } - - if (buflen & 0x01) { - __le16 align_buf[1] = { 0 }; - unsigned char *trailing_buf = buf + buflen - 1; - - if (do_write) { - memcpy(align_buf, trailing_buf, 1); - writew(le16_to_cpu(align_buf[0]), data_addr); - } else { - align_buf[0] = cpu_to_le16(readw(data_addr)); - memcpy(trailing_buf, align_buf, 1); - } - } -} - -static void ata_hsm_qc_complete(struct ata_queued_cmd *qc, int in_wq) -{ - struct ata_port *ap = qc->ap; - - if (in_wq) { - /* EH might have kicked in while host lock is - * released. - */ - qc = &ap->qcmd[qc->tag]; - if (qc) { - if (!(qc->err_mask & AC_ERR_HSM)) { - ata_irq_on(ap); - ata_qc_complete(qc); - } else { - ata_port_freeze(ap); - } - } - } else { - if (!(qc->err_mask & AC_ERR_HSM)) { - ata_qc_complete(qc); - } else { - ata_port_freeze(ap); - } - } -} - -static u8 ata_irq_on(struct ata_port *ap) -{ - struct ata_ioports *ioaddr = &ap->ioaddr; - u8 tmp; - - ap->ctl &= ~ATA_NIEN; - ap->last_ctl = ap->ctl; - - if (ioaddr->ctl_addr) - writeb(ap->ctl, ioaddr->ctl_addr); - - tmp = ata_wait_idle(ap); - - return tmp; -} - -static unsigned int ata_tag_internal(unsigned int tag) -{ - return tag == ATA_MAX_QUEUE - 1; -} - -static void ata_qc_complete(struct ata_queued_cmd *qc) -{ - struct ata_device *dev = qc->dev; - if (qc->err_mask) - qc->flags |= ATA_QCFLAG_FAILED; - - if (qc->flags & ATA_QCFLAG_FAILED) { - if (!ata_tag_internal(qc->tag)) { - fill_result_tf(qc); - return; - } - } - if (qc->flags & ATA_QCFLAG_RESULT_TF) - fill_result_tf(qc); - - /* Some commands need post-processing after successful - * completion. - */ - switch (qc->tf.command) { - case ATA_CMD_SET_FEATURES: - if (qc->tf.feature != SETFEATURES_WC_ON && - qc->tf.feature != SETFEATURES_WC_OFF) - break; - case ATA_CMD_INIT_DEV_PARAMS: - case ATA_CMD_SET_MULTI: - break; - - case ATA_CMD_SLEEP: - dev->flags |= ATA_DFLAG_SLEEPING; - break; - } - - __ata_qc_complete(qc); -} - -static void fill_result_tf(struct ata_queued_cmd *qc) -{ - struct ata_port *ap = qc->ap; - - qc->result_tf.flags = qc->tf.flags; - ata_tf_read(ap, &qc->result_tf); -} - -static void ata_tf_read(struct ata_port *ap, struct ata_taskfile *tf) -{ - struct ata_ioports *ioaddr = &ap->ioaddr; - - tf->command = ata_check_status(ap); - tf->feature = readb(ioaddr->error_addr); - tf->nsect = readb(ioaddr->nsect_addr); - tf->lbal = readb(ioaddr->lbal_addr); - tf->lbam = readb(ioaddr->lbam_addr); - tf->lbah = readb(ioaddr->lbah_addr); - tf->device = readb(ioaddr->device_addr); - - if (tf->flags & ATA_TFLAG_LBA48) { - if (ioaddr->ctl_addr) { - writeb(tf->ctl | ATA_HOB, ioaddr->ctl_addr); - - tf->hob_feature = readb(ioaddr->error_addr); - tf->hob_nsect = readb(ioaddr->nsect_addr); - tf->hob_lbal = readb(ioaddr->lbal_addr); - tf->hob_lbam = readb(ioaddr->lbam_addr); - tf->hob_lbah = readb(ioaddr->lbah_addr); - - writeb(tf->ctl, ioaddr->ctl_addr); - ap->last_ctl = tf->ctl; - } else { - printf("sata_dwc warnning register read.\n"); - } - } -} - -static void __ata_qc_complete(struct ata_queued_cmd *qc) -{ - struct ata_port *ap = qc->ap; - struct ata_link *link = qc->dev->link; - - link->active_tag = ATA_TAG_POISON; - ap->nr_active_links--; - - if (qc->flags & ATA_QCFLAG_CLEAR_EXCL && ap->excl_link == link) - ap->excl_link = NULL; - - qc->flags &= ~ATA_QCFLAG_ACTIVE; - ap->qc_active &= ~(1 << qc->tag); -} - -static void ata_qc_free(struct ata_queued_cmd *qc) -{ - struct ata_port *ap = qc->ap; - unsigned int tag; - qc->flags = 0; - tag = qc->tag; - if (tag < ATA_MAX_QUEUE) { - qc->tag = ATA_TAG_POISON; - clear_bit(tag, &ap->qc_allocated); - } -} - -static int check_sata_dev_state(void) -{ - unsigned long datalen; - unsigned char *pdata; - int ret = 0; - int i = 0; - char temp_data_buf[512]; - - while (1) { - udelay(10000); - - pdata = (unsigned char*)&temp_data_buf[0]; - datalen = 512; - - ret = ata_dev_read_sectors(pdata, datalen, 0, 1); - - if (ret == true) - break; - - i++; - if (i > (ATA_RESET_TIME * 100)) { - printf("** TimeOUT **\n"); - dev_state = SATA_NODEVICE; - return false; - } - - if ((i >= 100) && ((i % 100) == 0)) - printf("."); - } - - dev_state = SATA_READY; - - return true; -} - -static unsigned int ata_dev_set_feature(struct ata_device *dev, - u8 enable, u8 feature) -{ - struct ata_taskfile tf; - struct ata_port *ap; - ap = pap; - unsigned int err_mask; - - memset(&tf, 0, sizeof(tf)); - tf.ctl = ap->ctl; - - tf.device = ATA_DEVICE_OBS; - tf.command = ATA_CMD_SET_FEATURES; - tf.feature = enable; - tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; - tf.protocol = ATA_PROT_NODATA; - tf.nsect = feature; - - err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, 0, 0); - - return err_mask; -} - -static unsigned int ata_dev_init_params(struct ata_device *dev, - u16 heads, u16 sectors) -{ - struct ata_taskfile tf; - struct ata_port *ap; - ap = pap; - unsigned int err_mask; - - if (sectors < 1 || sectors > 255 || heads < 1 || heads > 16) - return AC_ERR_INVALID; - - memset(&tf, 0, sizeof(tf)); - tf.ctl = ap->ctl; - tf.device = ATA_DEVICE_OBS; - tf.command = ATA_CMD_INIT_DEV_PARAMS; - tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; - tf.protocol = ATA_PROT_NODATA; - tf.nsect = sectors; - tf.device |= (heads - 1) & 0x0f; - - err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, 0, 0); - - if (err_mask == AC_ERR_DEV && (tf.feature & ATA_ABORTED)) - err_mask = 0; - - return err_mask; -} - -#if defined(CONFIG_SATA_DWC) && !defined(CONFIG_LBA48) -#define SATA_MAX_READ_BLK 0xFF -#else -#define SATA_MAX_READ_BLK 0xFFFF -#endif - -ulong sata_read(int device, ulong blknr, lbaint_t blkcnt, void *buffer) -{ - ulong start,blks, buf_addr; - unsigned short smallblks; - unsigned long datalen; - unsigned char *pdata; - device &= 0xff; - - u32 block = 0; - u32 n_block = 0; - - if (dev_state != SATA_READY) - return 0; - - buf_addr = (unsigned long)buffer; - start = blknr; - blks = blkcnt; - do { - pdata = (unsigned char *)buf_addr; - if (blks > SATA_MAX_READ_BLK) { - datalen = sata_dev_desc[device].blksz * SATA_MAX_READ_BLK; - smallblks = SATA_MAX_READ_BLK; - - block = (u32)start; - n_block = (u32)smallblks; - - start += SATA_MAX_READ_BLK; - blks -= SATA_MAX_READ_BLK; - } else { - datalen = sata_dev_desc[device].blksz * SATA_MAX_READ_BLK; - datalen = sata_dev_desc[device].blksz * blks; - smallblks = (unsigned short)blks; - - block = (u32)start; - n_block = (u32)smallblks; - - start += blks; - blks = 0; - } - - if (ata_dev_read_sectors(pdata, datalen, block, n_block) != true) { - printf("sata_dwc : Hard disk read error.\n"); - blkcnt -= blks; - break; - } - buf_addr += datalen; - } while (blks != 0); - - return (blkcnt); -} - -static int ata_dev_read_sectors(unsigned char *pdata, unsigned long datalen, - u32 block, u32 n_block) -{ - struct ata_port *ap = pap; - struct ata_device *dev = &ata_device; - struct ata_taskfile tf; - unsigned int class = ATA_DEV_ATA; - unsigned int err_mask = 0; - const char *reason; - int may_fallback = 1; - - if (dev_state == SATA_ERROR) - return false; - - ata_dev_select(ap, dev->devno, 1, 1); - -retry: - memset(&tf, 0, sizeof(tf)); - tf.ctl = ap->ctl; - ap->print_id = 1; - ap->flags &= ~ATA_FLAG_DISABLED; - - ap->pdata = pdata; - - tf.device = ATA_DEVICE_OBS; - - temp_n_block = n_block; - -#ifdef CONFIG_LBA48 - tf.command = ATA_CMD_PIO_READ_EXT; - tf.flags |= ATA_TFLAG_LBA | ATA_TFLAG_LBA48; - - tf.hob_feature = 31; - tf.feature = 31; - tf.hob_nsect = (n_block >> 8) & 0xff; - tf.nsect = n_block & 0xff; - - tf.hob_lbah = 0x0; - tf.hob_lbam = 0x0; - tf.hob_lbal = (block >> 24) & 0xff; - tf.lbah = (block >> 16) & 0xff; - tf.lbam = (block >> 8) & 0xff; - tf.lbal = block & 0xff; - - tf.device = 1 << 6; - if (tf.flags & ATA_TFLAG_FUA) - tf.device |= 1 << 7; -#else - tf.command = ATA_CMD_PIO_READ; - tf.flags |= ATA_TFLAG_LBA ; - - tf.feature = 31; - tf.nsect = n_block & 0xff; - - tf.lbah = (block >> 16) & 0xff; - tf.lbam = (block >> 8) & 0xff; - tf.lbal = block & 0xff; - - tf.device = (block >> 24) & 0xf; - - tf.device |= 1 << 6; - if (tf.flags & ATA_TFLAG_FUA) - tf.device |= 1 << 7; - -#endif - - tf.protocol = ATA_PROT_PIO; - - /* Some devices choke if TF registers contain garbage. Make - * sure those are properly initialized. - */ - tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; - tf.flags |= ATA_TFLAG_POLLING; - - err_mask = ata_exec_internal(dev, &tf, NULL, DMA_FROM_DEVICE, 0, 0); - - if (err_mask) { - if (err_mask & AC_ERR_NODEV_HINT) { - printf("READ_SECTORS NODEV after polling detection\n"); - return -ENOENT; - } - - if ((err_mask == AC_ERR_DEV) && (tf.feature & ATA_ABORTED)) { - /* Device or controller might have reported - * the wrong device class. Give a shot at the - * other IDENTIFY if the current one is - * aborted by the device. - */ - if (may_fallback) { - may_fallback = 0; - - if (class == ATA_DEV_ATA) { - class = ATA_DEV_ATAPI; - } else { - class = ATA_DEV_ATA; - } - goto retry; - } - /* Control reaches here iff the device aborted - * both flavors of IDENTIFYs which happens - * sometimes with phantom devices. - */ - printf("both IDENTIFYs aborted, assuming NODEV\n"); - return -ENOENT; - } - - reason = "I/O error"; - goto err_out; - } - - return true; - -err_out: - printf("failed to READ SECTORS (%s, err_mask=0x%x)\n", reason, err_mask); - return false; -} - -#if defined(CONFIG_SATA_DWC) && !defined(CONFIG_LBA48) -#define SATA_MAX_WRITE_BLK 0xFF -#else -#define SATA_MAX_WRITE_BLK 0xFFFF -#endif - -ulong sata_write(int device, ulong blknr, lbaint_t blkcnt, const void *buffer) -{ - ulong start,blks, buf_addr; - unsigned short smallblks; - unsigned long datalen; - unsigned char *pdata; - device &= 0xff; - - - u32 block = 0; - u32 n_block = 0; - - if (dev_state != SATA_READY) - return 0; - - buf_addr = (unsigned long)buffer; - start = blknr; - blks = blkcnt; - do { - pdata = (unsigned char *)buf_addr; - if (blks > SATA_MAX_WRITE_BLK) { - datalen = sata_dev_desc[device].blksz * SATA_MAX_WRITE_BLK; - smallblks = SATA_MAX_WRITE_BLK; - - block = (u32)start; - n_block = (u32)smallblks; - - start += SATA_MAX_WRITE_BLK; - blks -= SATA_MAX_WRITE_BLK; - } else { - datalen = sata_dev_desc[device].blksz * blks; - smallblks = (unsigned short)blks; - - block = (u32)start; - n_block = (u32)smallblks; - - start += blks; - blks = 0; - } - - if (ata_dev_write_sectors(pdata, datalen, block, n_block) != true) { - printf("sata_dwc : Hard disk read error.\n"); - blkcnt -= blks; - break; - } - buf_addr += datalen; - } while (blks != 0); - - return (blkcnt); -} - -static int ata_dev_write_sectors(unsigned char* pdata, unsigned long datalen, - u32 block, u32 n_block) -{ - struct ata_port *ap = pap; - struct ata_device *dev = &ata_device; - struct ata_taskfile tf; - unsigned int class = ATA_DEV_ATA; - unsigned int err_mask = 0; - const char *reason; - int may_fallback = 1; - - if (dev_state == SATA_ERROR) - return false; - - ata_dev_select(ap, dev->devno, 1, 1); - -retry: - memset(&tf, 0, sizeof(tf)); - tf.ctl = ap->ctl; - ap->print_id = 1; - ap->flags &= ~ATA_FLAG_DISABLED; - - ap->pdata = pdata; - - tf.device = ATA_DEVICE_OBS; - - temp_n_block = n_block; - - -#ifdef CONFIG_LBA48 - tf.command = ATA_CMD_PIO_WRITE_EXT; - tf.flags |= ATA_TFLAG_LBA | ATA_TFLAG_LBA48 | ATA_TFLAG_WRITE; - - tf.hob_feature = 31; - tf.feature = 31; - tf.hob_nsect = (n_block >> 8) & 0xff; - tf.nsect = n_block & 0xff; - - tf.hob_lbah = 0x0; - tf.hob_lbam = 0x0; - tf.hob_lbal = (block >> 24) & 0xff; - tf.lbah = (block >> 16) & 0xff; - tf.lbam = (block >> 8) & 0xff; - tf.lbal = block & 0xff; - - tf.device = 1 << 6; - if (tf.flags & ATA_TFLAG_FUA) - tf.device |= 1 << 7; -#else - tf.command = ATA_CMD_PIO_WRITE; - tf.flags |= ATA_TFLAG_LBA | ATA_TFLAG_WRITE; - - tf.feature = 31; - tf.nsect = n_block & 0xff; - - tf.lbah = (block >> 16) & 0xff; - tf.lbam = (block >> 8) & 0xff; - tf.lbal = block & 0xff; - - tf.device = (block >> 24) & 0xf; - - tf.device |= 1 << 6; - if (tf.flags & ATA_TFLAG_FUA) - tf.device |= 1 << 7; - -#endif - - tf.protocol = ATA_PROT_PIO; - - /* Some devices choke if TF registers contain garbage. Make - * sure those are properly initialized. - */ - tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; - tf.flags |= ATA_TFLAG_POLLING; - - err_mask = ata_exec_internal(dev, &tf, NULL, DMA_FROM_DEVICE, 0, 0); - - if (err_mask) { - if (err_mask & AC_ERR_NODEV_HINT) { - printf("READ_SECTORS NODEV after polling detection\n"); - return -ENOENT; - } - - if ((err_mask == AC_ERR_DEV) && (tf.feature & ATA_ABORTED)) { - /* Device or controller might have reported - * the wrong device class. Give a shot at the - * other IDENTIFY if the current one is - * aborted by the device. - */ - if (may_fallback) { - may_fallback = 0; - - if (class == ATA_DEV_ATA) { - class = ATA_DEV_ATAPI; - } else { - class = ATA_DEV_ATA; - } - goto retry; - } - /* Control reaches here iff the device aborted - * both flavors of IDENTIFYs which happens - * sometimes with phantom devices. - */ - printf("both IDENTIFYs aborted, assuming NODEV\n"); - return -ENOENT; - } - - reason = "I/O error"; - goto err_out; - } - - return true; - -err_out: - printf("failed to WRITE SECTORS (%s, err_mask=0x%x)\n", reason, err_mask); - return false; -} diff --git drivers/ata/sata_dwc.h drivers/ata/sata_dwc.h deleted file mode 100644 index 17fb20cf43..0000000000 --- drivers/ata/sata_dwc.h +++ /dev/null @@ -1,458 +0,0 @@ -/* - * sata_dwc.h - * - * Synopsys DesignWare Cores (DWC) SATA host driver - * - * Author: Mark Miesfeld mmiesfeld@amcc.com - * - * Ported from 2.6.19.2 to 2.6.25/26 by Stefan Roese sr@denx.de - * Copyright 2008 DENX Software Engineering - * - * Based on versions provided by AMCC and Synopsys which are: - * Copyright 2006 Applied Micro Circuits Corporation - * COPYRIGHT (C) 2005 SYNOPSYS, INC. ALL RIGHTS RESERVED - * - * SPDX-License-Identifier: GPL-2.0+ - */ -/* - * SATA support based on the chip canyonlands. - * - * 04-17-2009 - * The local version of this driver for the canyonlands board - * does not use interrupts but polls the chip instead. - */ - - -#ifndef _SATA_DWC_H_ -#define _SATA_DWC_H_ - -#define __U_BOOT__ - -#define HZ 100 -#define READ 0 -#define WRITE 1 - -enum { - ATA_READID_POSTRESET = (1 << 0), - - ATA_DNXFER_PIO = 0, - ATA_DNXFER_DMA = 1, - ATA_DNXFER_40C = 2, - ATA_DNXFER_FORCE_PIO = 3, - ATA_DNXFER_FORCE_PIO0 = 4, - - ATA_DNXFER_QUIET = (1 << 31), -}; - -enum hsm_task_states { - HSM_ST_IDLE, - HSM_ST_FIRST, - HSM_ST, - HSM_ST_LAST, - HSM_ST_ERR, -}; - -#define ATA_SHORT_PAUSE ((HZ >> 6) + 1) - -struct ata_queued_cmd { - struct ata_port *ap; - struct ata_device *dev; - - struct ata_taskfile tf; - u8 cdb[ATAPI_CDB_LEN]; - unsigned long flags; - unsigned int tag; - unsigned int n_elem; - - int dma_dir; - unsigned int sect_size; - - unsigned int nbytes; - unsigned int extrabytes; - unsigned int curbytes; - - unsigned int err_mask; - struct ata_taskfile result_tf; - - void *private_data; -#ifndef __U_BOOT__ - void *lldd_task; -#endif - unsigned char *pdata; -}; - -typedef void (*ata_qc_cb_t) (struct ata_queued_cmd *qc); - -#define ATA_TAG_POISON 0xfafbfcfdU - -enum { - LIBATA_MAX_PRD = ATA_MAX_PRD / 2, - LIBATA_DUMB_MAX_PRD = ATA_MAX_PRD / 4, - ATA_MAX_PORTS = 8, - ATA_DEF_QUEUE = 1, - ATA_MAX_QUEUE = 32, - ATA_TAG_INTERNAL = ATA_MAX_QUEUE - 1, - ATA_MAX_BUS = 2, - ATA_DEF_BUSY_WAIT = 10000, - - ATAPI_MAX_DRAIN = 16 << 10, - - ATA_SHT_EMULATED = 1, - ATA_SHT_CMD_PER_LUN = 1, - ATA_SHT_THIS_ID = -1, - ATA_SHT_USE_CLUSTERING = 1, - - ATA_DFLAG_LBA = (1 << 0), - ATA_DFLAG_LBA48 = (1 << 1), - ATA_DFLAG_CDB_INTR = (1 << 2), - ATA_DFLAG_NCQ = (1 << 3), - ATA_DFLAG_FLUSH_EXT = (1 << 4), - ATA_DFLAG_ACPI_PENDING = (1 << 5), - ATA_DFLAG_ACPI_FAILED = (1 << 6), - ATA_DFLAG_AN = (1 << 7), - ATA_DFLAG_HIPM = (1 << 8), - ATA_DFLAG_DIPM = (1 << 9), - ATA_DFLAG_DMADIR = (1 << 10), - ATA_DFLAG_CFG_MASK = (1 << 12) - 1, - - ATA_DFLAG_PIO = (1 << 12), - ATA_DFLAG_NCQ_OFF = (1 << 13), - ATA_DFLAG_SPUNDOWN = (1 << 14), - ATA_DFLAG_SLEEPING = (1 << 15), - ATA_DFLAG_DUBIOUS_XFER = (1 << 16), - ATA_DFLAG_INIT_MASK = (1 << 24) - 1, - - ATA_DFLAG_DETACH = (1 << 24), - ATA_DFLAG_DETACHED = (1 << 25), - - ATA_LFLAG_HRST_TO_RESUME = (1 << 0), - ATA_LFLAG_SKIP_D2H_BSY = (1 << 1), - ATA_LFLAG_NO_SRST = (1 << 2), - ATA_LFLAG_ASSUME_ATA = (1 << 3), - ATA_LFLAG_ASSUME_SEMB = (1 << 4), - ATA_LFLAG_ASSUME_CLASS = ATA_LFLAG_ASSUME_ATA | ATA_LFLAG_ASSUME_SEMB, - ATA_LFLAG_NO_RETRY = (1 << 5), - ATA_LFLAG_DISABLED = (1 << 6), - - ATA_FLAG_SLAVE_POSS = (1 << 0), - ATA_FLAG_SATA = (1 << 1), - ATA_FLAG_NO_LEGACY = (1 << 2), - ATA_FLAG_MMIO = (1 << 3), - ATA_FLAG_SRST = (1 << 4), - ATA_FLAG_SATA_RESET = (1 << 5), - ATA_FLAG_NO_ATAPI = (1 << 6), - ATA_FLAG_PIO_DMA = (1 << 7), - ATA_FLAG_PIO_LBA48 = (1 << 8), - ATA_FLAG_PIO_POLLING = (1 << 9), - ATA_FLAG_NCQ = (1 << 10), - ATA_FLAG_DEBUGMSG = (1 << 13), - ATA_FLAG_IGN_SIMPLEX = (1 << 15), - ATA_FLAG_NO_IORDY = (1 << 16), - ATA_FLAG_ACPI_SATA = (1 << 17), - ATA_FLAG_AN = (1 << 18), - ATA_FLAG_PMP = (1 << 19), - ATA_FLAG_IPM = (1 << 20), - - ATA_FLAG_DISABLED = (1 << 23), - - ATA_PFLAG_EH_PENDING = (1 << 0), - ATA_PFLAG_EH_IN_PROGRESS = (1 << 1), - ATA_PFLAG_FROZEN = (1 << 2), - ATA_PFLAG_RECOVERED = (1 << 3), - ATA_PFLAG_LOADING = (1 << 4), - ATA_PFLAG_UNLOADING = (1 << 5), - ATA_PFLAG_SCSI_HOTPLUG = (1 << 6), - ATA_PFLAG_INITIALIZING = (1 << 7), - ATA_PFLAG_RESETTING = (1 << 8), - ATA_PFLAG_SUSPENDED = (1 << 17), - ATA_PFLAG_PM_PENDING = (1 << 18), - - ATA_QCFLAG_ACTIVE = (1 << 0), - ATA_QCFLAG_DMAMAP = (1 << 1), - ATA_QCFLAG_IO = (1 << 3), - ATA_QCFLAG_RESULT_TF = (1 << 4), - ATA_QCFLAG_CLEAR_EXCL = (1 << 5), - ATA_QCFLAG_QUIET = (1 << 6), - - ATA_QCFLAG_FAILED = (1 << 16), - ATA_QCFLAG_SENSE_VALID = (1 << 17), - ATA_QCFLAG_EH_SCHEDULED = (1 << 18), - - ATA_HOST_SIMPLEX = (1 << 0), - ATA_HOST_STARTED = (1 << 1), - - ATA_TMOUT_BOOT = 30 * 100, - ATA_TMOUT_BOOT_QUICK = 7 * 100, - ATA_TMOUT_INTERNAL = 30 * 100, - ATA_TMOUT_INTERNAL_QUICK = 5 * 100, - - /* FIXME: GoVault needs 2s but we can't afford that without - * parallel probing. 800ms is enough for iVDR disk - * HHD424020F7SV00. Increase to 2secs when parallel probing - * is in place. - */ - ATA_TMOUT_FF_WAIT = 4 * 100 / 5, - - BUS_UNKNOWN = 0, - BUS_DMA = 1, - BUS_IDLE = 2, - BUS_NOINTR = 3, - BUS_NODATA = 4, - BUS_TIMER = 5, - BUS_PIO = 6, - BUS_EDD = 7, - BUS_IDENTIFY = 8, - BUS_PACKET = 9, - - PORT_UNKNOWN = 0, - PORT_ENABLED = 1, - PORT_DISABLED = 2, - - /* encoding various smaller bitmaps into a single - * unsigned long bitmap - */ - ATA_NR_PIO_MODES = 7, - ATA_NR_MWDMA_MODES = 5, - ATA_NR_UDMA_MODES = 8, - - ATA_SHIFT_PIO = 0, - ATA_SHIFT_MWDMA = ATA_SHIFT_PIO + ATA_NR_PIO_MODES, - ATA_SHIFT_UDMA = ATA_SHIFT_MWDMA + ATA_NR_MWDMA_MODES, - - ATA_DMA_PAD_SZ = 4, - - ATA_ERING_SIZE = 32, - - ATA_DEFER_LINK = 1, - ATA_DEFER_PORT = 2, - - ATA_EH_DESC_LEN = 80, - - ATA_EH_REVALIDATE = (1 << 0), - ATA_EH_SOFTRESET = (1 << 1), - ATA_EH_HARDRESET = (1 << 2), - ATA_EH_ENABLE_LINK = (1 << 3), - ATA_EH_LPM = (1 << 4), - - ATA_EH_RESET_MASK = ATA_EH_SOFTRESET | ATA_EH_HARDRESET, - ATA_EH_PERDEV_MASK = ATA_EH_REVALIDATE, - - ATA_EHI_HOTPLUGGED = (1 << 0), - ATA_EHI_RESUME_LINK = (1 << 1), - ATA_EHI_NO_AUTOPSY = (1 << 2), - ATA_EHI_QUIET = (1 << 3), - - ATA_EHI_DID_SOFTRESET = (1 << 16), - ATA_EHI_DID_HARDRESET = (1 << 17), - ATA_EHI_PRINTINFO = (1 << 18), - ATA_EHI_SETMODE = (1 << 19), - ATA_EHI_POST_SETMODE = (1 << 20), - - ATA_EHI_DID_RESET = ATA_EHI_DID_SOFTRESET | ATA_EHI_DID_HARDRESET, - ATA_EHI_RESET_MODIFIER_MASK = ATA_EHI_RESUME_LINK, - - ATA_EH_MAX_TRIES = 5, - - ATA_PROBE_MAX_TRIES = 3, - ATA_EH_DEV_TRIES = 3, - ATA_EH_PMP_TRIES = 5, - ATA_EH_PMP_LINK_TRIES = 3, - - SATA_PMP_SCR_TIMEOUT = 250, - - /* Horkage types. May be set by libata or controller on drives - (some horkage may be drive/controller pair dependant */ - - ATA_HORKAGE_DIAGNOSTIC = (1 << 0), - ATA_HORKAGE_NODMA = (1 << 1), - ATA_HORKAGE_NONCQ = (1 << 2), - ATA_HORKAGE_MAX_SEC_128 = (1 << 3), - ATA_HORKAGE_BROKEN_HPA = (1 << 4), - ATA_HORKAGE_SKIP_PM = (1 << 5), - ATA_HORKAGE_HPA_SIZE = (1 << 6), - ATA_HORKAGE_IPM = (1 << 7), - ATA_HORKAGE_IVB = (1 << 8), - ATA_HORKAGE_STUCK_ERR = (1 << 9), - - ATA_DMA_MASK_ATA = (1 << 0), - ATA_DMA_MASK_ATAPI = (1 << 1), - ATA_DMA_MASK_CFA = (1 << 2), - - ATAPI_READ = 0, - ATAPI_WRITE = 1, - ATAPI_READ_CD = 2, - ATAPI_PASS_THRU = 3, - ATAPI_MISC = 4, -}; - -enum ata_completion_errors { - AC_ERR_DEV = (1 << 0), - AC_ERR_HSM = (1 << 1), - AC_ERR_TIMEOUT = (1 << 2), - AC_ERR_MEDIA = (1 << 3), - AC_ERR_ATA_BUS = (1 << 4), - AC_ERR_HOST_BUS = (1 << 5), - AC_ERR_SYSTEM = (1 << 6), - AC_ERR_INVALID = (1 << 7), - AC_ERR_OTHER = (1 << 8), - AC_ERR_NODEV_HINT = (1 << 9), - AC_ERR_NCQ = (1 << 10), -}; - -enum ata_xfer_mask { - ATA_MASK_PIO = ((1LU << ATA_NR_PIO_MODES) - 1) << ATA_SHIFT_PIO, - ATA_MASK_MWDMA = ((1LU << ATA_NR_MWDMA_MODES) - 1) << ATA_SHIFT_MWDMA, - ATA_MASK_UDMA = ((1LU << ATA_NR_UDMA_MODES) - 1) << ATA_SHIFT_UDMA, -}; - -struct ata_port_info { -#ifndef __U_BOOT__ - struct scsi_host_template *sht; -#endif - unsigned long flags; - unsigned long link_flags; - unsigned long pio_mask; - unsigned long mwdma_mask; - unsigned long udma_mask; -#ifndef __U_BOOT__ - const struct ata_port_operations *port_ops; - void *private_data; -#endif -}; - -struct ata_ioports { - void __iomem *cmd_addr; - void __iomem *data_addr; - void __iomem *error_addr; - void __iomem *feature_addr; - void __iomem *nsect_addr; - void __iomem *lbal_addr; - void __iomem *lbam_addr; - void __iomem *lbah_addr; - void __iomem *device_addr; - void __iomem *status_addr; - void __iomem *command_addr; - void __iomem *altstatus_addr; - void __iomem *ctl_addr; -#ifndef __U_BOOT__ - void __iomem *bmdma_addr; -#endif - void __iomem *scr_addr; -}; - -struct ata_host { -#ifndef __U_BOOT__ - void __iomem * const *iomap; - void *private_data; - const struct ata_port_operations *ops; - unsigned long flags; - struct ata_port *simplex_claimed; -#endif - unsigned int n_ports; - struct ata_port *ports[0]; -}; - -#ifndef __U_BOOT__ -struct ata_port_stats { - unsigned long unhandled_irq; - unsigned long idle_irq; - unsigned long rw_reqbuf; -}; -#endif - -struct ata_device { - struct ata_link *link; - unsigned int devno; - unsigned long flags; - unsigned int horkage; -#ifndef __U_BOOT__ - struct scsi_device *sdev; -#ifdef CONFIG_ATA_ACPI - acpi_handle acpi_handle; - union acpi_object *gtf_cache; -#endif -#endif - u64 n_sectors; - unsigned int class; - - union { - u16 id[ATA_ID_WORDS]; - u32 gscr[SATA_PMP_GSCR_DWORDS]; - }; -#ifndef __U_BOOT__ - u8 pio_mode; - u8 dma_mode; - u8 xfer_mode; - unsigned int xfer_shift; -#endif - unsigned int multi_count; - unsigned int max_sectors; - unsigned int cdb_len; -#ifndef __U_BOOT__ - unsigned long pio_mask; - unsigned long mwdma_mask; -#endif - unsigned long udma_mask; - u16 cylinders; - u16 heads; - u16 sectors; -#ifndef __U_BOOT__ - int spdn_cnt; -#endif -}; - -struct ata_link { - struct ata_port *ap; - int pmp; - unsigned int active_tag; - u32 sactive; - unsigned int flags; - unsigned int hw_sata_spd_limit; -#ifndef __U_BOOT__ - unsigned int sata_spd_limit; - unsigned int sata_spd; - struct ata_device device[2]; -#endif -}; - -struct ata_port { - unsigned long flags; - unsigned int pflags; - unsigned int print_id; - unsigned int port_no; - - struct ata_ioports ioaddr; - - u8 ctl; - u8 last_ctl; - unsigned int pio_mask; - unsigned int mwdma_mask; - unsigned int udma_mask; - unsigned int cbl; - - struct ata_queued_cmd qcmd[ATA_MAX_QUEUE]; - unsigned long qc_allocated; - unsigned int qc_active; - int nr_active_links; - - struct ata_link link; -#ifndef __U_BOOT__ - int nr_pmp_links; - struct ata_link *pmp_link; -#endif - struct ata_link *excl_link; - int nr_pmp_links; -#ifndef __U_BOOT__ - struct ata_port_stats stats; - struct device *dev; - u32 msg_enable; -#endif - struct ata_host *host; - void *port_task_data; - - unsigned int hsm_task_state; - void *private_data; - unsigned char *pdata; -}; - -#endif

On Fri, Dec 08, 2017 at 03:36:12PM +0200, Tuomas Tynkkynen wrote:
The last user of this driver went away in June 2017, in commit: 98f705c9ce ("powerpc: remove 4xx support")
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi
Applied to u-boot/master, thanks!

The last user of this driver went away in August 2015 in commit: b6073fd2115 ("arm: Remove mx51_efikamx, mx51_efikasb boards")
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi --- drivers/ata/Makefile | 1 - drivers/ata/mxc_ata.c | 129 -------------------------------------------------- 2 files changed, 130 deletions(-) delete mode 100644 drivers/ata/mxc_ata.c
diff --git drivers/ata/Makefile drivers/ata/Makefile index 7a4c8c6bf2..a94c804e7a 100644 --- drivers/ata/Makefile +++ drivers/ata/Makefile @@ -13,7 +13,6 @@ obj-$(CONFIG_DWC_AHSATA) += dwc_ahsata.o obj-$(CONFIG_FSL_SATA) += fsl_sata.o obj-$(CONFIG_LIBATA) += libata.o obj-$(CONFIG_MVSATA_IDE) += mvsata_ide.o -obj-$(CONFIG_MX51_PATA) += mxc_ata.o obj-$(CONFIG_SATA) += sata.o obj-$(CONFIG_SATA_CEVA) += sata_ceva.o obj-$(CONFIG_SATA_MV) += sata_mv.o diff --git drivers/ata/mxc_ata.c drivers/ata/mxc_ata.c deleted file mode 100644 index 44bb406f4d..0000000000 --- drivers/ata/mxc_ata.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Freescale iMX51 ATA driver - * - * Copyright (C) 2010 Marek Vasut marek.vasut@gmail.com - * - * Based on code by: - * Mahesh Mahadevan mahesh.mahadevan@freescale.com - * - * Based on code from original FSL ATA driver, which is - * part of eCos, the Embedded Configurable Operating System. - * Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <common.h> -#include <command.h> -#include <config.h> -#include <asm/byteorder.h> -#include <asm/io.h> -#include <ide.h> - -#include <asm/arch/imx-regs.h> -#include <asm/arch/clock.h> - -/* MXC ATA register offsets */ -struct mxc_ata_config_regs { - u8 time_off; /* 0x00 */ - u8 time_on; - u8 time_1; - u8 time_2w; - u8 time_2r; - u8 time_ax; - u8 time_pio_rdx; - u8 time_4; - u8 time_9; - u8 time_m; - u8 time_jn; - u8 time_d; - u8 time_k; - u8 time_ack; - u8 time_env; - u8 time_udma_rdx; - u8 time_zah; /* 0x10 */ - u8 time_mlix; - u8 time_dvh; - u8 time_dzfs; - u8 time_dvs; - u8 time_cvh; - u8 time_ss; - u8 time_cyc; - u32 fifo_data_32; /* 0x18 */ - u32 fifo_data_16; - u32 fifo_fill; - u32 ata_control; - u32 interrupt_pending; - u32 interrupt_enable; - u32 interrupt_clear; - u32 fifo_alarm; -}; - -struct mxc_data_hdd_regs { - u32 drive_data; /* 0xa0 */ - u32 drive_features; - u32 drive_sector_count; - u32 drive_sector_num; - u32 drive_cyl_low; - u32 drive_cyl_high; - u32 drive_dev_head; - u32 command; - u32 status; - u32 alt_status; -}; - -/* PIO timing table */ -#define NR_PIO_SPECS 5 -static uint16_t pio_t1[NR_PIO_SPECS] = { 70, 50, 30, 30, 25 }; -static uint16_t pio_t2_8[NR_PIO_SPECS] = { 290, 290, 290, 80, 70 }; -static uint16_t pio_t4[NR_PIO_SPECS] = { 30, 20, 15, 10, 10 }; -static uint16_t pio_t9[NR_PIO_SPECS] = { 20, 15, 10, 10, 10 }; -static uint16_t pio_tA[NR_PIO_SPECS] = { 50, 50, 50, 50, 50 }; - -#define REG2OFF(reg) ((((uint32_t)reg) & 0x3) * 8) -static void set_ata_bus_timing(unsigned char mode) -{ - uint32_t T = 1000000000 / mxc_get_clock(MXC_IPG_CLK); - - struct mxc_ata_config_regs *ata_regs; - ata_regs = (struct mxc_ata_config_regs *)CONFIG_SYS_ATA_BASE_ADDR; - - if (mode >= NR_PIO_SPECS) - return; - - /* Write TIME_OFF/ON/1/2W */ - writeb(3, &ata_regs->time_off); - writeb(3, &ata_regs->time_on); - writeb((pio_t1[mode] + T) / T, &ata_regs->time_1); - writeb((pio_t2_8[mode] + T) / T, &ata_regs->time_2w); - - /* Write TIME_2R/AX/RDX/4 */ - writeb((pio_t2_8[mode] + T) / T, &ata_regs->time_2r); - writeb((pio_tA[mode] + T) / T + 2, &ata_regs->time_ax); - writeb(1, &ata_regs->time_pio_rdx); - writeb((pio_t4[mode] + T) / T, &ata_regs->time_4); - - /* Write TIME_9 ; the rest of timing registers is irrelevant for PIO */ - writeb((pio_t9[mode] + T) / T, &ata_regs->time_9); -} - -int ide_preinit(void) -{ - struct mxc_ata_config_regs *ata_regs; - ata_regs = (struct mxc_ata_config_regs *)CONFIG_SYS_ATA_BASE_ADDR; - - /* 46.3.3.4 @ FSL iMX51 manual */ - /* FIFO normal op., drive reset */ - writel(0x80, &ata_regs->ata_control); - /* FIFO normal op., drive not reset */ - writel(0xc0, &ata_regs->ata_control); - - /* Configure the PIO timing */ - set_ata_bus_timing(CONFIG_MXC_ATA_PIO_MODE); - - /* 46.3.3.4 @ FSL iMX51 manual */ - /* Drive not reset, IORDY handshake */ - writel(0x41, &ata_regs->ata_control); - - return 0; -}

On Fri, Dec 08, 2017 at 03:36:13PM +0200, Tuomas Tynkkynen wrote:
The last user of this driver went away in August 2015 in commit: b6073fd2115 ("arm: Remove mx51_efikamx, mx51_efikasb boards")
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi
Applied to u-boot/master, thanks!

Use 'imply' here liberally to avoid the combinatorial explosion of defconfig changes in the PowerPC boards.
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi --- arch/powerpc/cpu/mpc85xx/Kconfig | 6 ++++++ drivers/ata/Kconfig | 6 ++++++ include/configs/P4080DS.h | 1 - include/configs/UCP1020.h | 1 - include/configs/p1_p2_rdb_pc.h | 1 - scripts/config_whitelist.txt | 1 - 6 files changed, 12 insertions(+), 4 deletions(-)
diff --git arch/powerpc/cpu/mpc85xx/Kconfig arch/powerpc/cpu/mpc85xx/Kconfig index 92187d371b..1b0e3d3a2f 100644 --- arch/powerpc/cpu/mpc85xx/Kconfig +++ arch/powerpc/cpu/mpc85xx/Kconfig @@ -209,6 +209,7 @@ config TARGET_P1025RDB select ARCH_P1025 imply CMD_EEPROM imply CMD_SATA + imply SATA_SIL
config TARGET_P2020RDB bool "Support P2020RDB-PC" @@ -217,6 +218,7 @@ config TARGET_P2020RDB select ARCH_P2020 imply CMD_EEPROM imply CMD_SATA + imply SATA_SIL
config TARGET_P1_TWR bool "Support p1_twr" @@ -672,6 +674,7 @@ config ARCH_P1020 imply CMD_SATA imply CMD_PCI imply CMD_REGINFO + imply SATA_SIL
config ARCH_P1021 bool @@ -690,6 +693,7 @@ config ARCH_P1021 imply CMD_NAND imply CMD_SATA imply CMD_REGINFO + imply SATA_SIL
config ARCH_P1022 bool @@ -737,6 +741,7 @@ config ARCH_P1024 imply CMD_SATA imply CMD_PCI imply CMD_REGINFO + imply SATA_SIL
config ARCH_P1025 bool @@ -858,6 +863,7 @@ config ARCH_P4080 select FSL_ELBC imply CMD_SATA imply CMD_REGINFO + imply SATA_SIL
config ARCH_P5020 bool diff --git drivers/ata/Kconfig drivers/ata/Kconfig index 803064aaf1..617c80f011 100644 --- drivers/ata/Kconfig +++ drivers/ata/Kconfig @@ -47,4 +47,10 @@ config DWC_AHCI Enable this driver to support Sata devices through Synopsys DWC AHCI module.
+config SATA_SIL + bool "Enable Silicon Image SIL3131 / SIL3132 / SIL3124 SATA driver support" + help + Enable this driver to support the SIL3131, SIL3132 and SIL3124 + SATA controllers. + endmenu diff --git include/configs/P4080DS.h include/configs/P4080DS.h index f192181c08..8b884411ac 100644 --- include/configs/P4080DS.h +++ include/configs/P4080DS.h @@ -12,7 +12,6 @@
#define CONFIG_PCIE3
-#define CONFIG_SATA_SIL #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_LIBATA #define CONFIG_LBA48 diff --git include/configs/UCP1020.h include/configs/UCP1020.h index 902abc48ce..455298751c 100644 --- include/configs/UCP1020.h +++ include/configs/UCP1020.h @@ -118,7 +118,6 @@
#define CONFIG_ENV_OVERWRITE
-#define CONFIG_SATA_SIL #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_LIBATA #define CONFIG_LBA48 diff --git include/configs/p1_p2_rdb_pc.h include/configs/p1_p2_rdb_pc.h index 1b665b2c15..3f073d06cb 100644 --- include/configs/p1_p2_rdb_pc.h +++ include/configs/p1_p2_rdb_pc.h @@ -244,7 +244,6 @@ #define CONFIG_TSEC_ENET /* tsec ethernet support */ #define CONFIG_ENV_OVERWRITE
-#define CONFIG_SATA_SIL #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_LIBATA #define CONFIG_LBA48 diff --git scripts/config_whitelist.txt scripts/config_whitelist.txt index c2fe81e552..416b6e2aa5 100644 --- scripts/config_whitelist.txt +++ scripts/config_whitelist.txt @@ -1905,7 +1905,6 @@ CONFIG_SAR_REG CONFIG_SATA1 CONFIG_SATA2 CONFIG_SATA_MV -CONFIG_SATA_SIL CONFIG_SATA_SIL3114 CONFIG_SATA_ULI5288 CONFIG_SBC8349

On Fri, Dec 08, 2017 at 03:36:14PM +0200, Tuomas Tynkkynen wrote:
Use 'imply' here liberally to avoid the combinatorial explosion of defconfig changes in the PowerPC boards.
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi
Applied to u-boot/master, thanks!

Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi --- configs/MPC8349ITX_LOWBOOT_defconfig | 1 + configs/MPC8349ITX_defconfig | 1 + configs/TWR-P1025_defconfig | 1 + drivers/ata/Kconfig | 5 +++++ include/configs/MPC8349ITX.h | 1 - include/configs/p1_twr.h | 1 - scripts/config_whitelist.txt | 1 - 7 files changed, 8 insertions(+), 3 deletions(-)
diff --git configs/MPC8349ITX_LOWBOOT_defconfig configs/MPC8349ITX_LOWBOOT_defconfig index 0893c4ac02..c95cec698a 100644 --- configs/MPC8349ITX_LOWBOOT_defconfig +++ configs/MPC8349ITX_LOWBOOT_defconfig @@ -23,6 +23,7 @@ CONFIG_CMD_CACHE=y CONFIG_CMD_DATE=y CONFIG_CMD_EXT2=y CONFIG_CMD_FAT=y +CONFIG_SATA_SIL3114=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_PHYLIB=y diff --git configs/MPC8349ITX_defconfig configs/MPC8349ITX_defconfig index 8a8f05544f..4403bc0d62 100644 --- configs/MPC8349ITX_defconfig +++ configs/MPC8349ITX_defconfig @@ -23,6 +23,7 @@ CONFIG_CMD_CACHE=y CONFIG_CMD_DATE=y CONFIG_CMD_EXT2=y CONFIG_CMD_FAT=y +CONFIG_SATA_SIL3114=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_PHYLIB=y diff --git configs/TWR-P1025_defconfig configs/TWR-P1025_defconfig index 5dda2bbdb5..1eedd3c21f 100644 --- configs/TWR-P1025_defconfig +++ configs/TWR-P1025_defconfig @@ -25,6 +25,7 @@ CONFIG_CMD_MTDPARTS=y CONFIG_MTDIDS_DEFAULT="nor0=ec000000.nor" CONFIG_MTDPARTS_DEFAULT="mtdparts=ec000000.nor:256k(vsc7385-firmware),256k(dtb),5632k(kernel),57856k(fs),256k(qe-ucode-firmware),1280k(u-boot)" CONFIG_ENV_IS_IN_FLASH=y +CONFIG_SATA_SIL3114=y CONFIG_MTD_NOR_FLASH=y CONFIG_PHYLIB=y CONFIG_NETDEVICES=y diff --git drivers/ata/Kconfig drivers/ata/Kconfig index 617c80f011..77e0fbb217 100644 --- drivers/ata/Kconfig +++ drivers/ata/Kconfig @@ -53,4 +53,9 @@ config SATA_SIL Enable this driver to support the SIL3131, SIL3132 and SIL3124 SATA controllers.
+config SATA_SIL3114 + bool "Enable Silicon Image SIL3114 SATA driver support" + help + Enable this driver to support the SIL3114 SATA controllers. + endmenu diff --git include/configs/MPC8349ITX.h include/configs/MPC8349ITX.h index d06d4a2817..23fe158f74 100644 --- include/configs/MPC8349ITX.h +++ include/configs/MPC8349ITX.h @@ -67,7 +67,6 @@ /* The CF card interface on the back of the board */ #define CONFIG_COMPACT_FLASH #define CONFIG_VSC7385_ENET /* VSC7385 ethernet support */ -#define CONFIG_SATA_SIL3114 /* SIL3114 SATA controller */ #define CONFIG_SYS_USB_HOST /* use the EHCI USB controller */ #endif
diff --git include/configs/p1_twr.h include/configs/p1_twr.h index e9692048d1..5edf07197f 100644 --- include/configs/p1_twr.h +++ include/configs/p1_twr.h @@ -50,7 +50,6 @@ #define CONFIG_TSEC_ENET /* tsec ethernet support */ #define CONFIG_ENV_OVERWRITE
-#define CONFIG_SATA_SIL3114 #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_LIBATA #define CONFIG_LBA48 diff --git scripts/config_whitelist.txt scripts/config_whitelist.txt index 416b6e2aa5..625f610a16 100644 --- scripts/config_whitelist.txt +++ scripts/config_whitelist.txt @@ -1905,7 +1905,6 @@ CONFIG_SAR_REG CONFIG_SATA1 CONFIG_SATA2 CONFIG_SATA_MV -CONFIG_SATA_SIL3114 CONFIG_SATA_ULI5288 CONFIG_SBC8349 CONFIG_SBC8548

On Fri, Dec 08, 2017 at 03:36:15PM +0200, Tuomas Tynkkynen wrote:
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi
Applied to u-boot/master, thanks!

Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi --- configs/db-mv784mp-gp_defconfig | 1 + configs/theadorable_debug_defconfig | 1 + drivers/ata/Kconfig | 6 ++++++ include/configs/db-mv784mp-gp.h | 1 - include/configs/theadorable.h | 1 - scripts/config_whitelist.txt | 1 - 6 files changed, 8 insertions(+), 3 deletions(-)
diff --git configs/db-mv784mp-gp_defconfig configs/db-mv784mp-gp_defconfig index 23eaa123a2..6724af04bc 100644 --- configs/db-mv784mp-gp_defconfig +++ configs/db-mv784mp-gp_defconfig @@ -37,6 +37,7 @@ CONFIG_EFI_PARTITION=y # CONFIG_PARTITION_UUIDS is not set # CONFIG_SPL_PARTITION_UUIDS is not set CONFIG_SPL_OF_TRANSLATE=y +CONFIG_SATA_MV=y # CONFIG_MMC is not set CONFIG_NAND=y CONFIG_NAND_PXA3XX=y diff --git configs/theadorable_debug_defconfig configs/theadorable_debug_defconfig index 863d6ce3d0..f602c839c3 100644 --- configs/theadorable_debug_defconfig +++ configs/theadorable_debug_defconfig @@ -42,6 +42,7 @@ CONFIG_EFI_PARTITION=y # CONFIG_SPL_PARTITION_UUIDS is not set CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SPL_OF_TRANSLATE=y +CONFIG_SATA_MV=y CONFIG_FPGA_ALTERA=y CONFIG_DM_GPIO=y # CONFIG_MMC is not set diff --git drivers/ata/Kconfig drivers/ata/Kconfig index 77e0fbb217..8dfa4670cc 100644 --- drivers/ata/Kconfig +++ drivers/ata/Kconfig @@ -47,6 +47,12 @@ config DWC_AHCI Enable this driver to support Sata devices through Synopsys DWC AHCI module.
+config SATA_MV + bool "Enable Marvell SATA controller driver support" + help + Enable this driver to support the SATA controller found in + some Marvell SoCs. + config SATA_SIL bool "Enable Silicon Image SIL3131 / SIL3132 / SIL3124 SATA driver support" help diff --git include/configs/db-mv784mp-gp.h include/configs/db-mv784mp-gp.h index 4a5be6188f..105578ffc6 100644 --- include/configs/db-mv784mp-gp.h +++ include/configs/db-mv784mp-gp.h @@ -49,7 +49,6 @@
/* SATA support */ #define CONFIG_SYS_SATA_MAX_DEVICE 2 -#define CONFIG_SATA_MV #define CONFIG_LIBATA #define CONFIG_LBA48
diff --git include/configs/theadorable.h include/configs/theadorable.h index a7001e76aa..774324f28b 100644 --- include/configs/theadorable.h +++ include/configs/theadorable.h @@ -65,7 +65,6 @@
/* SATA support */ #define CONFIG_SYS_SATA_MAX_DEVICE 1 -#define CONFIG_SATA_MV #define CONFIG_LIBATA #define CONFIG_LBA48
diff --git scripts/config_whitelist.txt scripts/config_whitelist.txt index 625f610a16..955369abde 100644 --- scripts/config_whitelist.txt +++ scripts/config_whitelist.txt @@ -1904,7 +1904,6 @@ CONFIG_SAR2_REG CONFIG_SAR_REG CONFIG_SATA1 CONFIG_SATA2 -CONFIG_SATA_MV CONFIG_SATA_ULI5288 CONFIG_SBC8349 CONFIG_SBC8548

On Fri, Dec 08, 2017 at 03:36:16PM +0200, Tuomas Tynkkynen wrote:
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi
Applied to u-boot/master, thanks!

Use 'imply' here liberally to avoid the combinatorial explosion of defconfig changes in the PowerPC boards.
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi --- arch/powerpc/cpu/mpc83xx/Kconfig | 1 + arch/powerpc/cpu/mpc85xx/Kconfig | 13 +++++++++++++ configs/MPC8315ERDB_defconfig | 1 + configs/MPC837XERDB_defconfig | 1 + configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig | 1 + configs/controlcenterd_36BIT_SDCARD_defconfig | 1 + drivers/ata/Kconfig | 6 ++++++ include/configs/MPC8315ERDB.h | 1 - include/configs/MPC837XEMDS.h | 1 - include/configs/MPC837XERDB.h | 1 - include/configs/MPC8536DS.h | 1 - include/configs/P1010RDB.h | 1 - include/configs/P1022DS.h | 1 - include/configs/P2041RDB.h | 1 - include/configs/T102xQDS.h | 1 - include/configs/T1040QDS.h | 1 - include/configs/T104xRDB.h | 1 - include/configs/T208xQDS.h | 1 - include/configs/T208xRDB.h | 1 - include/configs/T4240QDS.h | 1 - include/configs/T4240RDB.h | 2 -- include/configs/controlcenterd.h | 1 - include/configs/corenet_ds.h | 1 - include/configs/cyrus.h | 1 - include/configs/t4qds.h | 1 - scripts/config_whitelist.txt | 1 - 26 files changed, 24 insertions(+), 20 deletions(-)
diff --git arch/powerpc/cpu/mpc83xx/Kconfig arch/powerpc/cpu/mpc83xx/Kconfig index a3779734c1..05d29d2fd9 100644 --- arch/powerpc/cpu/mpc83xx/Kconfig +++ arch/powerpc/cpu/mpc83xx/Kconfig @@ -55,6 +55,7 @@ config TARGET_MPC837XEMDS bool "Support MPC837XEMDS" select BOARD_EARLY_INIT_F imply CMD_SATA + imply FSL_SATA
config TARGET_MPC837XERDB bool "Support MPC837XERDB" diff --git arch/powerpc/cpu/mpc85xx/Kconfig arch/powerpc/cpu/mpc85xx/Kconfig index 1b0e3d3a2f..5df8175f1e 100644 --- arch/powerpc/cpu/mpc85xx/Kconfig +++ arch/powerpc/cpu/mpc85xx/Kconfig @@ -92,6 +92,7 @@ config TARGET_MPC8536DS # Use DDR3 controller with DDR2 DIMMs on this board select SYS_FSL_DDRC_GEN3 imply CMD_SATA + imply FSL_SATA
config TARGET_MPC8541CDS bool "Support MPC8541CDS" @@ -148,6 +149,7 @@ config TARGET_P1022DS select SUPPORT_SPL select SUPPORT_TPL imply CMD_SATA + imply FSL_SATA
config TARGET_P1023RDB bool "Support P1023RDB" @@ -230,6 +232,7 @@ config TARGET_P2041RDB select BOARD_LATE_INIT if CHAIN_OF_TRUST select PHYS_64BIT imply CMD_SATA + imply FSL_SATA
config TARGET_QEMU_PPCE500 bool "Support qemu-ppce500" @@ -244,6 +247,7 @@ config TARGET_T1024QDS select PHYS_64BIT imply CMD_EEPROM imply CMD_SATA + imply FSL_SATA
config TARGET_T1023RDB bool "Support T1023RDB" @@ -642,6 +646,7 @@ config ARCH_P1010 imply CMD_SATA imply CMD_PCI imply CMD_REGINFO + imply FSL_SATA
config ARCH_P1011 bool @@ -826,6 +831,7 @@ config ARCH_P3041 imply CMD_NAND imply CMD_SATA imply CMD_REGINFO + imply FSL_SATA
config ARCH_P4080 bool @@ -887,6 +893,7 @@ config ARCH_P5020 select FSL_ELBC imply CMD_SATA imply CMD_REGINFO + imply FSL_SATA
config ARCH_P5040 bool @@ -910,6 +917,7 @@ config ARCH_P5040 select FSL_ELBC imply CMD_SATA imply CMD_REGINFO + imply FSL_SATA
config ARCH_QEMU_E500 bool @@ -976,6 +984,7 @@ config ARCH_T1040 imply CMD_NAND imply CMD_SATA imply CMD_REGINFO + imply FSL_SATA
config ARCH_T1042 bool @@ -998,6 +1007,7 @@ config ARCH_T1042 imply CMD_NAND imply CMD_SATA imply CMD_REGINFO + imply FSL_SATA
config ARCH_T2080 bool @@ -1023,6 +1033,7 @@ config ARCH_T2080 imply CMD_SATA imply CMD_NAND imply CMD_REGINFO + imply FSL_SATA
config ARCH_T2081 bool @@ -1069,6 +1080,7 @@ config ARCH_T4160 imply CMD_SATA imply CMD_NAND imply CMD_REGINFO + imply FSL_SATA
config ARCH_T4240 bool @@ -1096,6 +1108,7 @@ config ARCH_T4240 imply CMD_SATA imply CMD_NAND imply CMD_REGINFO + imply FSL_SATA
config BOOKE bool diff --git configs/MPC8315ERDB_defconfig configs/MPC8315ERDB_defconfig index fc846b26bd..473b9a6d5a 100644 --- configs/MPC8315ERDB_defconfig +++ configs/MPC8315ERDB_defconfig @@ -19,6 +19,7 @@ CONFIG_CMD_EXT2=y CONFIG_CMD_MTDPARTS=y CONFIG_MTDIDS_DEFAULT="nand0=e0600000.flash" CONFIG_MTDPARTS_DEFAULT="mtdparts=e0600000.flash:512k(uboot),128k(env),6m@1m(kernel),-(fs)" +CONFIG_FSL_SATA=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_PHYLIB=y diff --git configs/MPC837XERDB_defconfig configs/MPC837XERDB_defconfig index 14b7a5a8ba..bc54b3ac52 100644 --- configs/MPC837XERDB_defconfig +++ configs/MPC837XERDB_defconfig @@ -17,6 +17,7 @@ CONFIG_CMD_PING=y CONFIG_CMD_DATE=y CONFIG_CMD_EXT2=y CONFIG_CMD_FAT=y +CONFIG_FSL_SATA=y CONFIG_MTD_NOR_FLASH=y CONFIG_PHYLIB=y CONFIG_SYS_NS16550=y diff --git configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig index 48e9f6e920..67fa8e4e87 100644 --- configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig +++ configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig @@ -32,6 +32,7 @@ CONFIG_CMD_EXT2=y CONFIG_CMD_FAT=y CONFIG_ENV_IS_IN_MMC=y CONFIG_DM=y +CONFIG_FSL_SATA=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_PHYLIB=y diff --git configs/controlcenterd_36BIT_SDCARD_defconfig configs/controlcenterd_36BIT_SDCARD_defconfig index 58729b62ad..19a4daa2c2 100644 --- configs/controlcenterd_36BIT_SDCARD_defconfig +++ configs/controlcenterd_36BIT_SDCARD_defconfig @@ -32,6 +32,7 @@ CONFIG_CMD_EXT2=y CONFIG_CMD_FAT=y CONFIG_ENV_IS_IN_MMC=y CONFIG_DM=y +CONFIG_FSL_SATA=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_PHYLIB=y diff --git drivers/ata/Kconfig drivers/ata/Kconfig index 8dfa4670cc..2eab570b35 100644 --- drivers/ata/Kconfig +++ drivers/ata/Kconfig @@ -47,6 +47,12 @@ config DWC_AHCI Enable this driver to support Sata devices through Synopsys DWC AHCI module.
+config FSL_SATA + bool "Enable Freescale SATA controller driver support" + help + Enable this driver to support the SATA controller found in + some Freescale PowerPC SoCs. + config SATA_MV bool "Enable Marvell SATA controller driver support" help diff --git include/configs/MPC8315ERDB.h include/configs/MPC8315ERDB.h index b6715418fc..a23c4ef522 100644 --- include/configs/MPC8315ERDB.h +++ include/configs/MPC8315ERDB.h @@ -396,7 +396,6 @@ * SATA */ #define CONFIG_LIBATA -#define CONFIG_FSL_SATA
#define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 diff --git include/configs/MPC837XEMDS.h include/configs/MPC837XEMDS.h index 264aa90cb3..f0b856c2c8 100644 --- include/configs/MPC837XEMDS.h +++ include/configs/MPC837XEMDS.h @@ -421,7 +421,6 @@ extern int board_pci_host_broken(void); * SATA */ #define CONFIG_LIBATA -#define CONFIG_FSL_SATA
#define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 diff --git include/configs/MPC837XERDB.h include/configs/MPC837XERDB.h index beec38f934..d865c22644 100644 --- include/configs/MPC837XERDB.h +++ include/configs/MPC837XERDB.h @@ -435,7 +435,6 @@ * SATA */ #define CONFIG_LIBATA -#define CONFIG_FSL_SATA
#define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 diff --git include/configs/MPC8536DS.h include/configs/MPC8536DS.h index 3319a6f958..d060e8c235 100644 --- include/configs/MPC8536DS.h +++ include/configs/MPC8536DS.h @@ -509,7 +509,6 @@
/* SATA */ #define CONFIG_LIBATA -#define CONFIG_FSL_SATA
#define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 diff --git include/configs/P1010RDB.h include/configs/P1010RDB.h index cbc15ae4c5..87c8962a9d 100644 --- include/configs/P1010RDB.h +++ include/configs/P1010RDB.h @@ -634,7 +634,6 @@ extern unsigned long get_sdram_size(void); #endif /* CONFIG_TSEC_ENET */
/* SATA */ -#define CONFIG_FSL_SATA #define CONFIG_FSL_SATA_V2 #define CONFIG_LIBATA
diff --git include/configs/P1022DS.h include/configs/P1022DS.h index 4756a7102d..7d4ac61194 100644 --- include/configs/P1022DS.h +++ include/configs/P1022DS.h @@ -483,7 +483,6 @@
/* SATA */ #define CONFIG_LIBATA -#define CONFIG_FSL_SATA #define CONFIG_FSL_SATA_V2
#define CONFIG_SYS_SATA_MAX_DEVICE 2 diff --git include/configs/P2041RDB.h include/configs/P2041RDB.h index 600823798c..9046567baa 100644 --- include/configs/P2041RDB.h +++ include/configs/P2041RDB.h @@ -527,7 +527,6 @@ unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_FSL_SATA_V2
#ifdef CONFIG_FSL_SATA_V2 -#define CONFIG_FSL_SATA #define CONFIG_LIBATA
#define CONFIG_SYS_SATA_MAX_DEVICE 2 diff --git include/configs/T102xQDS.h include/configs/T102xQDS.h index 259e8a01f3..974717fde6 100644 --- include/configs/T102xQDS.h +++ include/configs/T102xQDS.h @@ -616,7 +616,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_FSL_SATA_V2 #ifdef CONFIG_FSL_SATA_V2 #define CONFIG_LIBATA -#define CONFIG_FSL_SATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/T1040QDS.h include/configs/T1040QDS.h index c694e50c2c..ac3d19301a 100644 --- include/configs/T1040QDS.h +++ include/configs/T1040QDS.h @@ -501,7 +501,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_FSL_SATA_V2 #ifdef CONFIG_FSL_SATA_V2 #define CONFIG_LIBATA -#define CONFIG_FSL_SATA
#define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 diff --git include/configs/T104xRDB.h include/configs/T104xRDB.h index 2dbeffdd2a..ebcae95722 100644 --- include/configs/T104xRDB.h +++ include/configs/T104xRDB.h @@ -615,7 +615,6 @@ $(SRCTREE)/board/freescale/t104xrdb/t1042d4_sd_rcw.cfg #define CONFIG_FSL_SATA_V2 #ifdef CONFIG_FSL_SATA_V2 #define CONFIG_LIBATA -#define CONFIG_FSL_SATA
#define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_SATA1 diff --git include/configs/T208xQDS.h include/configs/T208xQDS.h index 41926f76e6..b19a677eb9 100644 --- include/configs/T208xQDS.h +++ include/configs/T208xQDS.h @@ -679,7 +679,6 @@ unsigned long get_board_ddr_clk(void); */ #ifdef CONFIG_FSL_SATA_V2 #define CONFIG_LIBATA -#define CONFIG_FSL_SATA #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/T208xRDB.h include/configs/T208xRDB.h index d2ddb17fce..66ce31bc0c 100644 --- include/configs/T208xRDB.h +++ include/configs/T208xRDB.h @@ -629,7 +629,6 @@ unsigned long get_board_ddr_clk(void); */ #ifdef CONFIG_FSL_SATA_V2 #define CONFIG_LIBATA -#define CONFIG_FSL_SATA #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/T4240QDS.h include/configs/T4240QDS.h index 885dc776eb..e2caa02f67 100644 --- include/configs/T4240QDS.h +++ include/configs/T4240QDS.h @@ -469,7 +469,6 @@ unsigned long get_board_ddr_clk(void); /* SATA */ #ifdef CONFIG_FSL_SATA_V2 #define CONFIG_LIBATA -#define CONFIG_FSL_SATA
#define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 diff --git include/configs/T4240RDB.h include/configs/T4240RDB.h index 625130aafc..70705a7b49 100644 --- include/configs/T4240RDB.h +++ include/configs/T4240RDB.h @@ -241,7 +241,6 @@ /* SATA */ #ifdef CONFIG_FSL_SATA_V2 #define CONFIG_LIBATA -#define CONFIG_FSL_SATA
#define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 @@ -636,7 +635,6 @@ unsigned long get_board_ddr_clk(void); /* SATA */ #ifdef CONFIG_FSL_SATA_V2 #define CONFIG_LIBATA -#define CONFIG_FSL_SATA
#define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 diff --git include/configs/controlcenterd.h include/configs/controlcenterd.h index 37c8be48ac..bb038f14c2 100644 --- include/configs/controlcenterd.h +++ include/configs/controlcenterd.h @@ -248,7 +248,6 @@ #define CONFIG_LIBATA #define CONFIG_LBA48
-#define CONFIG_FSL_SATA #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/corenet_ds.h include/configs/corenet_ds.h index 0dbf149725..b49b826eb4 100644 --- include/configs/corenet_ds.h +++ include/configs/corenet_ds.h @@ -542,7 +542,6 @@ /* SATA */ #ifdef CONFIG_FSL_SATA_V2 #define CONFIG_LIBATA -#define CONFIG_FSL_SATA
#define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 diff --git include/configs/cyrus.h include/configs/cyrus.h index 1b20d85acf..b6597034e2 100644 --- include/configs/cyrus.h +++ include/configs/cyrus.h @@ -377,7 +377,6 @@ /* SATA */ #ifdef CONFIG_FSL_SATA_V2 #define CONFIG_LIBATA -#define CONFIG_FSL_SATA
#define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 diff --git include/configs/t4qds.h include/configs/t4qds.h index 4938f43985..07060e6813 100644 --- include/configs/t4qds.h +++ include/configs/t4qds.h @@ -210,7 +210,6 @@ /* SATA */ #ifdef CONFIG_FSL_SATA_V2 #define CONFIG_LIBATA -#define CONFIG_FSL_SATA
#define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 diff --git scripts/config_whitelist.txt scripts/config_whitelist.txt index 955369abde..db2e6d28f9 100644 --- scripts/config_whitelist.txt +++ scripts/config_whitelist.txt @@ -754,7 +754,6 @@ CONFIG_FSL_PMIC_MODE CONFIG_FSL_QIXIS CONFIG_FSL_QIXIS_CLOCK_MEASUREMENT CONFIG_FSL_QIXIS_V2 -CONFIG_FSL_SATA CONFIG_FSL_SATA_V2 CONFIG_FSL_SDHC_V2_3 CONFIG_FSL_SDRAM_TYPE

On Fri, Dec 08, 2017 at 03:36:17PM +0200, Tuomas Tynkkynen wrote:
Use 'imply' here liberally to avoid the combinatorial explosion of defconfig changes in the PowerPC boards.
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi
Applied to u-boot/master, thanks!

Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi --- configs/apalis_imx6_defconfig | 1 + configs/apalis_imx6_nospl_com_defconfig | 1 + configs/apalis_imx6_nospl_it_defconfig | 1 + configs/cgtqmx6eval_defconfig | 1 + configs/cm_fx6_defconfig | 1 + configs/dh_imx6_defconfig | 1 + configs/dms-ba16-1g_defconfig | 1 + configs/dms-ba16_defconfig | 1 + configs/gwventana_emmc_defconfig | 1 + configs/gwventana_gw5904_defconfig | 1 + configs/gwventana_nand_defconfig | 1 + configs/m53evk_defconfig | 1 + configs/mx53loco_defconfig | 1 + configs/mx6cuboxi_defconfig | 1 + configs/mx6qsabrelite_defconfig | 1 + configs/nitrogen6q2g_defconfig | 1 + configs/nitrogen6q_defconfig | 1 + configs/novena_defconfig | 1 + configs/ot1200_defconfig | 1 + configs/ot1200_spl_defconfig | 1 + configs/tbs2910_defconfig | 1 + configs/udoo_defconfig | 1 + configs/wandboard_defconfig | 1 + drivers/ata/Kconfig | 6 ++++++ include/configs/advantech_dms-ba16.h | 1 - include/configs/apalis_imx6.h | 1 - include/configs/cgtqmx6eval.h | 1 - include/configs/cm_fx6.h | 1 - include/configs/dh_imx6.h | 1 - include/configs/ge_bx50v3.h | 1 - include/configs/gw_ventana.h | 1 - include/configs/m53evk.h | 1 - include/configs/mx53loco.h | 1 - include/configs/mx6cuboxi.h | 1 - include/configs/nitrogen6x.h | 1 - include/configs/novena.h | 1 - include/configs/ot1200.h | 1 - include/configs/tbs2910.h | 1 - include/configs/udoo.h | 1 - include/configs/wandboard.h | 1 - scripts/config_whitelist.txt | 1 - 41 files changed, 29 insertions(+), 17 deletions(-)
diff --git configs/apalis_imx6_defconfig configs/apalis_imx6_defconfig index 2b1b34d80a..18107e88ff 100644 --- configs/apalis_imx6_defconfig +++ configs/apalis_imx6_defconfig @@ -45,6 +45,7 @@ CONFIG_CMD_EXT4=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_MMC=y +CONFIG_DWC_AHSATA=y CONFIG_PHYLIB=y CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y diff --git configs/apalis_imx6_nospl_com_defconfig configs/apalis_imx6_nospl_com_defconfig index ddf8c8d1e3..c40e14fdf2 100644 --- configs/apalis_imx6_nospl_com_defconfig +++ configs/apalis_imx6_nospl_com_defconfig @@ -34,6 +34,7 @@ CONFIG_CMD_EXT4=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_MMC=y +CONFIG_DWC_AHSATA=y CONFIG_PHYLIB=y CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y diff --git configs/apalis_imx6_nospl_it_defconfig configs/apalis_imx6_nospl_it_defconfig index 6eba47b8ce..5d1243ad92 100644 --- configs/apalis_imx6_nospl_it_defconfig +++ configs/apalis_imx6_nospl_it_defconfig @@ -34,6 +34,7 @@ CONFIG_CMD_EXT4=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_MMC=y +CONFIG_DWC_AHSATA=y CONFIG_PHYLIB=y CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y diff --git configs/cgtqmx6eval_defconfig configs/cgtqmx6eval_defconfig index 47c0b4c622..418e4e2d8c 100644 --- configs/cgtqmx6eval_defconfig +++ configs/cgtqmx6eval_defconfig @@ -45,6 +45,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_DWC_AHSATA=y CONFIG_DFU_MMC=y CONFIG_DFU_SF=y CONFIG_PHYLIB=y diff --git configs/cm_fx6_defconfig configs/cm_fx6_defconfig index 0773aca0d4..8e0746bcf8 100644 --- configs/cm_fx6_defconfig +++ configs/cm_fx6_defconfig @@ -52,6 +52,7 @@ CONFIG_MTDIDS_DEFAULT="nor0=spi0.0" CONFIG_MTDPARTS_DEFAULT="mtdparts=spi0.0:768k(uboot),256k(uboot-environment),-(reserved)" CONFIG_OF_CONTROL=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_DWC_AHSATA=y CONFIG_DM_MMC=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_ATMEL=y diff --git configs/dh_imx6_defconfig configs/dh_imx6_defconfig index 814df1cd27..1fd7c50e31 100644 --- configs/dh_imx6_defconfig +++ configs/dh_imx6_defconfig @@ -40,6 +40,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_DWC_AHSATA=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_PHYLIB=y diff --git configs/dms-ba16-1g_defconfig configs/dms-ba16-1g_defconfig index cbc9e82eed..144a86bcbf 100644 --- configs/dms-ba16-1g_defconfig +++ configs/dms-ba16-1g_defconfig @@ -28,6 +28,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_DWC_AHSATA=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_PHYLIB=y diff --git configs/dms-ba16_defconfig configs/dms-ba16_defconfig index 9be2d6cc52..075e5070f0 100644 --- configs/dms-ba16_defconfig +++ configs/dms-ba16_defconfig @@ -27,6 +27,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_DWC_AHSATA=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_PHYLIB=y diff --git configs/gwventana_emmc_defconfig configs/gwventana_emmc_defconfig index 5379cf3b3b..b35d0914e3 100644 --- configs/gwventana_emmc_defconfig +++ configs/gwventana_emmc_defconfig @@ -53,6 +53,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=nand:16m(uboot),1m(env),-(rootfs)" CONFIG_CMD_UBI=y CONFIG_ENV_IS_IN_MMC=y CONFIG_DM=y +CONFIG_DWC_AHSATA=y CONFIG_PHYLIB=y CONFIG_NETDEVICES=y CONFIG_E1000=y diff --git configs/gwventana_gw5904_defconfig configs/gwventana_gw5904_defconfig index fe364d07ce..6a2c196c9b 100644 --- configs/gwventana_gw5904_defconfig +++ configs/gwventana_gw5904_defconfig @@ -53,6 +53,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=nand:16m(uboot),1m(env),-(rootfs)" CONFIG_CMD_UBI=y CONFIG_ENV_IS_IN_MMC=y CONFIG_DM=y +CONFIG_DWC_AHSATA=y CONFIG_PHYLIB=y CONFIG_MV88E61XX_SWITCH=y CONFIG_MV88E61XX_CPU_PORT=5 diff --git configs/gwventana_nand_defconfig configs/gwventana_nand_defconfig index dd4d73ce9e..be6cf0cbde 100644 --- configs/gwventana_nand_defconfig +++ configs/gwventana_nand_defconfig @@ -56,6 +56,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=nand:16m(uboot),1m(env),-(rootfs)" CONFIG_CMD_UBI=y CONFIG_ENV_IS_IN_NAND=y CONFIG_DM=y +CONFIG_DWC_AHSATA=y CONFIG_PHYLIB=y CONFIG_NETDEVICES=y CONFIG_E1000=y diff --git configs/m53evk_defconfig configs/m53evk_defconfig index 291144d421..845aee4730 100644 --- configs/m53evk_defconfig +++ configs/m53evk_defconfig @@ -39,6 +39,7 @@ CONFIG_MTDIDS_DEFAULT="nand0=mxc_nand" CONFIG_MTDPARTS_DEFAULT="mtdparts=mxc_nand:1024k(u-boot),512k(env1),512k(env2),14m(boot),240m(data),-@2048k(UBI)" CONFIG_CMD_UBI=y CONFIG_ENV_IS_IN_NAND=y +CONFIG_DWC_AHSATA=y CONFIG_NAND=y CONFIG_NAND_MXC=y CONFIG_PHYLIB=y diff --git configs/mx53loco_defconfig configs/mx53loco_defconfig index 3fba84c047..7471b10aa0 100644 --- configs/mx53loco_defconfig +++ configs/mx53loco_defconfig @@ -20,6 +20,7 @@ CONFIG_CMD_EXT2=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_MMC=y +CONFIG_DWC_AHSATA=y CONFIG_USB=y CONFIG_USB_STORAGE=y CONFIG_USB_HOST_ETHER=y diff --git configs/mx6cuboxi_defconfig configs/mx6cuboxi_defconfig index 0a76801219..a69a66f2e4 100644 --- configs/mx6cuboxi_defconfig +++ configs/mx6cuboxi_defconfig @@ -28,6 +28,7 @@ CONFIG_CMD_EXT4_WRITE=y # CONFIG_SPL_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_MMC=y CONFIG_DM=y +CONFIG_DWC_AHSATA=y CONFIG_PHYLIB=y CONFIG_DM_THERMAL=y CONFIG_USB=y diff --git configs/mx6qsabrelite_defconfig configs/mx6qsabrelite_defconfig index 6beb52893c..c52c3923b4 100644 --- configs/mx6qsabrelite_defconfig +++ configs/mx6qsabrelite_defconfig @@ -33,6 +33,7 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_MMC=y CONFIG_DM=y +CONFIG_DWC_AHSATA=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_SST=y CONFIG_PHYLIB=y diff --git configs/nitrogen6q2g_defconfig configs/nitrogen6q2g_defconfig index c25d2bf67b..d0153d4df6 100644 --- configs/nitrogen6q2g_defconfig +++ configs/nitrogen6q2g_defconfig @@ -32,6 +32,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_DWC_AHSATA=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_SST=y CONFIG_PHYLIB=y diff --git configs/nitrogen6q_defconfig configs/nitrogen6q_defconfig index 65d75910b6..bf12cbde80 100644 --- configs/nitrogen6q_defconfig +++ configs/nitrogen6q_defconfig @@ -32,6 +32,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_DWC_AHSATA=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_SST=y CONFIG_PHYLIB=y diff --git configs/novena_defconfig configs/novena_defconfig index 3e1f0d8814..a42ce50a2a 100644 --- configs/novena_defconfig +++ configs/novena_defconfig @@ -36,6 +36,7 @@ CONFIG_CMD_TIME=y CONFIG_CMD_EXT4_WRITE=y # CONFIG_SPL_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_MMC=y +CONFIG_DWC_AHSATA=y CONFIG_PHYLIB=y CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y diff --git configs/ot1200_defconfig configs/ot1200_defconfig index bc37f89f48..0c3258ff1b 100644 --- configs/ot1200_defconfig +++ configs/ot1200_defconfig @@ -24,6 +24,7 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_DM=y +CONFIG_DWC_AHSATA=y CONFIG_CMD_PCA953X=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y diff --git configs/ot1200_spl_defconfig configs/ot1200_spl_defconfig index 518483c5d9..ac96221ebf 100644 --- configs/ot1200_spl_defconfig +++ configs/ot1200_spl_defconfig @@ -32,6 +32,7 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_DM=y +CONFIG_DWC_AHSATA=y CONFIG_CMD_PCA953X=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y diff --git configs/tbs2910_defconfig configs/tbs2910_defconfig index 1152b69c72..5adcd9d986 100644 --- configs/tbs2910_defconfig +++ configs/tbs2910_defconfig @@ -35,6 +35,7 @@ CONFIG_CMD_FS_GENERIC=y CONFIG_EFI_PARTITION=y CONFIG_ENV_IS_IN_MMC=y CONFIG_DM=y +CONFIG_DWC_AHSATA=y CONFIG_PHYLIB=y CONFIG_PCI=y CONFIG_DM_THERMAL=y diff --git configs/udoo_defconfig configs/udoo_defconfig index b92b181d4f..52cfdb009c 100644 --- configs/udoo_defconfig +++ configs/udoo_defconfig @@ -30,6 +30,7 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ENV_IS_IN_MMC=y CONFIG_DM=y +CONFIG_DWC_AHSATA=y CONFIG_PHYLIB=y CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y diff --git configs/wandboard_defconfig configs/wandboard_defconfig index 4b6b9d9aae..3c277772c0 100644 --- configs/wandboard_defconfig +++ configs/wandboard_defconfig @@ -29,6 +29,7 @@ CONFIG_CMD_CACHE=y CONFIG_CMD_EXT4_WRITE=y CONFIG_ENV_IS_IN_MMC=y CONFIG_DM=y +CONFIG_DWC_AHSATA=y CONFIG_PHYLIB=y CONFIG_DM_THERMAL=y CONFIG_USB=y diff --git drivers/ata/Kconfig drivers/ata/Kconfig index 2eab570b35..25ef5cef02 100644 --- drivers/ata/Kconfig +++ drivers/ata/Kconfig @@ -47,6 +47,12 @@ config DWC_AHCI Enable this driver to support Sata devices through Synopsys DWC AHCI module.
+config DWC_AHSATA + bool "Enable DWC AHSATA driver support" + help + Enable this driver to support the DWC AHSATA SATA controller found + in i.MX5 and i.MX6 SoCs. + config FSL_SATA bool "Enable Freescale SATA controller driver support" help diff --git include/configs/advantech_dms-ba16.h include/configs/advantech_dms-ba16.h index 09f470c6b5..34daf14db3 100644 --- include/configs/advantech_dms-ba16.h +++ include/configs/advantech_dms-ba16.h @@ -39,7 +39,6 @@ #define CONFIG_MXC_OCOTP
/* SATA Configs */ -#define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git include/configs/apalis_imx6.h include/configs/apalis_imx6.h index 5a51f3c556..c32c5607d6 100644 --- include/configs/apalis_imx6.h +++ include/configs/apalis_imx6.h @@ -70,7 +70,6 @@ * SATA Configs */ #ifdef CONFIG_CMD_SATA -#define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git include/configs/cgtqmx6eval.h include/configs/cgtqmx6eval.h index 2e8993d7d4..d24d9a45f1 100644 --- include/configs/cgtqmx6eval.h +++ include/configs/cgtqmx6eval.h @@ -81,7 +81,6 @@ #define CONFIG_IMX_HDMI
/* SATA */ -#define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git include/configs/cm_fx6.h include/configs/cm_fx6.h index da3233e965..b6164ca66d 100644 --- include/configs/cm_fx6.h +++ include/configs/cm_fx6.h @@ -211,7 +211,6 @@ #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_LIBATA #define CONFIG_LBA48 -#define CONFIG_DWC_AHSATA #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR
diff --git include/configs/dh_imx6.h include/configs/dh_imx6.h index 11a01d476f..b988a19646 100644 --- include/configs/dh_imx6.h +++ include/configs/dh_imx6.h @@ -84,7 +84,6 @@
/* SATA Configs */ #ifdef CONFIG_CMD_SATA -#define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git include/configs/ge_bx50v3.h include/configs/ge_bx50v3.h index 33f5101c14..a522120de6 100644 --- include/configs/ge_bx50v3.h +++ include/configs/ge_bx50v3.h @@ -51,7 +51,6 @@
/* SATA Configs */ #ifdef CONFIG_CMD_SATA -#define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git include/configs/gw_ventana.h include/configs/gw_ventana.h index 05c88b3ef8..e68ddbcc2a 100644 --- include/configs/gw_ventana.h +++ include/configs/gw_ventana.h @@ -102,7 +102,6 @@ * SATA Configs */ #ifdef CONFIG_CMD_SATA - #define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git include/configs/m53evk.h include/configs/m53evk.h index 29eb59a3cb..c1634e53bf 100644 --- include/configs/m53evk.h +++ include/configs/m53evk.h @@ -141,7 +141,6 @@ * SATA */ #ifdef CONFIG_CMD_SATA -#define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_BASE_ADDR diff --git include/configs/mx53loco.h include/configs/mx53loco.h index e973b35698..0c5e9831ae 100644 --- include/configs/mx53loco.h +++ include/configs/mx53loco.h @@ -182,7 +182,6 @@ #define CONFIG_SYS_MMC_ENV_DEV 0
#ifdef CONFIG_CMD_SATA - #define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_BASE_ADDR diff --git include/configs/mx6cuboxi.h include/configs/mx6cuboxi.h index 6b42b2b3c1..392f9529de 100644 --- include/configs/mx6cuboxi.h +++ include/configs/mx6cuboxi.h @@ -23,7 +23,6 @@
/* SATA Configuration */ #ifdef CONFIG_CMD_SATA -#define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git include/configs/nitrogen6x.h include/configs/nitrogen6x.h index b847906310..faf21cb5ae 100644 --- include/configs/nitrogen6x.h +++ include/configs/nitrogen6x.h @@ -49,7 +49,6 @@ * SATA Configs */ #ifdef CONFIG_CMD_SATA -#define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git include/configs/novena.h include/configs/novena.h index dd0e637062..736ac931e4 100644 --- include/configs/novena.h +++ include/configs/novena.h @@ -108,7 +108,6 @@
/* SATA Configs */ #ifdef CONFIG_CMD_SATA -#define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git include/configs/ot1200.h include/configs/ot1200.h index 55e716a22a..1146838f34 100644 --- include/configs/ot1200.h +++ include/configs/ot1200.h @@ -59,7 +59,6 @@ * SATA Configs */ #ifdef CONFIG_CMD_SATA -#define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git include/configs/tbs2910.h include/configs/tbs2910.h index 849d4a6aec..281809d87a 100644 --- include/configs/tbs2910.h +++ include/configs/tbs2910.h @@ -78,7 +78,6 @@
/* SATA */ #ifdef CONFIG_CMD_SATA -#define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git include/configs/udoo.h include/configs/udoo.h index bcce41db8a..f21ee521cc 100644 --- include/configs/udoo.h +++ include/configs/udoo.h @@ -25,7 +25,6 @@ /* SATA Configs */
#ifdef CONFIG_CMD_SATA -#define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git include/configs/wandboard.h include/configs/wandboard.h index 97d193ba49..2155358561 100644 --- include/configs/wandboard.h +++ include/configs/wandboard.h @@ -26,7 +26,6 @@ /* SATA Configs */
#ifdef CONFIG_CMD_SATA -#define CONFIG_DWC_AHSATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git scripts/config_whitelist.txt scripts/config_whitelist.txt index db2e6d28f9..94b758a4dd 100644 --- scripts/config_whitelist.txt +++ scripts/config_whitelist.txt @@ -492,7 +492,6 @@ CONFIG_DWC2_ULPI_FS_LS CONFIG_DWC2_UTMI_WIDTH CONFIG_DWCDDR21MCTL CONFIG_DWCDDR21MCTL_BASE -CONFIG_DWC_AHSATA CONFIG_DWC_AHSATA_BASE_ADDR CONFIG_DWC_AHSATA_PORT_ID CONFIG_DW_ALTDESCRIPTOR

On Fri, Dec 08, 2017 at 03:36:18PM +0200, Tuomas Tynkkynen wrote:
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi
Applied to u-boot/master, thanks!

And use 'imply' liberally.
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi --- arch/arm/Kconfig | 3 +++ arch/arm/cpu/armv7/ls102xa/Kconfig | 1 + arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 2 ++ arch/arm/include/asm/arch-ls102xa/config.h | 1 - arch/x86/cpu/baytrail/Kconfig | 1 + arch/x86/cpu/braswell/Kconfig | 1 + arch/x86/cpu/broadwell/Kconfig | 1 + arch/x86/cpu/coreboot/Kconfig | 1 + arch/x86/cpu/ivybridge/Kconfig | 1 + arch/x86/cpu/qemu/Kconfig | 1 + arch/x86/cpu/queensbay/Kconfig | 1 + configs/A10-OLinuXino-Lime_defconfig | 1 + configs/A20-OLinuXino-Lime2-eMMC_defconfig | 1 + configs/A20-OLinuXino-Lime2_defconfig | 1 + configs/A20-OLinuXino-Lime_defconfig | 1 + configs/A20-OLinuXino_MICRO-eMMC_defconfig | 1 + configs/A20-OLinuXino_MICRO_defconfig | 1 + configs/A20-Olimex-SOM-EVB_defconfig | 1 + configs/Bananapi_M2_Ultra_defconfig | 1 + configs/Bananapi_defconfig | 1 + configs/Bananapro_defconfig | 1 + configs/Cubieboard2_defconfig | 1 + configs/Cubieboard_defconfig | 1 + configs/Cubietruck_defconfig | 1 + configs/Itead_Ibox_A20_defconfig | 1 + configs/Lamobo_R1_defconfig | 1 + configs/Linksprite_pcDuino3_Nano_defconfig | 1 + configs/Linksprite_pcDuino3_defconfig | 1 + configs/MPC8544DS_defconfig | 1 + configs/MPC8572DS_36BIT_defconfig | 1 + configs/MPC8572DS_defconfig | 1 + configs/MPC8610HPCD_defconfig | 1 + configs/MPC8641HPCN_36BIT_defconfig | 1 + configs/MPC8641HPCN_defconfig | 1 + configs/Marsboard_A10_defconfig | 1 + configs/Mele_A1000_defconfig | 1 + configs/Mele_M5_defconfig | 1 + configs/Orangepi_defconfig | 1 + configs/Orangepi_mini_defconfig | 1 + configs/Wits_Pro_A20_DKT_defconfig | 1 + configs/am57xx_evm_defconfig | 1 + configs/am57xx_hs_evm_defconfig | 1 + configs/bananapi_m1_plus_defconfig | 1 + configs/cl-som-am57x_defconfig | 1 + configs/cm_t54_defconfig | 1 + configs/controlcenterdc_defconfig | 1 + configs/db-88f6820-gp_defconfig | 1 + configs/highbank_defconfig | 1 + configs/ls1012aqds_qspi_defconfig | 1 + configs/ls1088aqds_qspi_defconfig | 1 + configs/ls1088aqds_sdcard_qspi_defconfig | 1 + configs/ls1088ardb_qspi_defconfig | 1 + configs/ls1088ardb_sdcard_qspi_defconfig | 1 + configs/ls2081ardb_defconfig | 1 + configs/mvebu_db-88f3720_defconfig | 1 + configs/mvebu_db_armada8k_defconfig | 1 + configs/mvebu_espressobin-88f3720_defconfig | 1 + configs/mvebu_mcbin-88f8040_defconfig | 1 + configs/omap5_uevm_defconfig | 1 + configs/qemu_arm_defconfig | 1 + configs/turris_omnia_defconfig | 1 + configs/xilinx_zynqmp_ep_defconfig | 1 + configs/xilinx_zynqmp_zcu102_rev1_0_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revA_defconfig | 1 + configs/xilinx_zynqmp_zcu102_revB_defconfig | 1 + drivers/ata/Kconfig | 5 +++++ include/configs/MPC8544DS.h | 1 - include/configs/MPC8572DS.h | 1 - include/configs/MPC8610HPCD.h | 2 -- include/configs/MPC8641HPCN.h | 2 -- include/configs/am57xx_evm.h | 1 - include/configs/cl-som-am57x.h | 1 - include/configs/cm_t54.h | 1 - include/configs/controlcenterdc.h | 1 - include/configs/db-88f6820-gp.h | 1 - include/configs/dra7xx_evm.h | 1 - include/configs/efi-x86.h | 2 -- include/configs/galileo.h | 3 --- include/configs/highbank.h | 1 - include/configs/ls1012aqds.h | 1 - include/configs/ls1012ardb.h | 1 - include/configs/ls1021aiot.h | 1 - include/configs/ls1043aqds.h | 1 - include/configs/ls1043ardb.h | 1 - include/configs/ls1046aqds.h | 1 - include/configs/ls1046ardb.h | 1 - include/configs/ls1088a_common.h | 1 - include/configs/ls2080aqds.h | 1 - include/configs/ls2080ardb.h | 1 - include/configs/mvebu_armada-37xx.h | 1 - include/configs/mvebu_armada-8k.h | 1 - include/configs/omap5_uevm.h | 1 - include/configs/qemu-arm.h | 1 - include/configs/sbc8641d.h | 2 -- include/configs/sunxi-common.h | 1 - include/configs/turris_omnia.h | 1 - include/configs/x86-common.h | 2 -- include/configs/xilinx_zynqmp.h | 1 - scripts/config_whitelist.txt | 1 - 99 files changed, 72 insertions(+), 41 deletions(-)
diff --git arch/arm/Kconfig arch/arm/Kconfig index e50ba930a1..73909952d0 100644 --- arch/arm/Kconfig +++ arch/arm/Kconfig @@ -850,6 +850,7 @@ config TARGET_LS2080AQDS select SUPPORT_SPL select ARCH_MISC_INIT imply SCSI + imply SCSI_AHCI help Support for Freescale LS2080AQDS platform The LS2080A Development System (QDS) is a high-performance @@ -865,6 +866,7 @@ config TARGET_LS2080ARDB select SUPPORT_SPL select ARCH_MISC_INIT imply SCSI + imply SCSI_AHCI help Support for Freescale LS2080ARDB platform. The LS2080A Reference design board (RDB) is a high-performance @@ -926,6 +928,7 @@ config TARGET_LS1012ARDB select ARM64 select BOARD_LATE_INIT imply SCSI + imply SCSI_AHCI help Support for Freescale LS1012ARDB platform. The LS1012A Reference design board (RDB) is a high-performance diff --git arch/arm/cpu/armv7/ls102xa/Kconfig arch/arm/cpu/armv7/ls102xa/Kconfig index 20e2b1a50a..635358e328 100644 --- arch/arm/cpu/armv7/ls102xa/Kconfig +++ arch/arm/cpu/armv7/ls102xa/Kconfig @@ -20,6 +20,7 @@ config ARCH_LS1021A select SYS_FSL_SEC_COMPAT_5 select SYS_FSL_SEC_LE imply SCSI + imply SCSI_AHCI imply CMD_PCI
menu "LS102xA architecture" diff --git arch/arm/cpu/armv8/fsl-layerscape/Kconfig arch/arm/cpu/armv8/fsl-layerscape/Kconfig index 5daf79e919..aea71b4f46 100644 --- arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -31,6 +31,7 @@ config ARCH_LS1043A select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F imply SCSI + imply SCSI_AHCI imply CMD_PCI
config ARCH_LS1046A @@ -57,6 +58,7 @@ config ARCH_LS1046A select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F imply SCSI + imply SCSI_AHCI
config ARCH_LS1088A bool diff --git arch/arm/include/asm/arch-ls102xa/config.h arch/arm/include/asm/arch-ls102xa/config.h index ff0fc47021..2fbd4ef557 100644 --- arch/arm/include/asm/arch-ls102xa/config.h +++ arch/arm/include/asm/arch-ls102xa/config.h @@ -81,7 +81,6 @@ /* SATA */ #define AHCI_BASE_ADDR (CONFIG_SYS_IMMR + 0x02200000) #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 diff --git arch/x86/cpu/baytrail/Kconfig arch/x86/cpu/baytrail/Kconfig index 1d876b1927..f47bedaf8d 100644 --- arch/x86/cpu/baytrail/Kconfig +++ arch/x86/cpu/baytrail/Kconfig @@ -19,6 +19,7 @@ config INTEL_BAYTRAIL imply MMC_SDHCI imply MMC_SDHCI_SDMA imply SCSI + imply SCSI_AHCI imply SPI_FLASH imply SYS_NS16550 imply USB diff --git arch/x86/cpu/braswell/Kconfig arch/x86/cpu/braswell/Kconfig index 31ac279c56..042ad2bf51 100644 --- arch/x86/cpu/braswell/Kconfig +++ arch/x86/cpu/braswell/Kconfig @@ -19,6 +19,7 @@ config INTEL_BRASWELL imply MMC_SDHCI imply MMC_SDHCI_SDMA imply SCSI + imply SCSI_AHCI imply SPI_FLASH imply SYS_NS16550 imply USB diff --git arch/x86/cpu/broadwell/Kconfig arch/x86/cpu/broadwell/Kconfig index bc2dba2bd7..42018dc127 100644 --- arch/x86/cpu/broadwell/Kconfig +++ arch/x86/cpu/broadwell/Kconfig @@ -13,6 +13,7 @@ config INTEL_BROADWELL imply ICH_SPI imply INTEL_BROADWELL_GPIO imply SCSI + imply SCSI_AHCI imply SPI_FLASH imply USB imply USB_EHCI_HCD diff --git arch/x86/cpu/coreboot/Kconfig arch/x86/cpu/coreboot/Kconfig index 60eb45f9d0..fa3b64f2bb 100644 --- arch/x86/cpu/coreboot/Kconfig +++ arch/x86/cpu/coreboot/Kconfig @@ -10,6 +10,7 @@ config SYS_COREBOOT imply MMC_PCI imply MMC_SDHCI imply MMC_SDHCI_SDMA + imply SCSI_AHCI imply SPI_FLASH imply SYS_NS16550 imply USB diff --git arch/x86/cpu/ivybridge/Kconfig arch/x86/cpu/ivybridge/Kconfig index c214ea0efe..85ea6c91f3 100644 --- arch/x86/cpu/ivybridge/Kconfig +++ arch/x86/cpu/ivybridge/Kconfig @@ -14,6 +14,7 @@ config NORTHBRIDGE_INTEL_IVYBRIDGE imply ICH_SPI imply INTEL_ICH6_GPIO imply SCSI + imply SCSI_AHCI imply SPI_FLASH imply USB imply USB_EHCI_HCD diff --git arch/x86/cpu/qemu/Kconfig arch/x86/cpu/qemu/Kconfig index 81444f3d9e..0a801aabea 100644 --- arch/x86/cpu/qemu/Kconfig +++ arch/x86/cpu/qemu/Kconfig @@ -9,6 +9,7 @@ config QEMU select ARCH_EARLY_INIT_R imply AHCI_PCI imply E1000 + imply SCSI_AHCI imply SYS_NS16550 imply USB imply USB_EHCI_HCD diff --git arch/x86/cpu/queensbay/Kconfig arch/x86/cpu/queensbay/Kconfig index 835de85268..460ede00bc 100644 --- arch/x86/cpu/queensbay/Kconfig +++ arch/x86/cpu/queensbay/Kconfig @@ -18,6 +18,7 @@ config INTEL_QUEENSBAY imply MMC_SDHCI_SDMA imply PCH_GBE imply SCSI + imply SCSI_AHCI imply SPI_FLASH imply SYS_NS16550 imply USB diff --git configs/A10-OLinuXino-Lime_defconfig configs/A10-OLinuXino-Lime_defconfig index 30e846cf48..ff1d35bd77 100644 --- configs/A10-OLinuXino-Lime_defconfig +++ configs/A10-OLinuXino-Lime_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_AHCI=y CONFIG_SUN4I_EMAC=y CONFIG_AXP_ALDO3_VOLT=2800 CONFIG_AXP_ALDO4_VOLT=2800 diff --git configs/A20-OLinuXino-Lime2-eMMC_defconfig configs/A20-OLinuXino-Lime2-eMMC_defconfig index cd1fa64ecb..97f2e7d345 100644 --- configs/A20-OLinuXino-Lime2-eMMC_defconfig +++ configs/A20-OLinuXino-Lime2-eMMC_defconfig @@ -21,6 +21,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_AHCI=y CONFIG_DFU_RAM=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y diff --git configs/A20-OLinuXino-Lime2_defconfig configs/A20-OLinuXino-Lime2_defconfig index 4a90ab695a..2916112f14 100644 --- configs/A20-OLinuXino-Lime2_defconfig +++ 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_AHCI=y CONFIG_DFU_RAM=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y diff --git configs/A20-OLinuXino-Lime_defconfig configs/A20-OLinuXino-Lime_defconfig index 08b301a483..4d94548a76 100644 --- configs/A20-OLinuXino-Lime_defconfig +++ configs/A20-OLinuXino-Lime_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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_SUN7I_GMAC=y CONFIG_AXP_ALDO3_VOLT=2800 diff --git configs/A20-OLinuXino_MICRO-eMMC_defconfig configs/A20-OLinuXino_MICRO-eMMC_defconfig index 2ff2723065..586e6abab0 100644 --- configs/A20-OLinuXino_MICRO-eMMC_defconfig +++ configs/A20-OLinuXino_MICRO-eMMC_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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_SUN7I_GMAC=y CONFIG_AXP_ALDO3_VOLT=2800 diff --git configs/A20-OLinuXino_MICRO_defconfig configs/A20-OLinuXino_MICRO_defconfig index 1a0ad5a6d4..4abac45de5 100644 --- configs/A20-OLinuXino_MICRO_defconfig +++ configs/A20-OLinuXino_MICRO_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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_SUN7I_GMAC=y CONFIG_AXP_ALDO3_VOLT=2800 diff --git configs/A20-Olimex-SOM-EVB_defconfig configs/A20-Olimex-SOM-EVB_defconfig index ee9415517f..25ddce514b 100644 --- configs/A20-Olimex-SOM-EVB_defconfig +++ configs/A20-Olimex-SOM-EVB_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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git configs/Bananapi_M2_Ultra_defconfig configs/Bananapi_M2_Ultra_defconfig index 4c2c05c4da..8083510274 100644 --- configs/Bananapi_M2_Ultra_defconfig +++ configs/Bananapi_M2_Ultra_defconfig @@ -13,6 +13,7 @@ CONFIG_SPL=y CONFIG_SPL_I2C_SUPPORT=y # CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set +CONFIG_SCSI_AHCI=y CONFIG_AXP_DLDO4_VOLT=2500 CONFIG_AXP_ELDO3_VOLT=1200 CONFIG_SCSI=y diff --git configs/Bananapi_defconfig configs/Bananapi_defconfig index a5456127e2..5265044809 100644 --- configs/Bananapi_defconfig +++ configs/Bananapi_defconfig @@ -16,6 +16,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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git configs/Bananapro_defconfig configs/Bananapro_defconfig index 5c8e759498..fbf18ae1e1 100644 --- configs/Bananapro_defconfig +++ configs/Bananapro_defconfig @@ -18,6 +18,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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git configs/Cubieboard2_defconfig configs/Cubieboard2_defconfig index ef95ac6a5e..594714ef07 100644 --- configs/Cubieboard2_defconfig +++ configs/Cubieboard2_defconfig @@ -14,6 +14,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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_SUN7I_GMAC=y CONFIG_SCSI=y diff --git configs/Cubieboard_defconfig configs/Cubieboard_defconfig index c670ab851a..8c1c1334e7 100644 --- configs/Cubieboard_defconfig +++ configs/Cubieboard_defconfig @@ -14,6 +14,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_AHCI=y CONFIG_SUN4I_EMAC=y CONFIG_SCSI=y CONFIG_USB_EHCI_HCD=y diff --git configs/Cubietruck_defconfig configs/Cubietruck_defconfig index f9f73fdb23..8da593be6a 100644 --- configs/Cubietruck_defconfig +++ 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_AHCI=y CONFIG_DFU_RAM=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y diff --git configs/Itead_Ibox_A20_defconfig configs/Itead_Ibox_A20_defconfig index 8f7ee1d55f..cd388a9aee 100644 --- configs/Itead_Ibox_A20_defconfig +++ configs/Itead_Ibox_A20_defconfig @@ -14,6 +14,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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_SUN7I_GMAC=y CONFIG_SCSI=y diff --git configs/Lamobo_R1_defconfig configs/Lamobo_R1_defconfig index 84007ad374..4cc4dc4b16 100644 --- configs/Lamobo_R1_defconfig +++ configs/Lamobo_R1_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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git configs/Linksprite_pcDuino3_Nano_defconfig configs/Linksprite_pcDuino3_Nano_defconfig index 08749b8f75..13538fafd1 100644 --- configs/Linksprite_pcDuino3_Nano_defconfig +++ configs/Linksprite_pcDuino3_Nano_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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git configs/Linksprite_pcDuino3_defconfig configs/Linksprite_pcDuino3_defconfig index a54f9de3a6..1392d1f4ac 100644 --- configs/Linksprite_pcDuino3_defconfig +++ configs/Linksprite_pcDuino3_defconfig @@ -14,6 +14,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_AHCI=y CONFIG_DM_MMC=y CONFIG_ETH_DESIGNWARE=y CONFIG_SUN7I_GMAC=y diff --git configs/MPC8544DS_defconfig configs/MPC8544DS_defconfig index 6e30ac45f0..4f9219b7ea 100644 --- configs/MPC8544DS_defconfig +++ configs/MPC8544DS_defconfig @@ -18,6 +18,7 @@ CONFIG_CMD_PING=y # CONFIG_CMD_HASH is not set CONFIG_CMD_EXT2=y CONFIG_ENV_IS_IN_FLASH=y +CONFIG_SCSI_AHCI=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_PHYLIB=y diff --git configs/MPC8572DS_36BIT_defconfig configs/MPC8572DS_36BIT_defconfig index bce08d139e..14e2933f5b 100644 --- configs/MPC8572DS_36BIT_defconfig +++ configs/MPC8572DS_36BIT_defconfig @@ -18,6 +18,7 @@ CONFIG_CMD_MII=y CONFIG_CMD_PING=y # CONFIG_CMD_HASH is not set CONFIG_CMD_EXT2=y +CONFIG_SCSI_AHCI=y CONFIG_SYS_FSL_DDR2=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y diff --git configs/MPC8572DS_defconfig configs/MPC8572DS_defconfig index 9dd7c735d1..86546f068e 100644 --- configs/MPC8572DS_defconfig +++ configs/MPC8572DS_defconfig @@ -17,6 +17,7 @@ CONFIG_CMD_MII=y CONFIG_CMD_PING=y # CONFIG_CMD_HASH is not set CONFIG_CMD_EXT2=y +CONFIG_SCSI_AHCI=y CONFIG_SYS_FSL_DDR2=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y diff --git configs/MPC8610HPCD_defconfig configs/MPC8610HPCD_defconfig index 40256c8708..cb2e06377d 100644 --- configs/MPC8610HPCD_defconfig +++ configs/MPC8610HPCD_defconfig @@ -16,6 +16,7 @@ CONFIG_CMD_PING=y CONFIG_CMD_BMP=y CONFIG_CMD_EXT2=y CONFIG_DOS_PARTITION=y +CONFIG_SCSI_AHCI=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_SCSI=y diff --git configs/MPC8641HPCN_36BIT_defconfig configs/MPC8641HPCN_36BIT_defconfig index d51bdf3b9e..a85ecfb976 100644 --- configs/MPC8641HPCN_36BIT_defconfig +++ configs/MPC8641HPCN_36BIT_defconfig @@ -15,6 +15,7 @@ CONFIG_CMD_USB=y CONFIG_CMD_PING=y CONFIG_CMD_EXT2=y CONFIG_DOS_PARTITION=y +CONFIG_SCSI_AHCI=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_PHYLIB=y diff --git configs/MPC8641HPCN_defconfig configs/MPC8641HPCN_defconfig index dd2a92b691..72ff192a52 100644 --- configs/MPC8641HPCN_defconfig +++ configs/MPC8641HPCN_defconfig @@ -15,6 +15,7 @@ CONFIG_CMD_DHCP=y CONFIG_CMD_PING=y CONFIG_CMD_EXT2=y CONFIG_DOS_PARTITION=y +CONFIG_SCSI_AHCI=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_PHYLIB=y diff --git configs/Marsboard_A10_defconfig configs/Marsboard_A10_defconfig index 8bce411663..e79c3a2245 100644 --- configs/Marsboard_A10_defconfig +++ configs/Marsboard_A10_defconfig @@ -10,6 +10,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_AHCI=y CONFIG_SUN4I_EMAC=y CONFIG_SUNXI_NO_PMIC=y CONFIG_SCSI=y diff --git configs/Mele_A1000_defconfig configs/Mele_A1000_defconfig index 24a4aff478..d51ee9d91f 100644 --- configs/Mele_A1000_defconfig +++ configs/Mele_A1000_defconfig @@ -14,6 +14,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_AHCI=y CONFIG_SUN4I_EMAC=y CONFIG_SCSI=y CONFIG_USB_EHCI_HCD=y diff --git configs/Mele_M5_defconfig configs/Mele_M5_defconfig index 84c83dab2e..b4a1964629 100644 --- configs/Mele_M5_defconfig +++ configs/Mele_M5_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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_SUN7I_GMAC=y CONFIG_SCSI=y diff --git configs/Orangepi_defconfig configs/Orangepi_defconfig index d39cc66d85..50dd0fc32c 100644 --- configs/Orangepi_defconfig +++ configs/Orangepi_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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git configs/Orangepi_mini_defconfig configs/Orangepi_mini_defconfig index 17f825f241..6f3782c105 100644 --- configs/Orangepi_mini_defconfig +++ configs/Orangepi_mini_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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git configs/Wits_Pro_A20_DKT_defconfig configs/Wits_Pro_A20_DKT_defconfig index 2e96ba2a52..a16e363000 100644 --- configs/Wits_Pro_A20_DKT_defconfig +++ configs/Wits_Pro_A20_DKT_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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git configs/am57xx_evm_defconfig configs/am57xx_evm_defconfig index 6e4d04c13b..fc96401d3e 100644 --- configs/am57xx_evm_defconfig +++ configs/am57xx_evm_defconfig @@ -39,6 +39,7 @@ CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc CONFIG_ENV_IS_IN_MMC=y CONFIG_DM=y CONFIG_SPL_DM=y +CONFIG_SCSI_AHCI=y # CONFIG_BLK is not set CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y diff --git configs/am57xx_hs_evm_defconfig configs/am57xx_hs_evm_defconfig index e36491086f..681e2a54c8 100644 --- configs/am57xx_hs_evm_defconfig +++ configs/am57xx_hs_evm_defconfig @@ -42,6 +42,7 @@ CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc CONFIG_ENV_IS_IN_MMC=y CONFIG_DM=y CONFIG_SPL_DM=y +CONFIG_SCSI_AHCI=y # CONFIG_BLK is not set CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y diff --git configs/bananapi_m1_plus_defconfig configs/bananapi_m1_plus_defconfig index 79ff0aaed2..efe15459bc 100644 --- configs/bananapi_m1_plus_defconfig +++ configs/bananapi_m1_plus_defconfig @@ -16,6 +16,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_AHCI=y CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_SUN7I_GMAC=y diff --git configs/cl-som-am57x_defconfig configs/cl-som-am57x_defconfig index 8f0a7f68ce..9c3031bac8 100644 --- configs/cl-som-am57x_defconfig +++ configs/cl-som-am57x_defconfig @@ -33,6 +33,7 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_SCSI_AHCI=y CONFIG_CMD_PCA953X=y CONFIG_LED_STATUS=y CONFIG_LED_STATUS_GPIO=y diff --git configs/cm_t54_defconfig configs/cm_t54_defconfig index 69b1cbfdfe..ca80f18e77 100644 --- configs/cm_t54_defconfig +++ configs/cm_t54_defconfig @@ -38,6 +38,7 @@ CONFIG_CMD_FS_GENERIC=y CONFIG_ISO_PARTITION=y CONFIG_EFI_PARTITION=y CONFIG_ENV_IS_IN_MMC=y +CONFIG_SCSI_AHCI=y CONFIG_MMC_OMAP_HS=y CONFIG_SCSI=y CONFIG_SYS_NS16550=y diff --git configs/controlcenterdc_defconfig configs/controlcenterdc_defconfig index f65e525934..856591e2c8 100644 --- configs/controlcenterdc_defconfig +++ configs/controlcenterdc_defconfig @@ -35,6 +35,7 @@ CONFIG_EFI_PARTITION=y CONFIG_OF_BOARD_FIXUP=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SPL_OF_TRANSLATE=y +CONFIG_SCSI_AHCI=y CONFIG_DM_GPIO=y CONFIG_DM_PCA953X=y CONFIG_DM_I2C=y diff --git configs/db-88f6820-gp_defconfig configs/db-88f6820-gp_defconfig index beac266189..5cc27813b0 100644 --- configs/db-88f6820-gp_defconfig +++ configs/db-88f6820-gp_defconfig @@ -38,6 +38,7 @@ CONFIG_EFI_PARTITION=y # CONFIG_SPL_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SPL_OF_TRANSLATE=y +CONFIG_SCSI_AHCI=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_SDMA=y CONFIG_MMC_SDHCI_MV=y diff --git configs/highbank_defconfig configs/highbank_defconfig index 20a7b71737..f55b5dcebd 100644 --- configs/highbank_defconfig +++ configs/highbank_defconfig @@ -23,6 +23,7 @@ CONFIG_ISO_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_NVRAM=y +CONFIG_SCSI_AHCI=y # CONFIG_MMC is not set CONFIG_SCSI=y CONFIG_OF_LIBFDT=y diff --git configs/ls1012aqds_qspi_defconfig configs/ls1012aqds_qspi_defconfig index 4073db6583..0435d51dc4 100644 --- configs/ls1012aqds_qspi_defconfig +++ configs/ls1012aqds_qspi_defconfig @@ -34,6 +34,7 @@ CONFIG_OF_CONTROL=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM=y +CONFIG_SCSI_AHCI=y # CONFIG_BLK is not set CONFIG_DM_MMC=y CONFIG_DM_SPI_FLASH=y diff --git configs/ls1088aqds_qspi_defconfig configs/ls1088aqds_qspi_defconfig index 850be3ebc9..1e368d7b6a 100644 --- configs/ls1088aqds_qspi_defconfig +++ configs/ls1088aqds_qspi_defconfig @@ -20,6 +20,7 @@ CONFIG_OF_CONTROL=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM=y +CONFIG_SCSI_AHCI=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_SPANSION=y diff --git configs/ls1088aqds_sdcard_qspi_defconfig configs/ls1088aqds_sdcard_qspi_defconfig index 2313d28a19..0ba698168b 100644 --- configs/ls1088aqds_sdcard_qspi_defconfig +++ configs/ls1088aqds_sdcard_qspi_defconfig @@ -30,6 +30,7 @@ CONFIG_OF_CONTROL=y CONFIG_ENV_IS_IN_MMC=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM=y +CONFIG_SCSI_AHCI=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y CONFIG_NETDEVICES=y diff --git configs/ls1088ardb_qspi_defconfig configs/ls1088ardb_qspi_defconfig index 599ee15968..044e00d385 100644 --- configs/ls1088ardb_qspi_defconfig +++ configs/ls1088ardb_qspi_defconfig @@ -18,6 +18,7 @@ CONFIG_OF_CONTROL=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM=y +CONFIG_SCSI_AHCI=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_SPANSION=y diff --git configs/ls1088ardb_sdcard_qspi_defconfig configs/ls1088ardb_sdcard_qspi_defconfig index 14910da72d..b0d354b68e 100644 --- configs/ls1088ardb_sdcard_qspi_defconfig +++ configs/ls1088ardb_sdcard_qspi_defconfig @@ -28,6 +28,7 @@ CONFIG_OF_CONTROL=y CONFIG_ENV_IS_IN_MMC=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM=y +CONFIG_SCSI_AHCI=y CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y CONFIG_NETDEVICES=y diff --git configs/ls2081ardb_defconfig configs/ls2081ardb_defconfig index 1ab8f18cd3..e532032840 100644 --- configs/ls2081ardb_defconfig +++ configs/ls2081ardb_defconfig @@ -25,6 +25,7 @@ CONFIG_OF_CONTROL=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_DM=y +CONFIG_SCSI_AHCI=y CONFIG_FSL_CAAM=y CONFIG_DM_SPI_FLASH=y CONFIG_PHYLIB=y diff --git configs/mvebu_db-88f3720_defconfig configs/mvebu_db-88f3720_defconfig index 0fd4514c37..283a964f24 100644 --- configs/mvebu_db-88f3720_defconfig +++ configs/mvebu_db-88f3720_defconfig @@ -36,6 +36,7 @@ CONFIG_MAC_PARTITION=y CONFIG_ISO_PARTITION=y CONFIG_EFI_PARTITION=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_SCSI_AHCI=y CONFIG_BLOCK_CACHE=y CONFIG_DM_GPIO=y # CONFIG_MVEBU_GPIO is not set diff --git configs/mvebu_db_armada8k_defconfig configs/mvebu_db_armada8k_defconfig index 2e2e0bcb44..ab949c1952 100644 --- configs/mvebu_db_armada8k_defconfig +++ configs/mvebu_db_armada8k_defconfig @@ -29,6 +29,7 @@ CONFIG_CMD_MVEBU_BUBT=y CONFIG_CMD_EXT4_WRITE=y CONFIG_MAC_PARTITION=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_SCSI_AHCI=y CONFIG_BLOCK_CACHE=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MVTWSI=y diff --git configs/mvebu_espressobin-88f3720_defconfig configs/mvebu_espressobin-88f3720_defconfig index 95db6c610e..d99c4f52d9 100644 --- configs/mvebu_espressobin-88f3720_defconfig +++ configs/mvebu_espressobin-88f3720_defconfig @@ -35,6 +35,7 @@ CONFIG_MAC_PARTITION=y CONFIG_ISO_PARTITION=y CONFIG_EFI_PARTITION=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_SCSI_AHCI=y CONFIG_BLOCK_CACHE=y CONFIG_DM_I2C=y CONFIG_MISC=y diff --git configs/mvebu_mcbin-88f8040_defconfig configs/mvebu_mcbin-88f8040_defconfig index c0d1881ff8..29f134df1d 100644 --- configs/mvebu_mcbin-88f8040_defconfig +++ configs/mvebu_mcbin-88f8040_defconfig @@ -31,6 +31,7 @@ CONFIG_CMD_REGULATOR=y CONFIG_CMD_EXT4_WRITE=y CONFIG_MAC_PARTITION=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_SCSI_AHCI=y CONFIG_BLOCK_CACHE=y CONFIG_DM_GPIO=y CONFIG_DM_I2C=y diff --git configs/omap5_uevm_defconfig configs/omap5_uevm_defconfig index acf8962201..b3c6fa9cf1 100644 --- configs/omap5_uevm_defconfig +++ configs/omap5_uevm_defconfig @@ -33,6 +33,7 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_MMC=y +CONFIG_SCSI_AHCI=y CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y CONFIG_CMD_TCA642X=y diff --git configs/qemu_arm_defconfig configs/qemu_arm_defconfig index f353eea691..3cd4d45433 100644 --- configs/qemu_arm_defconfig +++ configs/qemu_arm_defconfig @@ -8,6 +8,7 @@ CONFIG_DISTRO_DEFAULTS=y CONFIG_CMD_PCI=y CONFIG_CMD_USB=y CONFIG_OF_BOARD=y +CONFIG_SCSI_AHCI=y CONFIG_AHCI_PCI=y CONFIG_BLK=y # CONFIG_MMC is not set diff --git configs/turris_omnia_defconfig configs/turris_omnia_defconfig index b9b5cbc2c5..ffb26cdac3 100644 --- configs/turris_omnia_defconfig +++ configs/turris_omnia_defconfig @@ -29,6 +29,7 @@ CONFIG_CMD_BTRFS=y # CONFIG_SPL_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SPL_OF_TRANSLATE=y +CONFIG_SCSI_AHCI=y CONFIG_MISC=y CONFIG_ATSHA204A=y CONFIG_MMC_SDHCI=y diff --git configs/xilinx_zynqmp_ep_defconfig configs/xilinx_zynqmp_ep_defconfig index ff865f1bdc..ee9528caec 100644 --- configs/xilinx_zynqmp_ep_defconfig +++ configs/xilinx_zynqmp_ep_defconfig @@ -49,6 +49,7 @@ CONFIG_ENV_IS_IN_FAT=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y +CONFIG_SCSI_AHCI=y CONFIG_SATA_CEVA=y CONFIG_DFU_RAM=y CONFIG_FPGA_XILINX=y diff --git configs/xilinx_zynqmp_zcu102_rev1_0_defconfig configs/xilinx_zynqmp_zcu102_rev1_0_defconfig index bf27ca48db..158dc7ed8c 100644 --- configs/xilinx_zynqmp_zcu102_rev1_0_defconfig +++ configs/xilinx_zynqmp_zcu102_rev1_0_defconfig @@ -42,6 +42,7 @@ CONFIG_ENV_IS_IN_FAT=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y +CONFIG_SCSI_AHCI=y CONFIG_SATA_CEVA=y CONFIG_DFU_RAM=y CONFIG_FPGA_XILINX=y diff --git configs/xilinx_zynqmp_zcu102_revA_defconfig configs/xilinx_zynqmp_zcu102_revA_defconfig index 80c5e49348..01e956cbc9 100644 --- configs/xilinx_zynqmp_zcu102_revA_defconfig +++ configs/xilinx_zynqmp_zcu102_revA_defconfig @@ -42,6 +42,7 @@ CONFIG_ENV_IS_IN_FAT=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y +CONFIG_SCSI_AHCI=y CONFIG_SATA_CEVA=y CONFIG_DFU_RAM=y CONFIG_FPGA_XILINX=y diff --git configs/xilinx_zynqmp_zcu102_revB_defconfig configs/xilinx_zynqmp_zcu102_revB_defconfig index 232532c995..ab2f0a830a 100644 --- configs/xilinx_zynqmp_zcu102_revB_defconfig +++ configs/xilinx_zynqmp_zcu102_revB_defconfig @@ -42,6 +42,7 @@ CONFIG_ENV_IS_IN_FAT=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y +CONFIG_SCSI_AHCI=y CONFIG_SATA_CEVA=y CONFIG_DFU_RAM=y CONFIG_FPGA_XILINX=y diff --git drivers/ata/Kconfig drivers/ata/Kconfig index 25ef5cef02..38318b4615 100644 --- drivers/ata/Kconfig +++ drivers/ata/Kconfig @@ -20,6 +20,11 @@ config SATA
See also CMD_SATA which provides command-line support.
+config SCSI_AHCI + bool "Enable SCSI interface to SATA devices" + help + Enable this to allow interfacing SATA devices via the SCSI layer. + menu "SATA/SCSI device support"
config AHCI_PCI diff --git include/configs/MPC8544DS.h include/configs/MPC8544DS.h index 2aea8928ee..4332941779 100644 --- include/configs/MPC8544DS.h +++ include/configs/MPC8544DS.h @@ -282,7 +282,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); #endif
#define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ -#define CONFIG_SCSI_AHCI
#ifdef CONFIG_SCSI_AHCI #define CONFIG_LIBATA diff --git include/configs/MPC8572DS.h include/configs/MPC8572DS.h index b277cdb1c6..0ad13d2c63 100644 --- include/configs/MPC8572DS.h +++ include/configs/MPC8572DS.h @@ -469,7 +469,6 @@ #endif
#define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ -#define CONFIG_SCSI_AHCI
#ifdef CONFIG_SCSI_AHCI #define CONFIG_LIBATA diff --git include/configs/MPC8610HPCD.h include/configs/MPC8610HPCD.h index e7b59a3d65..befd3f776e 100644 --- include/configs/MPC8610HPCD.h +++ include/configs/MPC8610HPCD.h @@ -281,8 +281,6 @@ #define PCI_IDSEL_NUMBER 0x0c /* slot0->3(IDSEL)=12->15 */ #endif
-#define CONFIG_SCSI_AHCI - #ifdef CONFIG_SCSI_AHCI #define CONFIG_LIBATA #define CONFIG_SATA_ULI5288 diff --git include/configs/MPC8641HPCN.h include/configs/MPC8641HPCN.h index 298fe5a63d..882c4c271b 100644 --- include/configs/MPC8641HPCN.h +++ include/configs/MPC8641HPCN.h @@ -373,8 +373,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
#undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */
-#define CONFIG_SCSI_AHCI - #ifdef CONFIG_SCSI_AHCI #define CONFIG_LIBATA #define CONFIG_SATA_ULI5288 diff --git include/configs/am57xx_evm.h include/configs/am57xx_evm.h index dc05bea05e..2ebe0f50bf 100644 --- include/configs/am57xx_evm.h +++ include/configs/am57xx_evm.h @@ -97,7 +97,6 @@
/* SATA */ #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 diff --git include/configs/cl-som-am57x.h include/configs/cl-som-am57x.h index a3b40ab196..7115bb8111 100644 --- include/configs/cl-som-am57x.h +++ include/configs/cl-som-am57x.h @@ -63,7 +63,6 @@ #ifndef CONFIG_SPL_BUILD /* SATA */ #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 diff --git include/configs/cm_t54.h include/configs/cm_t54.h index 9152c71717..f756e77c06 100644 --- include/configs/cm_t54.h +++ include/configs/cm_t54.h @@ -48,7 +48,6 @@ #define CONFIG_SYS_SATA_FAT_BOOT_PARTITION 1
#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 diff --git include/configs/controlcenterdc.h include/configs/controlcenterdc.h index 715e9ed9c9..92f3619992 100644 --- include/configs/controlcenterdc.h +++ include/configs/controlcenterdc.h @@ -49,7 +49,6 @@ * SATA/SCSI/AHCI configuration */ #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/db-88f6820-gp.h include/configs/db-88f6820-gp.h index 44fd968d3b..672bfbc946 100644 --- include/configs/db-88f6820-gp.h +++ include/configs/db-88f6820-gp.h @@ -45,7 +45,6 @@ * SATA/SCSI/AHCI configuration */ #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/dra7xx_evm.h include/configs/dra7xx_evm.h index f84c1f0146..4b622365ae 100644 --- include/configs/dra7xx_evm.h +++ include/configs/dra7xx_evm.h @@ -149,7 +149,6 @@
/* SATA */ #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 diff --git include/configs/efi-x86.h include/configs/efi-x86.h index 43935bf4b4..b027615139 100644 --- include/configs/efi-x86.h +++ include/configs/efi-x86.h @@ -11,8 +11,6 @@
#undef CONFIG_TPM_TIS_BASE_ADDRESS
-#undef CONFIG_SCSI_AHCI - #define CONFIG_STD_DEVICES_SETTINGS "stdin=usbkbd,vga,serial\0" \ "stdout=vga,serial\0" \ "stderr=vga,serial\0" diff --git include/configs/galileo.h include/configs/galileo.h index 00c5434125..cf798d07e7 100644 --- include/configs/galileo.h +++ include/configs/galileo.h @@ -22,9 +22,6 @@ "stdout=serial\0" \ "stderr=serial\0"
-/* SATA is not supported in Quark SoC */ -#undef CONFIG_SCSI_AHCI - /* 10/100M Ethernet support */ #define CONFIG_DESIGNWARE_ETH #define CONFIG_DW_ALTDESCRIPTOR diff --git include/configs/highbank.h include/configs/highbank.h index b2b2c2500a..544e38ff3a 100644 --- include/configs/highbank.h +++ include/configs/highbank.h @@ -34,7 +34,6 @@
#define CONFIG_MISC_INIT_R #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 5 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/ls1012aqds.h include/configs/ls1012aqds.h index d15054709e..5410549ce6 100644 --- include/configs/ls1012aqds.h +++ include/configs/ls1012aqds.h @@ -126,7 +126,6 @@
/* SATA */ #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT
#define CONFIG_SYS_SATA AHCI_BASE_ADDR diff --git include/configs/ls1012ardb.h include/configs/ls1012ardb.h index 794117062f..1659fc5a76 100644 --- include/configs/ls1012ardb.h +++ include/configs/ls1012ardb.h @@ -41,7 +41,6 @@
/* SATA */ #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT
#define CONFIG_SYS_SATA AHCI_BASE_ADDR diff --git include/configs/ls1021aiot.h include/configs/ls1021aiot.h index 46bf55f891..cc76c4e5e8 100644 --- include/configs/ls1021aiot.h +++ include/configs/ls1021aiot.h @@ -128,7 +128,6 @@
/* SATA */ #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #ifndef PCI_DEVICE_ID_FREESCALE_AHCI #define PCI_DEVICE_ID_FREESCALE_AHCI 0x0440 diff --git include/configs/ls1043aqds.h include/configs/ls1043aqds.h index 8cc2abb2b6..a63e9f4981 100644 --- include/configs/ls1043aqds.h +++ include/configs/ls1043aqds.h @@ -95,7 +95,6 @@ unsigned long get_board_ddr_clk(void);
/* SATA */ #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT
/* EEPROM */ diff --git include/configs/ls1043ardb.h include/configs/ls1043ardb.h index b4b4d5e178..9e71e8f430 100644 --- include/configs/ls1043ardb.h +++ include/configs/ls1043ardb.h @@ -287,7 +287,6 @@ /* SATA */ #ifndef SPL_NO_SATA #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #ifndef CONFIG_CMD_EXT2 #define CONFIG_CMD_EXT2 #endif diff --git include/configs/ls1046aqds.h include/configs/ls1046aqds.h index 1713e2c031..74b1c1127b 100644 --- include/configs/ls1046aqds.h +++ include/configs/ls1046aqds.h @@ -138,7 +138,6 @@ unsigned long get_board_ddr_clk(void);
/* SATA */ #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT
/* EEPROM */ diff --git include/configs/ls1046ardb.h include/configs/ls1046ardb.h index d001b80270..f143a9ea3f 100644 --- include/configs/ls1046ardb.h +++ include/configs/ls1046ardb.h @@ -212,7 +212,6 @@ /* SATA */ #ifndef SPL_NO_SATA #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT
#define CONFIG_SYS_SATA AHCI_BASE_ADDR diff --git include/configs/ls1088a_common.h include/configs/ls1088a_common.h index 6b71d47c5a..602c5745ca 100644 --- include/configs/ls1088a_common.h +++ include/configs/ls1088a_common.h @@ -157,7 +157,6 @@ unsigned long long get_qixis_addr(void); /* SATA */ #ifdef CONFIG_SCSI #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SATA1 AHCI_BASE_ADDR1
diff --git include/configs/ls2080aqds.h include/configs/ls2080aqds.h index f1968cc533..0a14cf48cf 100644 --- include/configs/ls2080aqds.h +++ include/configs/ls2080aqds.h @@ -47,7 +47,6 @@ unsigned long get_board_ddr_clk(void);
/* SATA */ #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT
#define CONFIG_SYS_SATA1 AHCI_BASE_ADDR1 diff --git include/configs/ls2080ardb.h include/configs/ls2080ardb.h index 650db2f594..ab9c4ef8c3 100644 --- include/configs/ls2080ardb.h +++ include/configs/ls2080ardb.h @@ -65,7 +65,6 @@ unsigned long get_board_sys_clk(void);
/* SATA */ #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT
#define CONFIG_SYS_SATA1 AHCI_BASE_ADDR1 diff --git include/configs/mvebu_armada-37xx.h include/configs/mvebu_armada-37xx.h index 1b2e0d71b4..52d4944554 100644 --- include/configs/mvebu_armada-37xx.h +++ include/configs/mvebu_armada-37xx.h @@ -96,7 +96,6 @@ /* * SATA/SCSI/AHCI configuration */ -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_LIBATA #define CONFIG_LBA48 diff --git include/configs/mvebu_armada-8k.h include/configs/mvebu_armada-8k.h index d85527434a..c2b2d12678 100644 --- include/configs/mvebu_armada-8k.h +++ include/configs/mvebu_armada-8k.h @@ -96,7 +96,6 @@ /* * SATA/SCSI/AHCI configuration */ -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_LIBATA #define CONFIG_LBA48 diff --git include/configs/omap5_uevm.h include/configs/omap5_uevm.h index 38d7412099..124657f61a 100644 --- include/configs/omap5_uevm.h +++ include/configs/omap5_uevm.h @@ -62,7 +62,6 @@ #define CONSOLEDEV "ttyO2"
#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 diff --git include/configs/qemu-arm.h include/configs/qemu-arm.h index 4376a24787..69e886b43e 100644 --- include/configs/qemu-arm.h +++ include/configs/qemu-arm.h @@ -31,7 +31,6 @@
/* For block devices, QEMU emulates an ICH9 AHCI controller over PCI */ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 6 -#define CONFIG_SCSI_AHCI #define CONFIG_LIBATA
/* Environment options */ diff --git include/configs/sbc8641d.h include/configs/sbc8641d.h index a0097fdbd9..817c9d920d 100644 --- include/configs/sbc8641d.h +++ include/configs/sbc8641d.h @@ -300,8 +300,6 @@
#define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */
-#undef CONFIG_SCSI_AHCI - #ifdef CONFIG_SCSI_AHCI #define CONFIG_SATA_ULI5288 #define CONFIG_SYS_SCSI_MAX_SCSI_ID 4 diff --git include/configs/sunxi-common.h include/configs/sunxi-common.h index 4391a8cbc8..5ffd69664c 100644 --- include/configs/sunxi-common.h +++ include/configs/sunxi-common.h @@ -114,7 +114,6 @@
#ifdef CONFIG_AHCI #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SUNXI_AHCI #define CONFIG_SYS_64BIT_LBA diff --git include/configs/turris_omnia.h include/configs/turris_omnia.h index d2c3e57570..7a7a157bbb 100644 --- include/configs/turris_omnia.h +++ include/configs/turris_omnia.h @@ -54,7 +54,6 @@ * SATA/SCSI/AHCI configuration */ #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/x86-common.h include/configs/x86-common.h index 6422852010..5554df9484 100644 --- include/configs/x86-common.h +++ include/configs/x86-common.h @@ -28,8 +28,6 @@ #define CONFIG_SYS_BOOTM_LEN (16 << 20)
/* SATA AHCI storage */ - -#define CONFIG_SCSI_AHCI #ifdef CONFIG_SCSI_AHCI #define CONFIG_LIBATA #define CONFIG_LBA48 diff --git include/configs/xilinx_zynqmp.h include/configs/xilinx_zynqmp.h index 14604eb4e8..493e3e30d5 100644 --- include/configs/xilinx_zynqmp.h +++ include/configs/xilinx_zynqmp.h @@ -158,7 +158,6 @@
#ifdef CONFIG_SATA_CEVA #define CONFIG_LIBATA -#define CONFIG_SCSI_AHCI #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 #define CONFIG_SYS_SCSI_MAX_LUN 1 #define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ diff --git scripts/config_whitelist.txt scripts/config_whitelist.txt index 94b758a4dd..67feedfbf2 100644 --- scripts/config_whitelist.txt +++ scripts/config_whitelist.txt @@ -1911,7 +1911,6 @@ CONFIG_SCIF CONFIG_SCIF_A CONFIG_SCIF_EXT_CLOCK CONFIG_SCIF_USE_EXT_CLK -CONFIG_SCSI_AHCI CONFIG_SCSI_AHCI_PLAT CONFIG_SCSI_DEV_LIST CONFIG_SC_TIMER_CLK

On Fri, Dec 08, 2017 at 03:36:19PM +0200, Tuomas Tynkkynen wrote:
And use 'imply' liberally.
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi
Applied to u-boot/master, thanks!

This symbol enables some library code used by various SATA drivers, so make this a non-user-visible symbol select'ed by the respective drivers, and let moveconfig handle the rest.
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi --- arch/arm/include/asm/arch-ls102xa/config.h | 1 - drivers/ata/Kconfig | 11 +++++++++++ include/configs/MPC8315ERDB.h | 2 -- include/configs/MPC8349ITX.h | 1 - include/configs/MPC837XEMDS.h | 2 -- include/configs/MPC837XERDB.h | 2 -- include/configs/MPC8536DS.h | 2 -- include/configs/MPC8544DS.h | 1 - include/configs/MPC8572DS.h | 1 - include/configs/MPC8610HPCD.h | 1 - include/configs/MPC8641HPCN.h | 1 - include/configs/P1010RDB.h | 1 - include/configs/P1022DS.h | 1 - include/configs/P2041RDB.h | 2 -- include/configs/P4080DS.h | 1 - include/configs/T102xQDS.h | 1 - include/configs/T1040QDS.h | 2 -- include/configs/T104xRDB.h | 2 -- include/configs/T208xQDS.h | 1 - include/configs/T208xRDB.h | 1 - include/configs/T4240QDS.h | 2 -- include/configs/T4240RDB.h | 4 ---- include/configs/UCP1020.h | 1 - include/configs/advantech_dms-ba16.h | 1 - include/configs/am57xx_evm.h | 1 - include/configs/apalis_imx6.h | 1 - include/configs/cgtqmx6eval.h | 1 - include/configs/cl-som-am57x.h | 1 - include/configs/cm_fx6.h | 1 - include/configs/cm_t54.h | 1 - include/configs/controlcenterd.h | 1 - include/configs/controlcenterdc.h | 1 - include/configs/corenet_ds.h | 2 -- include/configs/cyrus.h | 2 -- include/configs/db-88f6820-gp.h | 1 - include/configs/db-mv784mp-gp.h | 1 - include/configs/dh_imx6.h | 1 - include/configs/dra7xx_evm.h | 1 - include/configs/ge_bx50v3.h | 1 - include/configs/gw_ventana.h | 1 - include/configs/highbank.h | 1 - include/configs/ls1012aqds.h | 1 - include/configs/ls1012ardb.h | 1 - include/configs/ls1021aiot.h | 1 - include/configs/ls1043aqds.h | 1 - include/configs/ls1043ardb.h | 1 - include/configs/ls1046aqds.h | 1 - include/configs/ls1046ardb.h | 1 - include/configs/ls1088a_common.h | 1 - include/configs/ls2080aqds.h | 1 - include/configs/ls2080ardb.h | 1 - include/configs/m53evk.h | 1 - include/configs/mvebu_armada-37xx.h | 1 - include/configs/mvebu_armada-8k.h | 1 - include/configs/mx53loco.h | 1 - include/configs/mx6cuboxi.h | 1 - include/configs/nitrogen6x.h | 1 - include/configs/novena.h | 1 - include/configs/omap5_uevm.h | 1 - include/configs/ot1200.h | 1 - include/configs/p1_p2_rdb_pc.h | 1 - include/configs/p1_twr.h | 1 - include/configs/qemu-arm.h | 1 - include/configs/sunxi-common.h | 1 - include/configs/t4qds.h | 2 -- include/configs/tbs2910.h | 1 - include/configs/theadorable.h | 1 - include/configs/turris_omnia.h | 1 - include/configs/udoo.h | 1 - include/configs/wandboard.h | 1 - include/configs/x86-common.h | 1 - include/configs/xilinx_zynqmp.h | 1 - scripts/config_whitelist.txt | 1 - 73 files changed, 11 insertions(+), 86 deletions(-)
diff --git arch/arm/include/asm/arch-ls102xa/config.h arch/arm/include/asm/arch-ls102xa/config.h index 2fbd4ef557..940461137e 100644 --- arch/arm/include/asm/arch-ls102xa/config.h +++ arch/arm/include/asm/arch-ls102xa/config.h @@ -80,7 +80,6 @@
/* SATA */ #define AHCI_BASE_ADDR (CONFIG_SYS_IMMR + 0x02200000) -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git drivers/ata/Kconfig drivers/ata/Kconfig index 38318b4615..43e6626969 100644 --- drivers/ata/Kconfig +++ drivers/ata/Kconfig @@ -20,8 +20,14 @@ config SATA
See also CMD_SATA which provides command-line support.
+config LIBATA + bool + help + Select this to build and link the libata helper functions. + config SCSI_AHCI bool "Enable SCSI interface to SATA devices" + select LIBATA help Enable this to allow interfacing SATA devices via the SCSI layer.
@@ -54,30 +60,35 @@ config DWC_AHCI
config DWC_AHSATA bool "Enable DWC AHSATA driver support" + select LIBATA help Enable this driver to support the DWC AHSATA SATA controller found in i.MX5 and i.MX6 SoCs.
config FSL_SATA bool "Enable Freescale SATA controller driver support" + select LIBATA help Enable this driver to support the SATA controller found in some Freescale PowerPC SoCs.
config SATA_MV bool "Enable Marvell SATA controller driver support" + select LIBATA help Enable this driver to support the SATA controller found in some Marvell SoCs.
config SATA_SIL bool "Enable Silicon Image SIL3131 / SIL3132 / SIL3124 SATA driver support" + select LIBATA help Enable this driver to support the SIL3131, SIL3132 and SIL3124 SATA controllers.
config SATA_SIL3114 bool "Enable Silicon Image SIL3114 SATA driver support" + select LIBATA help Enable this driver to support the SIL3114 SATA controllers.
diff --git include/configs/MPC8315ERDB.h include/configs/MPC8315ERDB.h index a23c4ef522..bd1a7b2679 100644 --- include/configs/MPC8315ERDB.h +++ include/configs/MPC8315ERDB.h @@ -395,8 +395,6 @@ /* * SATA */ -#define CONFIG_LIBATA - #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1_OFFSET 0x18000 diff --git include/configs/MPC8349ITX.h include/configs/MPC8349ITX.h index 23fe158f74..c88aa95632 100644 --- include/configs/MPC8349ITX.h +++ include/configs/MPC8349ITX.h @@ -138,7 +138,6 @@ #ifdef CONFIG_SATA_SIL3114
#define CONFIG_SYS_SATA_MAX_DEVICE 4 -#define CONFIG_LIBATA #define CONFIG_LBA48
#endif diff --git include/configs/MPC837XEMDS.h include/configs/MPC837XEMDS.h index f0b856c2c8..3cc1a4717b 100644 --- include/configs/MPC837XEMDS.h +++ include/configs/MPC837XEMDS.h @@ -420,8 +420,6 @@ extern int board_pci_host_broken(void); /* * SATA */ -#define CONFIG_LIBATA - #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1_OFFSET 0x18000 diff --git include/configs/MPC837XERDB.h include/configs/MPC837XERDB.h index d865c22644..656180f91a 100644 --- include/configs/MPC837XERDB.h +++ include/configs/MPC837XERDB.h @@ -434,8 +434,6 @@ /* * SATA */ -#define CONFIG_LIBATA - #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1_OFFSET 0x18000 diff --git include/configs/MPC8536DS.h include/configs/MPC8536DS.h index d060e8c235..7587225bda 100644 --- include/configs/MPC8536DS.h +++ include/configs/MPC8536DS.h @@ -508,8 +508,6 @@ #endif /* CONFIG_PCI */
/* SATA */ -#define CONFIG_LIBATA - #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/MPC8544DS.h include/configs/MPC8544DS.h index 4332941779..bec8a09b5f 100644 --- include/configs/MPC8544DS.h +++ include/configs/MPC8544DS.h @@ -284,7 +284,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */
#ifdef CONFIG_SCSI_AHCI -#define CONFIG_LIBATA #define CONFIG_SATA_ULI5288 #define CONFIG_SYS_SCSI_MAX_SCSI_ID 4 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/MPC8572DS.h include/configs/MPC8572DS.h index 0ad13d2c63..ebc2e3aad4 100644 --- include/configs/MPC8572DS.h +++ include/configs/MPC8572DS.h @@ -471,7 +471,6 @@ #define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */
#ifdef CONFIG_SCSI_AHCI -#define CONFIG_LIBATA #define CONFIG_SATA_ULI5288 #define CONFIG_SYS_SCSI_MAX_SCSI_ID 4 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/MPC8610HPCD.h include/configs/MPC8610HPCD.h index befd3f776e..bd14bc0607 100644 --- include/configs/MPC8610HPCD.h +++ include/configs/MPC8610HPCD.h @@ -282,7 +282,6 @@ #endif
#ifdef CONFIG_SCSI_AHCI -#define CONFIG_LIBATA #define CONFIG_SATA_ULI5288 #define CONFIG_SYS_SCSI_MAX_SCSI_ID 4 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/MPC8641HPCN.h include/configs/MPC8641HPCN.h index 882c4c271b..567111798b 100644 --- include/configs/MPC8641HPCN.h +++ include/configs/MPC8641HPCN.h @@ -374,7 +374,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); #undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */
#ifdef CONFIG_SCSI_AHCI -#define CONFIG_LIBATA #define CONFIG_SATA_ULI5288 #define CONFIG_SYS_SCSI_MAX_SCSI_ID 4 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/P1010RDB.h include/configs/P1010RDB.h index 87c8962a9d..72b6e3ad6d 100644 --- include/configs/P1010RDB.h +++ include/configs/P1010RDB.h @@ -635,7 +635,6 @@ extern unsigned long get_sdram_size(void);
/* SATA */ #define CONFIG_FSL_SATA_V2 -#define CONFIG_LIBATA
#ifdef CONFIG_FSL_SATA #define CONFIG_SYS_SATA_MAX_DEVICE 2 diff --git include/configs/P1022DS.h include/configs/P1022DS.h index 7d4ac61194..30e20bc6e4 100644 --- include/configs/P1022DS.h +++ include/configs/P1022DS.h @@ -482,7 +482,6 @@ #endif
/* SATA */ -#define CONFIG_LIBATA #define CONFIG_FSL_SATA_V2
#define CONFIG_SYS_SATA_MAX_DEVICE 2 diff --git include/configs/P2041RDB.h include/configs/P2041RDB.h index 9046567baa..917e5d5a06 100644 --- include/configs/P2041RDB.h +++ include/configs/P2041RDB.h @@ -527,8 +527,6 @@ unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_FSL_SATA_V2
#ifdef CONFIG_FSL_SATA_V2 -#define CONFIG_LIBATA - #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/P4080DS.h include/configs/P4080DS.h index 8b884411ac..117def9dc2 100644 --- include/configs/P4080DS.h +++ include/configs/P4080DS.h @@ -13,7 +13,6 @@ #define CONFIG_PCIE3
#define CONFIG_SYS_SATA_MAX_DEVICE 2 -#define CONFIG_LIBATA #define CONFIG_LBA48
#define CONFIG_SYS_SRIO diff --git include/configs/T102xQDS.h include/configs/T102xQDS.h index 974717fde6..ed6df53916 100644 --- include/configs/T102xQDS.h +++ include/configs/T102xQDS.h @@ -615,7 +615,6 @@ unsigned long get_board_ddr_clk(void); */ #define CONFIG_FSL_SATA_V2 #ifdef CONFIG_FSL_SATA_V2 -#define CONFIG_LIBATA #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/T1040QDS.h include/configs/T1040QDS.h index ac3d19301a..bc5c0d2e68 100644 --- include/configs/T1040QDS.h +++ include/configs/T1040QDS.h @@ -500,8 +500,6 @@ unsigned long get_board_ddr_clk(void); /* SATA */ #define CONFIG_FSL_SATA_V2 #ifdef CONFIG_FSL_SATA_V2 -#define CONFIG_LIBATA - #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/T104xRDB.h include/configs/T104xRDB.h index ebcae95722..3159c62004 100644 --- include/configs/T104xRDB.h +++ include/configs/T104xRDB.h @@ -614,8 +614,6 @@ $(SRCTREE)/board/freescale/t104xrdb/t1042d4_sd_rcw.cfg /* SATA */ #define CONFIG_FSL_SATA_V2 #ifdef CONFIG_FSL_SATA_V2 -#define CONFIG_LIBATA - #define CONFIG_SYS_SATA_MAX_DEVICE 1 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/T208xQDS.h include/configs/T208xQDS.h index b19a677eb9..43fcc6f5dd 100644 --- include/configs/T208xQDS.h +++ include/configs/T208xQDS.h @@ -678,7 +678,6 @@ unsigned long get_board_ddr_clk(void); * SATA */ #ifdef CONFIG_FSL_SATA_V2 -#define CONFIG_LIBATA #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/T208xRDB.h include/configs/T208xRDB.h index 66ce31bc0c..e1c57de2af 100644 --- include/configs/T208xRDB.h +++ include/configs/T208xRDB.h @@ -628,7 +628,6 @@ unsigned long get_board_ddr_clk(void); * SATA */ #ifdef CONFIG_FSL_SATA_V2 -#define CONFIG_LIBATA #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/T4240QDS.h include/configs/T4240QDS.h index e2caa02f67..099e9e1d94 100644 --- include/configs/T4240QDS.h +++ include/configs/T4240QDS.h @@ -468,8 +468,6 @@ unsigned long get_board_ddr_clk(void);
/* SATA */ #ifdef CONFIG_FSL_SATA_V2 -#define CONFIG_LIBATA - #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/T4240RDB.h include/configs/T4240RDB.h index 70705a7b49..98f8f4f10c 100644 --- include/configs/T4240RDB.h +++ include/configs/T4240RDB.h @@ -240,8 +240,6 @@
/* SATA */ #ifdef CONFIG_FSL_SATA_V2 -#define CONFIG_LIBATA - #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR @@ -634,8 +632,6 @@ unsigned long get_board_ddr_clk(void);
/* SATA */ #ifdef CONFIG_FSL_SATA_V2 -#define CONFIG_LIBATA - #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/UCP1020.h include/configs/UCP1020.h index 455298751c..e8b1a74c64 100644 --- include/configs/UCP1020.h +++ include/configs/UCP1020.h @@ -119,7 +119,6 @@ #define CONFIG_ENV_OVERWRITE
#define CONFIG_SYS_SATA_MAX_DEVICE 2 -#define CONFIG_LIBATA #define CONFIG_LBA48
#define CONFIG_SYS_CLK_FREQ 66666666 diff --git include/configs/advantech_dms-ba16.h include/configs/advantech_dms-ba16.h index 34daf14db3..f370fe5b78 100644 --- include/configs/advantech_dms-ba16.h +++ include/configs/advantech_dms-ba16.h @@ -43,7 +43,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR #define CONFIG_LBA48 -#define CONFIG_LIBATA
/* MMC Configs */ #define CONFIG_FSL_ESDHC diff --git include/configs/am57xx_evm.h include/configs/am57xx_evm.h index 2ebe0f50bf..28618a579c 100644 --- include/configs/am57xx_evm.h +++ include/configs/am57xx_evm.h @@ -96,7 +96,6 @@ #define CONFIG_OMAP_USB3PHY1_HOST
/* SATA */ -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/apalis_imx6.h include/configs/apalis_imx6.h index c32c5607d6..c4e93562b5 100644 --- include/configs/apalis_imx6.h +++ include/configs/apalis_imx6.h @@ -74,7 +74,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR #define CONFIG_LBA48 -#define CONFIG_LIBATA #endif
/* Network */ diff --git include/configs/cgtqmx6eval.h include/configs/cgtqmx6eval.h index d24d9a45f1..b50535f9b0 100644 --- include/configs/cgtqmx6eval.h +++ include/configs/cgtqmx6eval.h @@ -85,7 +85,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR #define CONFIG_LBA48 -#define CONFIG_LIBATA
/* Ethernet */ #define CONFIG_FEC_MXC diff --git include/configs/cl-som-am57x.h include/configs/cl-som-am57x.h index 7115bb8111..6935b06d5c 100644 --- include/configs/cl-som-am57x.h +++ include/configs/cl-som-am57x.h @@ -62,7 +62,6 @@
#ifndef CONFIG_SPL_BUILD /* SATA */ -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/cm_fx6.h include/configs/cm_fx6.h index b6164ca66d..5195610233 100644 --- include/configs/cm_fx6.h +++ include/configs/cm_fx6.h @@ -209,7 +209,6 @@
/* SATA */ #define CONFIG_SYS_SATA_MAX_DEVICE 1 -#define CONFIG_LIBATA #define CONFIG_LBA48 #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR diff --git include/configs/cm_t54.h include/configs/cm_t54.h index f756e77c06..1351eb85f2 100644 --- include/configs/cm_t54.h +++ include/configs/cm_t54.h @@ -47,7 +47,6 @@ #define CONFIG_SPL_SATA_BOOT_DEVICE 0 #define CONFIG_SYS_SATA_FAT_BOOT_PARTITION 1
-#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/controlcenterd.h include/configs/controlcenterd.h index bb038f14c2..4312ddd4fc 100644 --- include/configs/controlcenterd.h +++ include/configs/controlcenterd.h @@ -245,7 +245,6 @@ /* * SATA */ -#define CONFIG_LIBATA #define CONFIG_LBA48
#define CONFIG_SYS_SATA_MAX_DEVICE 2 diff --git include/configs/controlcenterdc.h include/configs/controlcenterdc.h index 92f3619992..a882fa650b 100644 --- include/configs/controlcenterdc.h +++ include/configs/controlcenterdc.h @@ -48,7 +48,6 @@ /* * SATA/SCSI/AHCI configuration */ -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/corenet_ds.h include/configs/corenet_ds.h index b49b826eb4..d0e8bfbed7 100644 --- include/configs/corenet_ds.h +++ include/configs/corenet_ds.h @@ -541,8 +541,6 @@
/* SATA */ #ifdef CONFIG_FSL_SATA_V2 -#define CONFIG_LIBATA - #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/cyrus.h include/configs/cyrus.h index b6597034e2..4fea53bf79 100644 --- include/configs/cyrus.h +++ include/configs/cyrus.h @@ -376,8 +376,6 @@
/* SATA */ #ifdef CONFIG_FSL_SATA_V2 -#define CONFIG_LIBATA - #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/db-88f6820-gp.h include/configs/db-88f6820-gp.h index 672bfbc946..32f93f2f46 100644 --- include/configs/db-88f6820-gp.h +++ include/configs/db-88f6820-gp.h @@ -44,7 +44,6 @@ /* * SATA/SCSI/AHCI configuration */ -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/db-mv784mp-gp.h include/configs/db-mv784mp-gp.h index 105578ffc6..3dcc28710b 100644 --- include/configs/db-mv784mp-gp.h +++ include/configs/db-mv784mp-gp.h @@ -49,7 +49,6 @@
/* SATA support */ #define CONFIG_SYS_SATA_MAX_DEVICE 2 -#define CONFIG_LIBATA #define CONFIG_LBA48
/* Additional FS support/configuration */ diff --git include/configs/dh_imx6.h include/configs/dh_imx6.h index b988a19646..fb49997ebd 100644 --- include/configs/dh_imx6.h +++ include/configs/dh_imx6.h @@ -88,7 +88,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR #define CONFIG_LBA48 -#define CONFIG_LIBATA #endif
/* SPI Flash Configs */ diff --git include/configs/dra7xx_evm.h include/configs/dra7xx_evm.h index 4b622365ae..f777d576dd 100644 --- include/configs/dra7xx_evm.h +++ include/configs/dra7xx_evm.h @@ -148,7 +148,6 @@ #define CONFIG_OMAP_USB2PHY2_HOST
/* SATA */ -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/ge_bx50v3.h include/configs/ge_bx50v3.h index a522120de6..1454577dbf 100644 --- include/configs/ge_bx50v3.h +++ include/configs/ge_bx50v3.h @@ -55,7 +55,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR #define CONFIG_LBA48 -#define CONFIG_LIBATA #endif
/* MMC Configs */ diff --git include/configs/gw_ventana.h include/configs/gw_ventana.h index e68ddbcc2a..068962d613 100644 --- include/configs/gw_ventana.h +++ include/configs/gw_ventana.h @@ -106,7 +106,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR #define CONFIG_LBA48 - #define CONFIG_LIBATA #endif
/* diff --git include/configs/highbank.h include/configs/highbank.h index 544e38ff3a..a5a524008b 100644 --- include/configs/highbank.h +++ include/configs/highbank.h @@ -33,7 +33,6 @@ #define CONFIG_SYS_BOOTCOUNT_ADDR 0xfff3cf0c
#define CONFIG_MISC_INIT_R -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 5 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/ls1012aqds.h include/configs/ls1012aqds.h index 5410549ce6..af5f37cca3 100644 --- include/configs/ls1012aqds.h +++ include/configs/ls1012aqds.h @@ -125,7 +125,6 @@ #endif
/* SATA */ -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT
#define CONFIG_SYS_SATA AHCI_BASE_ADDR diff --git include/configs/ls1012ardb.h include/configs/ls1012ardb.h index 1659fc5a76..89aa952dc6 100644 --- include/configs/ls1012ardb.h +++ include/configs/ls1012ardb.h @@ -40,7 +40,6 @@ #endif
/* SATA */ -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT
#define CONFIG_SYS_SATA AHCI_BASE_ADDR diff --git include/configs/ls1021aiot.h include/configs/ls1021aiot.h index cc76c4e5e8..4a63efc5ef 100644 --- include/configs/ls1021aiot.h +++ include/configs/ls1021aiot.h @@ -127,7 +127,6 @@ #define CONFIG_FSL_ESDHC
/* SATA */ -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT #ifndef PCI_DEVICE_ID_FREESCALE_AHCI #define PCI_DEVICE_ID_FREESCALE_AHCI 0x0440 diff --git include/configs/ls1043aqds.h include/configs/ls1043aqds.h index a63e9f4981..a7f78f46ae 100644 --- include/configs/ls1043aqds.h +++ include/configs/ls1043aqds.h @@ -94,7 +94,6 @@ unsigned long get_board_ddr_clk(void); #endif
/* SATA */ -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT
/* EEPROM */ diff --git include/configs/ls1043ardb.h include/configs/ls1043ardb.h index 9e71e8f430..34f82281c8 100644 --- include/configs/ls1043ardb.h +++ include/configs/ls1043ardb.h @@ -286,7 +286,6 @@
/* SATA */ #ifndef SPL_NO_SATA -#define CONFIG_LIBATA #ifndef CONFIG_CMD_EXT2 #define CONFIG_CMD_EXT2 #endif diff --git include/configs/ls1046aqds.h include/configs/ls1046aqds.h index 74b1c1127b..f510f2457a 100644 --- include/configs/ls1046aqds.h +++ include/configs/ls1046aqds.h @@ -137,7 +137,6 @@ unsigned long get_board_ddr_clk(void); #endif
/* SATA */ -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT
/* EEPROM */ diff --git include/configs/ls1046ardb.h include/configs/ls1046ardb.h index f143a9ea3f..6e64077673 100644 --- include/configs/ls1046ardb.h +++ include/configs/ls1046ardb.h @@ -211,7 +211,6 @@
/* SATA */ #ifndef SPL_NO_SATA -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT
#define CONFIG_SYS_SATA AHCI_BASE_ADDR diff --git include/configs/ls1088a_common.h include/configs/ls1088a_common.h index 602c5745ca..bc6a52247c 100644 --- include/configs/ls1088a_common.h +++ include/configs/ls1088a_common.h @@ -156,7 +156,6 @@ unsigned long long get_qixis_addr(void);
/* SATA */ #ifdef CONFIG_SCSI -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SATA1 AHCI_BASE_ADDR1
diff --git include/configs/ls2080aqds.h include/configs/ls2080aqds.h index 0a14cf48cf..815d8adc92 100644 --- include/configs/ls2080aqds.h +++ include/configs/ls2080aqds.h @@ -46,7 +46,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_FSL_DDR_BIST /* enable built-in memory test */
/* SATA */ -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT
#define CONFIG_SYS_SATA1 AHCI_BASE_ADDR1 diff --git include/configs/ls2080ardb.h include/configs/ls2080ardb.h index ab9c4ef8c3..6f3301c2fd 100644 --- include/configs/ls2080ardb.h +++ include/configs/ls2080ardb.h @@ -64,7 +64,6 @@ unsigned long get_board_sys_clk(void); #define CONFIG_FSL_DDR_BIST /* enable built-in memory test */
/* SATA */ -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT
#define CONFIG_SYS_SATA1 AHCI_BASE_ADDR1 diff --git include/configs/m53evk.h include/configs/m53evk.h index c1634e53bf..50379c7b21 100644 --- include/configs/m53evk.h +++ include/configs/m53evk.h @@ -145,7 +145,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_BASE_ADDR #define CONFIG_LBA48 -#define CONFIG_LIBATA #endif
/* diff --git include/configs/mvebu_armada-37xx.h include/configs/mvebu_armada-37xx.h index 52d4944554..af16b9454a 100644 --- include/configs/mvebu_armada-37xx.h +++ include/configs/mvebu_armada-37xx.h @@ -97,7 +97,6 @@ * SATA/SCSI/AHCI configuration */ #define CONFIG_SCSI_AHCI_PLAT -#define CONFIG_LIBATA #define CONFIG_LBA48 #define CONFIG_SYS_64BIT_LBA
diff --git include/configs/mvebu_armada-8k.h include/configs/mvebu_armada-8k.h index c2b2d12678..7f143164c3 100644 --- include/configs/mvebu_armada-8k.h +++ include/configs/mvebu_armada-8k.h @@ -97,7 +97,6 @@ * SATA/SCSI/AHCI configuration */ #define CONFIG_SCSI_AHCI_PLAT -#define CONFIG_LIBATA #define CONFIG_LBA48 #define CONFIG_SYS_64BIT_LBA
diff --git include/configs/mx53loco.h include/configs/mx53loco.h index 0c5e9831ae..323aa3d907 100644 --- include/configs/mx53loco.h +++ include/configs/mx53loco.h @@ -186,7 +186,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_BASE_ADDR #define CONFIG_LBA48 - #define CONFIG_LIBATA #endif
/* Framebuffer and LCD */ diff --git include/configs/mx6cuboxi.h include/configs/mx6cuboxi.h index 392f9529de..d649172d5f 100644 --- include/configs/mx6cuboxi.h +++ include/configs/mx6cuboxi.h @@ -27,7 +27,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR #define CONFIG_LBA48 -#define CONFIG_LIBATA #endif
/* Ethernet Configuration */ diff --git include/configs/nitrogen6x.h include/configs/nitrogen6x.h index faf21cb5ae..8e0d6df93d 100644 --- include/configs/nitrogen6x.h +++ include/configs/nitrogen6x.h @@ -53,7 +53,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR #define CONFIG_LBA48 -#define CONFIG_LIBATA #endif
#define CONFIG_FEC_MXC diff --git include/configs/novena.h include/configs/novena.h index 736ac931e4..f82b6a44d2 100644 --- include/configs/novena.h +++ include/configs/novena.h @@ -112,7 +112,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR #define CONFIG_LBA48 -#define CONFIG_LIBATA #endif
/* UART */ diff --git include/configs/omap5_uevm.h include/configs/omap5_uevm.h index 124657f61a..38a0055297 100644 --- include/configs/omap5_uevm.h +++ include/configs/omap5_uevm.h @@ -61,7 +61,6 @@
#define CONSOLEDEV "ttyO2"
-#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/ot1200.h include/configs/ot1200.h index 1146838f34..051416eab8 100644 --- include/configs/ot1200.h +++ include/configs/ot1200.h @@ -63,7 +63,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR #define CONFIG_LBA48 -#define CONFIG_LIBATA #endif
/* SPL */ diff --git include/configs/p1_p2_rdb_pc.h include/configs/p1_p2_rdb_pc.h index 3f073d06cb..c64314c640 100644 --- include/configs/p1_p2_rdb_pc.h +++ include/configs/p1_p2_rdb_pc.h @@ -245,7 +245,6 @@ #define CONFIG_ENV_OVERWRITE
#define CONFIG_SYS_SATA_MAX_DEVICE 2 -#define CONFIG_LIBATA #define CONFIG_LBA48
#if defined(CONFIG_TARGET_P2020RDB) diff --git include/configs/p1_twr.h include/configs/p1_twr.h index 5edf07197f..d2302636ac 100644 --- include/configs/p1_twr.h +++ include/configs/p1_twr.h @@ -51,7 +51,6 @@ #define CONFIG_ENV_OVERWRITE
#define CONFIG_SYS_SATA_MAX_DEVICE 2 -#define CONFIG_LIBATA #define CONFIG_LBA48
#ifndef __ASSEMBLY__ diff --git include/configs/qemu-arm.h include/configs/qemu-arm.h index 69e886b43e..c8852cef34 100644 --- include/configs/qemu-arm.h +++ include/configs/qemu-arm.h @@ -31,7 +31,6 @@
/* For block devices, QEMU emulates an ICH9 AHCI controller over PCI */ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 6 -#define CONFIG_LIBATA
/* Environment options */ #define CONFIG_ENV_SIZE SZ_64K diff --git include/configs/sunxi-common.h include/configs/sunxi-common.h index 5ffd69664c..26f889dd3e 100644 --- include/configs/sunxi-common.h +++ include/configs/sunxi-common.h @@ -113,7 +113,6 @@ #define PHYS_SDRAM_0_SIZE 0x80000000 /* 2 GiB */
#ifdef CONFIG_AHCI -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SUNXI_AHCI #define CONFIG_SYS_64BIT_LBA diff --git include/configs/t4qds.h include/configs/t4qds.h index 07060e6813..5a69708e30 100644 --- include/configs/t4qds.h +++ include/configs/t4qds.h @@ -209,8 +209,6 @@
/* SATA */ #ifdef CONFIG_FSL_SATA_V2 -#define CONFIG_LIBATA - #define CONFIG_SYS_SATA_MAX_DEVICE 2 #define CONFIG_SATA1 #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR diff --git include/configs/tbs2910.h include/configs/tbs2910.h index 281809d87a..3a3bab0fea 100644 --- include/configs/tbs2910.h +++ include/configs/tbs2910.h @@ -82,7 +82,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR #define CONFIG_LBA48 -#define CONFIG_LIBATA #endif
/* USB */ diff --git include/configs/theadorable.h include/configs/theadorable.h index 774324f28b..6e95aa1626 100644 --- include/configs/theadorable.h +++ include/configs/theadorable.h @@ -65,7 +65,6 @@
/* SATA support */ #define CONFIG_SYS_SATA_MAX_DEVICE 1 -#define CONFIG_LIBATA #define CONFIG_LBA48
/* Additional FS support/configuration */ diff --git include/configs/turris_omnia.h include/configs/turris_omnia.h index 7a7a157bbb..3dbd2cacba 100644 --- include/configs/turris_omnia.h +++ include/configs/turris_omnia.h @@ -53,7 +53,6 @@ /* * SATA/SCSI/AHCI configuration */ -#define CONFIG_LIBATA #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 #define CONFIG_SYS_SCSI_MAX_LUN 1 diff --git include/configs/udoo.h include/configs/udoo.h index f21ee521cc..989014a177 100644 --- include/configs/udoo.h +++ include/configs/udoo.h @@ -29,7 +29,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR #define CONFIG_LBA48 -#define CONFIG_LIBATA #endif
/* Network support */ diff --git include/configs/wandboard.h include/configs/wandboard.h index 2155358561..e42bfc51f8 100644 --- include/configs/wandboard.h +++ include/configs/wandboard.h @@ -30,7 +30,6 @@ #define CONFIG_DWC_AHSATA_PORT_ID 0 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR #define CONFIG_LBA48 -#define CONFIG_LIBATA #endif
#define CONFIG_SYS_MEMTEST_START 0x10000000 diff --git include/configs/x86-common.h include/configs/x86-common.h index 5554df9484..064c546403 100644 --- include/configs/x86-common.h +++ include/configs/x86-common.h @@ -29,7 +29,6 @@
/* SATA AHCI storage */ #ifdef CONFIG_SCSI_AHCI -#define CONFIG_LIBATA #define CONFIG_LBA48 #define CONFIG_SYS_64BIT_LBA
diff --git include/configs/xilinx_zynqmp.h include/configs/xilinx_zynqmp.h index 493e3e30d5..57fee6a4c8 100644 --- include/configs/xilinx_zynqmp.h +++ include/configs/xilinx_zynqmp.h @@ -157,7 +157,6 @@ #endif
#ifdef CONFIG_SATA_CEVA -#define CONFIG_LIBATA #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 #define CONFIG_SYS_SCSI_MAX_LUN 1 #define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ diff --git scripts/config_whitelist.txt scripts/config_whitelist.txt index 67feedfbf2..b65eb0936c 100644 --- scripts/config_whitelist.txt +++ scripts/config_whitelist.txt @@ -1245,7 +1245,6 @@ CONFIG_LEGACY_BOOTCMD_ENV CONFIG_LG4573 CONFIG_LG4573_BUS CONFIG_LG4573_CS -CONFIG_LIBATA CONFIG_LIB_HW_RAND CONFIG_LIB_UUID CONFIG_LINUX

On Fri, Dec 08, 2017 at 03:36:20PM +0200, Tuomas Tynkkynen wrote:
This symbol enables some library code used by various SATA drivers, so make this a non-user-visible symbol select'ed by the respective drivers, and let moveconfig handle the rest.
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi
Applied to u-boot/master, thanks!

Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi --- arch/arm/mach-kirkwood/include/mach/config.h | 1 - configs/d2net_v2_defconfig | 1 + configs/dns325_defconfig | 1 + configs/dreamplug_defconfig | 1 + configs/ds109_defconfig | 1 + configs/edminiv2_defconfig | 1 + configs/goflexhome_defconfig | 1 + configs/guruplug_defconfig | 1 + configs/ib62x0_defconfig | 1 + configs/inetspace_v2_defconfig | 1 + configs/lschlv2_defconfig | 1 + configs/lsxhl_defconfig | 1 + configs/nas220_defconfig | 1 + configs/net2big_v2_defconfig | 1 + configs/netspace_lite_v2_defconfig | 1 + configs/netspace_max_v2_defconfig | 1 + configs/netspace_mini_v2_defconfig | 1 + configs/netspace_v2_defconfig | 1 + configs/nsa310s_defconfig | 1 + configs/openrd_base_defconfig | 1 + configs/openrd_client_defconfig | 1 + configs/openrd_ultimate_defconfig | 1 + configs/sheevaplug_defconfig | 1 + drivers/ata/Kconfig | 6 ++++++ include/configs/edminiv2.h | 1 - scripts/config_whitelist.txt | 1 - 26 files changed, 28 insertions(+), 3 deletions(-)
diff --git arch/arm/mach-kirkwood/include/mach/config.h arch/arm/mach-kirkwood/include/mach/config.h index ba6007186e..efa4e7b6e2 100644 --- arch/arm/mach-kirkwood/include/mach/config.h +++ arch/arm/mach-kirkwood/include/mach/config.h @@ -97,7 +97,6 @@ */ #ifdef CONFIG_IDE #define __io -#define CONFIG_MVSATA_IDE #define CONFIG_IDE_PREINIT #define CONFIG_MVSATA_IDE_USE_PORT1 /* Needs byte-swapping for ATA data register */ diff --git configs/d2net_v2_defconfig configs/d2net_v2_defconfig index 496c5c02d4..61fd892005 100644 --- configs/d2net_v2_defconfig +++ configs/d2net_v2_defconfig @@ -26,6 +26,7 @@ CONFIG_ISO_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y diff --git configs/dns325_defconfig configs/dns325_defconfig index 62ad86ced4..f5556e30aa 100644 --- configs/dns325_defconfig +++ configs/dns325_defconfig @@ -23,6 +23,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:896k(u-boot),128k(u-boot-env),5m(ke CONFIG_CMD_UBI=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_NAND=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SYS_NS16550=y CONFIG_USB=y diff --git configs/dreamplug_defconfig configs/dreamplug_defconfig index 1130faa392..9d24f9c16b 100644 --- configs/dreamplug_defconfig +++ configs/dreamplug_defconfig @@ -19,6 +19,7 @@ CONFIG_CMD_EXT4=y CONFIG_CMD_FAT=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y diff --git configs/ds109_defconfig configs/ds109_defconfig index 987a924b7e..6d513cf584 100644 --- configs/ds109_defconfig +++ configs/ds109_defconfig @@ -14,6 +14,7 @@ CONFIG_CMD_DATE=y CONFIG_CMD_FAT=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_BAR=y diff --git configs/edminiv2_defconfig configs/edminiv2_defconfig index 14540ca371..4eafb6d5fa 100644 --- configs/edminiv2_defconfig +++ configs/edminiv2_defconfig @@ -21,6 +21,7 @@ CONFIG_CMD_USB=y CONFIG_CMD_EXT2=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_FLASH=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_SYS_NS16550=y diff --git configs/goflexhome_defconfig configs/goflexhome_defconfig index 80652fec79..bdfd62a576 100644 --- configs/goflexhome_defconfig +++ configs/goflexhome_defconfig @@ -24,6 +24,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:1m(uboot),6M(uImage),-(root)" CONFIG_CMD_UBI=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_NAND=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SYS_NS16550=y CONFIG_USB=y diff --git configs/guruplug_defconfig configs/guruplug_defconfig index d219fee508..66a668a7bb 100644 --- configs/guruplug_defconfig +++ configs/guruplug_defconfig @@ -24,6 +24,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:896K(uboot),128K(uboot_env),-@1M(ro CONFIG_CMD_UBI=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_NAND=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SYS_NS16550=y CONFIG_USB=y diff --git configs/ib62x0_defconfig configs/ib62x0_defconfig index fd7c148860..f6bfa06dcb 100644 --- configs/ib62x0_defconfig +++ configs/ib62x0_defconfig @@ -22,6 +22,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:0xe0000@0x0(uboot),0x20000@0xe0000( CONFIG_CMD_UBI=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_NAND=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SYS_NS16550=y CONFIG_USB=y diff --git configs/inetspace_v2_defconfig configs/inetspace_v2_defconfig index bac0d95b76..d222c335fe 100644 --- configs/inetspace_v2_defconfig +++ configs/inetspace_v2_defconfig @@ -26,6 +26,7 @@ CONFIG_ISO_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y diff --git configs/lschlv2_defconfig configs/lschlv2_defconfig index 4df0a21298..077df1a5bf 100644 --- configs/lschlv2_defconfig +++ configs/lschlv2_defconfig @@ -28,6 +28,7 @@ CONFIG_EFI_PARTITION=y # CONFIG_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_STMICRO=y diff --git configs/lsxhl_defconfig configs/lsxhl_defconfig index d6ba4be286..3627eb998b 100644 --- configs/lsxhl_defconfig +++ configs/lsxhl_defconfig @@ -20,6 +20,7 @@ CONFIG_CMD_USB=y # CONFIG_CMD_SETEXPR is not set CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_STMICRO=y diff --git configs/nas220_defconfig configs/nas220_defconfig index 09bb8f1e93..8a71ed894e 100644 --- configs/nas220_defconfig +++ configs/nas220_defconfig @@ -24,6 +24,7 @@ CONFIG_ISO_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_NAND=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SYS_NS16550=y CONFIG_USB=y diff --git configs/net2big_v2_defconfig configs/net2big_v2_defconfig index 3e3150042d..76b1f90354 100644 --- configs/net2big_v2_defconfig +++ configs/net2big_v2_defconfig @@ -26,6 +26,7 @@ CONFIG_ISO_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y diff --git configs/netspace_lite_v2_defconfig configs/netspace_lite_v2_defconfig index edd279ad6f..67cb4dd2e9 100644 --- configs/netspace_lite_v2_defconfig +++ configs/netspace_lite_v2_defconfig @@ -26,6 +26,7 @@ CONFIG_ISO_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y diff --git configs/netspace_max_v2_defconfig configs/netspace_max_v2_defconfig index 2454c4f380..dc72128275 100644 --- configs/netspace_max_v2_defconfig +++ configs/netspace_max_v2_defconfig @@ -26,6 +26,7 @@ CONFIG_ISO_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y diff --git configs/netspace_mini_v2_defconfig configs/netspace_mini_v2_defconfig index 6f67c5db63..f2dec062e7 100644 --- configs/netspace_mini_v2_defconfig +++ configs/netspace_mini_v2_defconfig @@ -24,6 +24,7 @@ CONFIG_CMD_FAT=y CONFIG_EFI_PARTITION=y # CONFIG_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y diff --git configs/netspace_v2_defconfig configs/netspace_v2_defconfig index cdcc09641e..c898150d9e 100644 --- configs/netspace_v2_defconfig +++ configs/netspace_v2_defconfig @@ -26,6 +26,7 @@ CONFIG_ISO_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_PARTITION_UUIDS is not set CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y diff --git configs/nsa310s_defconfig configs/nsa310s_defconfig index 425b53a0ad..5e111cb339 100644 --- configs/nsa310s_defconfig +++ configs/nsa310s_defconfig @@ -21,6 +21,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:0xe0000@0x0(uboot),0x20000@0xe0000( CONFIG_CMD_UBI=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_NAND=y +CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_SYS_NS16550=y CONFIG_USB=y diff --git configs/openrd_base_defconfig configs/openrd_base_defconfig index 9bc628f168..1a829b763f 100644 --- configs/openrd_base_defconfig +++ configs/openrd_base_defconfig @@ -24,6 +24,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=nand_mtd:0x100000@0x000000(uboot),0x400000@0x1 CONFIG_CMD_UBI=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_NAND=y +CONFIG_MVSATA_IDE=y CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y diff --git configs/openrd_client_defconfig configs/openrd_client_defconfig index c74f0cf56f..7a95b5b54f 100644 --- configs/openrd_client_defconfig +++ configs/openrd_client_defconfig @@ -24,6 +24,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=nand_mtd:0x100000@0x000000(uboot),0x400000@0x1 CONFIG_CMD_UBI=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_NAND=y +CONFIG_MVSATA_IDE=y CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y diff --git configs/openrd_ultimate_defconfig configs/openrd_ultimate_defconfig index 6792af84ef..757be16f53 100644 --- configs/openrd_ultimate_defconfig +++ configs/openrd_ultimate_defconfig @@ -24,6 +24,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=nand_mtd:0x100000@0x000000(uboot),0x400000@0x1 CONFIG_CMD_UBI=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_NAND=y +CONFIG_MVSATA_IDE=y CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y diff --git configs/sheevaplug_defconfig configs/sheevaplug_defconfig index 6145077ebf..21704ec1ff 100644 --- configs/sheevaplug_defconfig +++ configs/sheevaplug_defconfig @@ -25,6 +25,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:512K(uboot),512K(env),4M(kernel),-( CONFIG_CMD_UBI=y CONFIG_ISO_PARTITION=y CONFIG_ENV_IS_IN_NAND=y +CONFIG_MVSATA_IDE=y CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y diff --git drivers/ata/Kconfig drivers/ata/Kconfig index 43e6626969..990de72309 100644 --- drivers/ata/Kconfig +++ drivers/ata/Kconfig @@ -72,6 +72,12 @@ config FSL_SATA Enable this driver to support the SATA controller found in some Freescale PowerPC SoCs.
+config MVSATA_IDE + bool "Enable Marvell SATA controller driver support via IDE interface" + help + Enable this driver to support the SATA controller found in + some Marvell SoCs, running in IDE compatibility mode using PIO. + config SATA_MV bool "Enable Marvell SATA controller driver support" select LIBATA diff --git include/configs/edminiv2.h include/configs/edminiv2.h index 17d23839b8..2b7a5d7c5c 100644 --- include/configs/edminiv2.h +++ include/configs/edminiv2.h @@ -140,7 +140,6 @@ #define __io #define CONFIG_IDE_PREINIT /* ED Mini V has an IDE-compatible SATA connector for port 1 */ -#define CONFIG_MVSATA_IDE #define CONFIG_MVSATA_IDE_USE_PORT1 /* Needs byte-swapping for ATA data register */ #define CONFIG_IDE_SWAP_IO diff --git scripts/config_whitelist.txt scripts/config_whitelist.txt index b65eb0936c..a533af5e61 100644 --- scripts/config_whitelist.txt +++ scripts/config_whitelist.txt @@ -1457,7 +1457,6 @@ CONFIG_MVGBE CONFIG_MVGBE_PORTS CONFIG_MVMFP_V2 CONFIG_MVS -CONFIG_MVSATA_IDE CONFIG_MVSATA_IDE_USE_PORT0 CONFIG_MVSATA_IDE_USE_PORT1 CONFIG_MV_ETH_RXQ

On Fri, Dec 08, 2017 at 03:36:21PM +0200, Tuomas Tynkkynen wrote:
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi
Applied to u-boot/master, thanks!
participants (2)
-
Tom Rini
-
Tuomas Tynkkynen