From a80e03683ba8c343b07e8e48253fe85b43fc50b8 Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Tue, 9 Feb 2021 21:42:56 -0500 Subject: [PATCH] drivers: ata: Remove mvsata_ide driver The mvsata_ide driver was due for DM conversion by v2019.07. As that has long passed, remove the driver and disable it in the boards which had enabled it. Signed-off-by: Tom Rini --- Makefile | 2 - arch/arm/mach-kirkwood/include/mach/config.h | 2 - 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/nas220_defconfig | 1 - configs/nsa310s_defconfig | 1 - drivers/ata/Kconfig | 6 - drivers/ata/Makefile | 1 - drivers/ata/mvsata_ide.c | 199 ------------------- include/configs/dns325.h | 8 - include/configs/dreamplug.h | 7 - include/configs/ds109.h | 7 - include/configs/edminiv2.h | 3 - include/configs/goflexhome.h | 7 - include/configs/guruplug.h | 7 - include/configs/ib62x0.h | 3 - include/configs/nas220.h | 8 - include/configs/nsa310s.h | 2 - include/configs/sheevaplug.h | 3 - scripts/config_whitelist.txt | 2 - 25 files changed, 276 deletions(-) delete mode 100644 drivers/ata/mvsata_ide.c diff --git a/Makefile b/Makefile index 193aa4d1c9..e423f6de74 100644 --- a/Makefile +++ b/Makefile @@ -1084,8 +1084,6 @@ endif $(call deprecated,CONFIG_DM_MMC CONFIG_BLK,MMC,v2019.04,$(CONFIG_MMC)) $(call deprecated,CONFIG_DM_USB CONFIG_OF_CONTROL CONFIG_BLK,\ USB,v2019.07,$(CONFIG_USB)) - $(call deprecated,CONFIG_AHCI,AHCI instead of CONFIG_MVSATA_IDE,v2019.07, \ - $(CONFIG_MVSATA_IDE)) $(call deprecated,CONFIG_AHCI,AHCI,v2019.07, $(CONFIG_LIBATA)) $(call deprecated,CONFIG_DM_PCI,PCI,v2019.07,$(CONFIG_PCI)) $(call deprecated,CONFIG_DM_VIDEO,video,v2019.07,\ diff --git a/arch/arm/mach-kirkwood/include/mach/config.h b/arch/arm/mach-kirkwood/include/mach/config.h index 4794f7aa9d..f5538f4a90 100644 --- a/arch/arm/mach-kirkwood/include/mach/config.h +++ b/arch/arm/mach-kirkwood/include/mach/config.h @@ -74,8 +74,6 @@ */ #ifdef CONFIG_IDE #define __io -#define CONFIG_IDE_PREINIT -#define CONFIG_MVSATA_IDE_USE_PORT1 /* Needs byte-swapping for ATA data register */ #define CONFIG_IDE_SWAP_IO /* Data, registers and alternate blocks are at the same offset */ diff --git a/configs/dns325_defconfig b/configs/dns325_defconfig index a5fe9cd331..493c802d52 100644 --- a/configs/dns325_defconfig +++ b/configs/dns325_defconfig @@ -36,7 +36,6 @@ CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_NAND=y CONFIG_NETCONSOLE=y CONFIG_DM=y -CONFIG_MVSATA_IDE=y CONFIG_BLK=y # CONFIG_MMC is not set CONFIG_MTD=y diff --git a/configs/dreamplug_defconfig b/configs/dreamplug_defconfig index 2c27726fcd..b4dedc9e59 100644 --- a/configs/dreamplug_defconfig +++ b/configs/dreamplug_defconfig @@ -34,7 +34,6 @@ CONFIG_ENV_SPI_MAX_HZ=50000000 CONFIG_ENV_ADDR=0x100000 CONFIG_NETCONSOLE=y CONFIG_DM=y -CONFIG_MVSATA_IDE=y CONFIG_BLK=y # CONFIG_MMC is not set CONFIG_MTD=y diff --git a/configs/ds109_defconfig b/configs/ds109_defconfig index e412e3f593..77c094b766 100644 --- a/configs/ds109_defconfig +++ b/configs/ds109_defconfig @@ -30,7 +30,6 @@ CONFIG_ENV_SPI_MAX_HZ=50000000 CONFIG_ENV_ADDR=0x3D0000 CONFIG_NETCONSOLE=y CONFIG_DM=y -CONFIG_MVSATA_IDE=y CONFIG_BLK=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MVTWSI=y diff --git a/configs/edminiv2_defconfig b/configs/edminiv2_defconfig index 916775e9ed..0aacb35e44 100644 --- a/configs/edminiv2_defconfig +++ b/configs/edminiv2_defconfig @@ -32,7 +32,6 @@ CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_FLASH=y CONFIG_ENV_ADDR=0xFFF84000 CONFIG_NETCONSOLE=y -CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y CONFIG_FLASH_CFI_DRIVER=y diff --git a/configs/goflexhome_defconfig b/configs/goflexhome_defconfig index b271822dcb..6e3e6325e9 100644 --- a/configs/goflexhome_defconfig +++ b/configs/goflexhome_defconfig @@ -37,7 +37,6 @@ CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_NAND=y CONFIG_NETCONSOLE=y CONFIG_DM=y -CONFIG_MVSATA_IDE=y CONFIG_BLK=y # CONFIG_MMC is not set CONFIG_MTD=y diff --git a/configs/guruplug_defconfig b/configs/guruplug_defconfig index f7e934bcf8..a3fe98cabf 100644 --- a/configs/guruplug_defconfig +++ b/configs/guruplug_defconfig @@ -38,7 +38,6 @@ CONFIG_ENV_IS_IN_NAND=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_NETCONSOLE=y CONFIG_DM=y -CONFIG_MVSATA_IDE=y CONFIG_BLK=y # CONFIG_MMC is not set CONFIG_MTD=y diff --git a/configs/ib62x0_defconfig b/configs/ib62x0_defconfig index 1fbf03442d..57ccfe71fb 100644 --- a/configs/ib62x0_defconfig +++ b/configs/ib62x0_defconfig @@ -35,7 +35,6 @@ CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_NAND=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_NETCONSOLE=y -CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_MTD=y CONFIG_MTD_RAW_NAND=y diff --git a/configs/nas220_defconfig b/configs/nas220_defconfig index e89b6b9e14..3e031604ee 100644 --- a/configs/nas220_defconfig +++ b/configs/nas220_defconfig @@ -38,7 +38,6 @@ CONFIG_ENV_IS_IN_NAND=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_NETCONSOLE=y CONFIG_DM=y -CONFIG_MVSATA_IDE=y CONFIG_BLK=y # CONFIG_MMC is not set CONFIG_MTD=y diff --git a/configs/nsa310s_defconfig b/configs/nsa310s_defconfig index bec1707ddc..e4cf1c470e 100644 --- a/configs/nsa310s_defconfig +++ b/configs/nsa310s_defconfig @@ -32,7 +32,6 @@ CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_NAND=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_NETCONSOLE=y -CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_MTD=y CONFIG_MTD_RAW_NAND=y diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 3914f996d9..9ff4b8736c 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -83,12 +83,6 @@ 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 AHCI diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile index 98fb480700..4811b2f82c 100644 --- a/drivers/ata/Makefile +++ b/drivers/ata/Makefile @@ -10,7 +10,6 @@ obj-$(CONFIG_SCSI_AHCI) += ahci.o 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_SATA) += sata.o obj-$(CONFIG_SATA_CEVA) += sata_ceva.o obj-$(CONFIG_SATA_MV) += sata_mv.o diff --git a/drivers/ata/mvsata_ide.c b/drivers/ata/mvsata_ide.c deleted file mode 100644 index 41f9a91617..0000000000 --- a/drivers/ata/mvsata_ide.c +++ /dev/null @@ -1,199 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2010 Albert ARIBAUD - * - * Written-by: Albert ARIBAUD - */ - -#include -#include -#include - -#if defined(CONFIG_ARCH_ORION5X) -#include -#elif defined(CONFIG_ARCH_KIRKWOOD) -#include -#elif defined(CONFIG_ARCH_MVEBU) -#include -#endif - -/* SATA port registers */ -struct mvsata_port_registers { - u32 reserved0[10]; - u32 edma_cmd; - u32 reserved1[181]; - /* offset 0x300 : ATA Interface registers */ - u32 sstatus; - u32 serror; - u32 scontrol; - u32 ltmode; - u32 phymode3; - u32 phymode4; - u32 reserved2[5]; - u32 phymode1; - u32 phymode2; - u32 bist_cr; - u32 bist_dw1; - u32 bist_dw2; - u32 serrorintrmask; -}; - -/* - * Sanity checks: - * - to compile at all, we need CONFIG_SYS_ATA_BASE_ADDR. - * - for ide_preinit to make sense, we need at least one of - * CONFIG_SYS_ATA_IDE0_OFFSET or CONFIG_SYS_ATA_IDE1_OFFSET; - * - for ide_preinit to be called, we need CONFIG_IDE_PREINIT. - * Fail with an explanation message if these conditions are not met. - * This is particularly important for CONFIG_IDE_PREINIT, because - * its lack would not cause a build error. - */ - -#if !defined(CONFIG_SYS_ATA_BASE_ADDR) -#error CONFIG_SYS_ATA_BASE_ADDR must be defined -#elif !defined(CONFIG_SYS_ATA_IDE0_OFFSET) \ - && !defined(CONFIG_SYS_ATA_IDE1_OFFSET) -#error CONFIG_SYS_ATA_IDE0_OFFSET or CONFIG_SYS_ATA_IDE1_OFFSET \ - must be defined -#elif !defined(CONFIG_IDE_PREINIT) -#error CONFIG_IDE_PREINIT must be defined -#endif - -/* - * Masks and values for SControl DETection and Interface Power Management, - * and for SStatus DETection. - */ - -#define MVSATA_EDMA_CMD_ATA_RST 0x00000004 -#define MVSATA_SCONTROL_DET_MASK 0x0000000F -#define MVSATA_SCONTROL_DET_NONE 0x00000000 -#define MVSATA_SCONTROL_DET_INIT 0x00000001 -#define MVSATA_SCONTROL_IPM_MASK 0x00000F00 -#define MVSATA_SCONTROL_IPM_NO_LP_ALLOWED 0x00000300 -#define MVSATA_SCONTROL_MASK \ - (MVSATA_SCONTROL_DET_MASK|MVSATA_SCONTROL_IPM_MASK) -#define MVSATA_PORT_INIT \ - (MVSATA_SCONTROL_DET_INIT|MVSATA_SCONTROL_IPM_NO_LP_ALLOWED) -#define MVSATA_PORT_USE \ - (MVSATA_SCONTROL_DET_NONE|MVSATA_SCONTROL_IPM_NO_LP_ALLOWED) -#define MVSATA_SSTATUS_DET_MASK 0x0000000F -#define MVSATA_SSTATUS_DET_DEVCOMM 0x00000003 - -/* - * Status codes to return to client callers. Currently, callers ignore - * exact value and only care for zero or nonzero, so no need to make this - * public, it is only #define'd for clarity. - * If/when standard negative codes are implemented in U-Boot, then these - * #defines should be moved to, or replaced by ones from, the common list - * of status codes. - */ - -#define MVSATA_STATUS_OK 0 -#define MVSATA_STATUS_TIMEOUT -1 - -/* - * Registers for SATA MBUS memory windows - */ - -#define MVSATA_WIN_CONTROL(w) (MVEBU_AXP_SATA_BASE + 0x30 + ((w) << 4)) -#define MVSATA_WIN_BASE(w) (MVEBU_AXP_SATA_BASE + 0x34 + ((w) << 4)) - -/* - * Initialize SATA memory windows for Armada XP - */ - -#ifdef CONFIG_ARCH_MVEBU -static void mvsata_ide_conf_mbus_windows(void) -{ - const struct mbus_dram_target_info *dram; - int i; - - dram = mvebu_mbus_dram_info(); - - /* Disable windows, Set Size/Base to 0 */ - for (i = 0; i < 4; i++) { - writel(0, MVSATA_WIN_CONTROL(i)); - writel(0, MVSATA_WIN_BASE(i)); - } - - for (i = 0; i < dram->num_cs; i++) { - const struct mbus_dram_window *cs = dram->cs + i; - writel(((cs->size - 1) & 0xffff0000) | (cs->mbus_attr << 8) | - (dram->mbus_dram_target_id << 4) | 1, - MVSATA_WIN_CONTROL(i)); - writel(cs->base & 0xffff0000, MVSATA_WIN_BASE(i)); - } -} -#endif - -/* - * Initialize one MVSATAHC port: set SControl's IPM to "always active" - * and DET to "reset", then wait for SStatus's DET to become "device and - * comm ok" (or time out after 50 us if no device), then set SControl's - * DET back to "no action". - */ - -static int mvsata_ide_initialize_port(struct mvsata_port_registers *port) -{ - u32 control; - u32 status; - u32 timeleft = 10000; /* wait at most 10 ms for SATA reset to complete */ - - /* Hard reset */ - writel(MVSATA_EDMA_CMD_ATA_RST, &port->edma_cmd); - udelay(25); /* taken from original marvell port */ - writel(0, &port->edma_cmd); - - /* Set control IPM to 3 (no low power) and DET to 1 (initialize) */ - control = readl(&port->scontrol); - control = (control & ~MVSATA_SCONTROL_MASK) | MVSATA_PORT_INIT; - writel(control, &port->scontrol); - /* Toggle control DET back to 0 (normal operation) */ - control = (control & ~MVSATA_SCONTROL_MASK) | MVSATA_PORT_USE; - writel(control, &port->scontrol); - /* wait for status DET to become 3 (device and communication OK) */ - while (--timeleft) { - status = readl(&port->sstatus) & MVSATA_SSTATUS_DET_MASK; - if (status == MVSATA_SSTATUS_DET_DEVCOMM) - break; - udelay(1); - } - /* return success or time-out error depending on time left */ - if (!timeleft) - return MVSATA_STATUS_TIMEOUT; - return MVSATA_STATUS_OK; -} - -/* - * ide_preinit() will be called by ide_init in cmd_ide.c and will - * reset the MVSTATHC ports needed by the board. - */ - -int ide_preinit(void) -{ - int ret = MVSATA_STATUS_TIMEOUT; - int status; - -#ifdef CONFIG_ARCH_MVEBU - mvsata_ide_conf_mbus_windows(); -#endif - - /* Enable ATA port 0 (could be SATA port 0 or 1) if declared */ -#if defined(CONFIG_SYS_ATA_IDE0_OFFSET) - status = mvsata_ide_initialize_port( - (struct mvsata_port_registers *) - (CONFIG_SYS_ATA_BASE_ADDR + CONFIG_SYS_ATA_IDE0_OFFSET)); - if (status == MVSATA_STATUS_OK) - ret = MVSATA_STATUS_OK; -#endif - /* Enable ATA port 1 (could be SATA port 0 or 1) if declared */ -#if defined(CONFIG_SYS_ATA_IDE1_OFFSET) - status = mvsata_ide_initialize_port( - (struct mvsata_port_registers *) - (CONFIG_SYS_ATA_BASE_ADDR + CONFIG_SYS_ATA_IDE1_OFFSET)); - if (status == MVSATA_STATUS_OK) - ret = MVSATA_STATUS_OK; -#endif - /* Return success if at least one port initialization succeeded */ - return ret; -} diff --git a/include/configs/dns325.h b/include/configs/dns325.h index ea8d28b5b5..8990efb3f6 100644 --- a/include/configs/dns325.h +++ b/include/configs/dns325.h @@ -35,14 +35,6 @@ #define CONFIG_MVGBE_PORTS {1, 0} /* enable port 0 only */ #endif -/* - * SATA Driver configuration - */ -#ifdef CONFIG_MVSATA_IDE -#define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET -#define CONFIG_SYS_ATA_IDE1_OFFSET MV_SATA_PORT1_OFFSET -#endif - /* * Enable GPI0 support */ diff --git a/include/configs/dreamplug.h b/include/configs/dreamplug.h index 09bac01779..9106203ebc 100644 --- a/include/configs/dreamplug.h +++ b/include/configs/dreamplug.h @@ -52,11 +52,4 @@ #define CONFIG_PHY_BASE_ADR 0 #endif /* CONFIG_CMD_NET */ -/* - * SATA Driver configuration - */ -#ifdef CONFIG_MVSATA_IDE -#define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET -#endif /*CONFIG_MVSATA_IDE*/ - #endif /* _CONFIG_DREAMPLUG_H */ diff --git a/include/configs/ds109.h b/include/configs/ds109.h index 35d85361b4..f232abe430 100644 --- a/include/configs/ds109.h +++ b/include/configs/ds109.h @@ -55,11 +55,4 @@ #define CONFIG_PHY_BASE_ADR 8 #endif /* CONFIG_CMD_NET */ -/* - * SATA Driver configuration - */ -#ifdef CONFIG_MVSATA_IDE -#define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET -#endif /*CONFIG_MVSATA_IDE*/ - #endif /* _CONFIG_DS109_H */ diff --git a/include/configs/edminiv2.h b/include/configs/edminiv2.h index dd16e3fbda..949ff55624 100644 --- a/include/configs/edminiv2.h +++ b/include/configs/edminiv2.h @@ -122,9 +122,6 @@ */ #ifdef CONFIG_IDE #define __io -#define CONFIG_IDE_PREINIT -/* ED Mini V has an IDE-compatible SATA connector for port 1 */ -#define CONFIG_MVSATA_IDE_USE_PORT1 /* Needs byte-swapping for ATA data register */ #define CONFIG_IDE_SWAP_IO /* Data, registers and alternate blocks are at the same offset */ diff --git a/include/configs/goflexhome.h b/include/configs/goflexhome.h index 51325047ec..a18e7869b0 100644 --- a/include/configs/goflexhome.h +++ b/include/configs/goflexhome.h @@ -72,11 +72,4 @@ #define CONFIG_PHY_BASE_ADR 0 #endif /* CONFIG_CMD_NET */ -/* - * * SATA Driver configuration - * */ -#ifdef CONFIG_MVSATA_IDE -#define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET -#endif /*CONFIG_MVSATA_IDE*/ - #endif /* _CONFIG_GOFLEXHOME_H */ diff --git a/include/configs/guruplug.h b/include/configs/guruplug.h index 1e1e5da4d5..8de888fe7e 100644 --- a/include/configs/guruplug.h +++ b/include/configs/guruplug.h @@ -66,11 +66,4 @@ #define CONFIG_PHY_BASE_ADR 0 #endif /* CONFIG_CMD_NET */ -/* - * SATA Driver configuration - */ -#ifdef CONFIG_MVSATA_IDE -#define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET -#endif /*CONFIG_MVSATA_IDE*/ - #endif /* _CONFIG_GURUPLUG_H */ diff --git a/include/configs/ib62x0.h b/include/configs/ib62x0.h index 41483a2f7e..ba859a9a24 100644 --- a/include/configs/ib62x0.h +++ b/include/configs/ib62x0.h @@ -56,9 +56,6 @@ */ #ifdef CONFIG_IDE #define __io -#define CONFIG_IDE_PREINIT -#define CONFIG_MVSATA_IDE_USE_PORT0 -#define CONFIG_MVSATA_IDE_USE_PORT1 #define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET #define CONFIG_SYS_ATA_IDE1_OFFSET MV_SATA_PORT1_OFFSET #endif /* CONFIG_IDE */ diff --git a/include/configs/nas220.h b/include/configs/nas220.h index b95c7fc3be..1fd5471ac5 100644 --- a/include/configs/nas220.h +++ b/include/configs/nas220.h @@ -80,14 +80,6 @@ #define CONFIG_JFFS2_NAND #define CONFIG_JFFS2_LZO -/* - * SATA - */ -#ifdef CONFIG_MVSATA_IDE -#define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET -#define CONFIG_SYS_ATA_IDE1_OFFSET MV_SATA_PORT1_OFFSET -#endif - /* * EFI partition */ diff --git a/include/configs/nsa310s.h b/include/configs/nsa310s.h index 1cb0d68b5a..e38c65a485 100644 --- a/include/configs/nsa310s.h +++ b/include/configs/nsa310s.h @@ -48,8 +48,6 @@ /* SATA driver configuration */ #ifdef CONFIG_IDE #define __io -#define CONFIG_IDE_PREINIT -#define CONFIG_MVSATA_IDE_USE_PORT0 #define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET #endif /* CONFIG_IDE */ diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h index abe8418984..41ba799659 100644 --- a/include/configs/sheevaplug.h +++ b/include/configs/sheevaplug.h @@ -55,9 +55,6 @@ */ #ifdef CONFIG_IDE #define __io -#define CONFIG_IDE_PREINIT -#define CONFIG_MVSATA_IDE_USE_PORT0 -#define CONFIG_MVSATA_IDE_USE_PORT1 #define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET #define CONFIG_SYS_ATA_IDE1_OFFSET MV_SATA_PORT1_OFFSET #endif /* CONFIG_IDE */ diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index 6859d17654..b735865e17 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -1079,8 +1079,6 @@ CONFIG_MUSB_HOST CONFIG_MVGBE_PORTS CONFIG_MVMFP_V2 CONFIG_MVS -CONFIG_MVSATA_IDE_USE_PORT0 -CONFIG_MVSATA_IDE_USE_PORT1 CONFIG_MV_ETH_RXQ CONFIG_MV_I2C_NUM CONFIG_MV_I2C_REG