ata: mvebu: move mvebu sata driver to drivers/ata directory
authorKen Ma <make@marvell.com>
Fri, 25 May 2018 07:49:24 +0000 (15:49 +0800)
committerStefan Roese <sr@denx.de>
Tue, 29 May 2018 06:33:05 +0000 (08:33 +0200)
Currently mvebu sata driver is in arch/arm/mach_mvebu directory, this
patch moves it to drivers/ata directory with renaming "sata.c" to
"ahci_mvebu.c" which is aligned to Linux.
New ahci driver's kconfig option is added as AHCI_MVEBU which selects
SCSI_AHCI and is based on AHCI.

Signed-off-by: Ken Ma <make@marvell.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Stefan Roese <sr@denx.de>
MAINTAINERS
arch/arm/mach-mvebu/Makefile
arch/arm/mach-mvebu/sata.c [deleted file]
drivers/ata/Kconfig
drivers/ata/Makefile
drivers/ata/ahci_mvebu.c [new file with mode: 0644]

index 3209dcd3184444eba23e88ec50376f312cf8a55e..0289d9d5ad5b02301d8bcbed97c86fcc82512fe9 100644 (file)
@@ -135,6 +135,7 @@ S:  Maintained
 T:     git git://git.denx.de/u-boot-marvell.git
 F:     arch/arm/mach-kirkwood/
 F:     arch/arm/mach-mvebu/
+F:     drivers/ata/ahci_mvebu.c
 
 ARM MARVELL PXA
 M:     Marek Vasut <marex@denx.de>
index 3b9a8116d8e69fe644a00bfa3bbb516fffae1206..ade7b870646f9cc8bbbde70fe4c7ff8e2875b587 100644 (file)
@@ -7,7 +7,6 @@ ifdef CONFIG_ARM64
 obj-$(CONFIG_ARMADA_3700) += armada3700/
 obj-$(CONFIG_ARMADA_8K) += armada8k/
 obj-y += arm64-common.o
-obj-$(CONFIG_AHCI) += sata.o
 
 else # CONFIG_ARM64
 
diff --git a/arch/arm/mach-mvebu/sata.c b/arch/arm/mach-mvebu/sata.c
deleted file mode 100644 (file)
index 3ae8dae..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Copyright (C) 2016 Stefan Roese <sr@denx.de>
- */
-
-#include <common.h>
-#include <ahci.h>
-#include <dm.h>
-
-/*
- * Dummy implementation that can be overwritten by a board
- * specific function
- */
-__weak int board_ahci_enable(void)
-{
-       return 0;
-}
-
-#ifdef CONFIG_ARMADA_8K
-/* CP110 has different AHCI port addresses */
-void __iomem *ahci_port_base(void __iomem *base, u32 port)
-{
-       return base + 0x10000 + (port * 0x10000);
-}
-#endif
-
-static int mvebu_ahci_probe(struct udevice *dev)
-{
-       /*
-        * Board specific SATA / AHCI enable code, e.g. enable the
-        * AHCI power or deassert reset
-        */
-       board_ahci_enable();
-
-       ahci_init(devfdt_get_addr_ptr(dev));
-
-       return 0;
-}
-
-static const struct udevice_id mvebu_ahci_ids[] = {
-       { .compatible = "marvell,armada-3700-ahci" },
-       { .compatible = "marvell,armada-8k-ahci" },
-       { }
-};
-
-U_BOOT_DRIVER(ahci_mvebu_drv) = {
-       .name           = "ahci_mvebu",
-       .id             = UCLASS_AHCI,
-       .of_match       = mvebu_ahci_ids,
-       .probe          = mvebu_ahci_probe,
-};
index 86ec628104b2055a82cb67a2058c9376f0986142..36e1748a4fa679b47e2ce6a6638922d677a44822 100644 (file)
@@ -99,4 +99,14 @@ config SATA_SIL3114
        help
          Enable this driver to support the SIL3114 SATA controllers.
 
+config AHCI_MVEBU
+       bool "Marvell EBU AHCI SATA support"
+       depends on ARCH_MVEBU
+       depends on AHCI
+       select SCSI_AHCI
+       help
+         This option enables support for the Marvell EBU SoC's
+         onboard AHCI SATA.
+
+         If unsure, say N.
 endmenu
index 02f02c8e8dd5140aa4856c819785465a68545766..10bed53bb3f297a119f4d1b0a59c96971d7b6c10 100644 (file)
@@ -17,3 +17,4 @@ obj-$(CONFIG_SATA_MV) += sata_mv.o
 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
diff --git a/drivers/ata/ahci_mvebu.c b/drivers/ata/ahci_mvebu.c
new file mode 100644 (file)
index 0000000..3ae8dae
--- /dev/null
@@ -0,0 +1,51 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2016 Stefan Roese <sr@denx.de>
+ */
+
+#include <common.h>
+#include <ahci.h>
+#include <dm.h>
+
+/*
+ * Dummy implementation that can be overwritten by a board
+ * specific function
+ */
+__weak int board_ahci_enable(void)
+{
+       return 0;
+}
+
+#ifdef CONFIG_ARMADA_8K
+/* CP110 has different AHCI port addresses */
+void __iomem *ahci_port_base(void __iomem *base, u32 port)
+{
+       return base + 0x10000 + (port * 0x10000);
+}
+#endif
+
+static int mvebu_ahci_probe(struct udevice *dev)
+{
+       /*
+        * Board specific SATA / AHCI enable code, e.g. enable the
+        * AHCI power or deassert reset
+        */
+       board_ahci_enable();
+
+       ahci_init(devfdt_get_addr_ptr(dev));
+
+       return 0;
+}
+
+static const struct udevice_id mvebu_ahci_ids[] = {
+       { .compatible = "marvell,armada-3700-ahci" },
+       { .compatible = "marvell,armada-8k-ahci" },
+       { }
+};
+
+U_BOOT_DRIVER(ahci_mvebu_drv) = {
+       .name           = "ahci_mvebu",
+       .id             = UCLASS_AHCI,
+       .of_match       = mvebu_ahci_ids,
+       .probe          = mvebu_ahci_probe,
+};