From patchwork Thu Feb 14 00:09:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Przywara X-Patchwork-Id: 1041735 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 440Gyn47B2z9sMx for ; Thu, 14 Feb 2019 11:11:29 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 382F4C22082; Thu, 14 Feb 2019 00:11:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 8B406C21F98; Thu, 14 Feb 2019 00:11:20 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 8AE7AC21F3B; Thu, 14 Feb 2019 00:11:19 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.101.70]) by lists.denx.de (Postfix) with ESMTP id 2D731C21E88 for ; Thu, 14 Feb 2019 00:11:18 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 25D0580D; Wed, 13 Feb 2019 16:11:17 -0800 (PST) Received: from localhost.localdomain (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CB4E03F675; Wed, 13 Feb 2019 16:11:15 -0800 (PST) From: Andre Przywara To: Jagan Teki , Maxime Ripard Date: Thu, 14 Feb 2019 00:09:23 +0000 Message-Id: <20190214000923.14420-1-andre.przywara@arm.com> X-Mailer: git-send-email 2.14.1 Cc: u-boot@lists.denx.de, Tom Rini Subject: [U-Boot] [PATCH] sunxi: update SATA driver to always use DM_SCSI X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" It seems like the Allwinner SATA driver is already quite capable of using the driver model, so we can force this on all boards and can remove support for a non-DM_SCSI build. This removes the warning about boards with SATA ports not being DM_SCSI compliant. It also takes the opportunity to move the driver out of the board/sunxi directory to join its siblings in drivers/ata, and to make it a proper Kconfig citizen. The board defconfigs stay untouched. Signed-off-by: Andre Przywara Reviewed-by: Simon Glass --- board/sunxi/Makefile | 3 --- drivers/ata/Kconfig | 9 +++++++++ drivers/ata/Makefile | 1 + board/sunxi/ahci.c => drivers/ata/ahci_sunxi.c | 11 +---------- include/configs/sunxi-common.h | 6 ------ scripts/config_whitelist.txt | 1 - 6 files changed, 11 insertions(+), 20 deletions(-) rename board/sunxi/ahci.c => drivers/ata/ahci_sunxi.c (94%) diff --git a/board/sunxi/Makefile b/board/sunxi/Makefile index 4d6258d932..c4e13f8c38 100644 --- a/board/sunxi/Makefile +++ b/board/sunxi/Makefile @@ -8,9 +8,6 @@ # Wolfgang Denk, DENX Software Engineering, wd@denx.de. obj-y += board.o obj-$(CONFIG_SUN7I_GMAC) += gmac.o -ifndef CONFIG_SPL_BUILD -obj-$(CONFIG_SUNXI_AHCI) += ahci.o -endif obj-$(CONFIG_MACH_SUN4I) += dram_sun4i_auto.o obj-$(CONFIG_MACH_SUN5I) += dram_sun5i_auto.o obj-$(CONFIG_MACH_SUN7I) += dram_sun5i_auto.o diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 49a056e941..82bdf03192 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -99,6 +99,15 @@ config SATA_SIL3114 help Enable this driver to support the SIL3114 SATA controllers. +config SUNXI_AHCI + bool "Enable Allwinner SATA driver support" + depends on AHCI + default y if ARCH_SUNXI + select DM_SCSI + help + Enable this driver to support the SATA controllers found in the + Allwinner A10, A20 and R40 SoCs. + config AHCI_MVEBU bool "Marvell EBU AHCI SATA support" depends on ARCH_MVEBU diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile index 10bed53bb3..a69edb10f7 100644 --- a/drivers/ata/Makefile +++ b/drivers/ata/Makefile @@ -18,3 +18,4 @@ obj-$(CONFIG_SATA_SIL3114) += sata_sil3114.o obj-$(CONFIG_SATA_SIL) += sata_sil.o obj-$(CONFIG_SANDBOX) += sata_sandbox.o obj-$(CONFIG_AHCI_MVEBU) += ahci_mvebu.o +obj-$(CONFIG_SUNXI_AHCI) += ahci_sunxi.o diff --git a/board/sunxi/ahci.c b/drivers/ata/ahci_sunxi.c similarity index 94% rename from board/sunxi/ahci.c rename to drivers/ata/ahci_sunxi.c index a79b80ca1e..77b932aa03 100644 --- a/board/sunxi/ahci.c +++ b/drivers/ata/ahci_sunxi.c @@ -70,15 +70,6 @@ static int sunxi_ahci_phy_init(u8 *reg_base) return 0; } -#ifndef CONFIG_DM_SCSI -void scsi_init(void) -{ - if (sunxi_ahci_phy_init((u8 *)SUNXI_SATA_BASE) < 0) - return; - - ahci_init((void __iomem *)SUNXI_SATA_BASE); -} -#else static int sunxi_sata_probe(struct udevice *dev) { ulong base; @@ -121,6 +112,7 @@ static int sunxi_sata_bind(struct udevice *dev) static const struct udevice_id sunxi_ahci_ids[] = { { .compatible = "allwinner,sun4i-a10-ahci" }, + { .compatible = "allwinner,sun8i-r40-ahci" }, { } }; @@ -131,4 +123,3 @@ U_BOOT_DRIVER(ahci_sunxi_drv) = { .bind = sunxi_sata_bind, .probe = sunxi_sata_probe, }; -#endif diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h index b01d1c3c84..bc30994029 100644 --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h @@ -104,13 +104,7 @@ #define PHYS_SDRAM_0_SIZE 0x80000000 /* 2 GiB */ #ifdef CONFIG_AHCI -#define CONFIG_SCSI_AHCI_PLAT -#define CONFIG_SUNXI_AHCI #define CONFIG_SYS_64BIT_LBA -#define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 -#define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #endif #define CONFIG_SETUP_MEMORY_TAGS diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index 2b3572568b..84c517cd12 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -1953,7 +1953,6 @@ CONFIG_STV0991 CONFIG_STV0991_HZ CONFIG_STV0991_HZ_CLOCK CONFIG_ST_SMI -CONFIG_SUNXI_AHCI CONFIG_SUNXI_GPIO CONFIG_SUNXI_MAX_FB_SIZE CONFIG_SUPERH_ON_CHIP_R8A66597