ARM: dove: multiplatform support
authorArnd Bergmann <arnd@arndb.de>
Sun, 23 Feb 2014 10:30:13 +0000 (11:30 +0100)
committerArnd Bergmann <arnd@arndb.de>
Mon, 4 Apr 2022 08:22:37 +0000 (10:22 +0200)
The dove platform is now ready to be enabled for multiplatform
support, this patch does the switch over by modifying the Kconfig file,
the defconfig and removing the last mach/*.h header that becomes obsolete
with this.

This work was originally done in 2015 as all the ARMv7 machiens
gove moved over to multiplatform builds, but at the time it conflicted
with some patches that Russell was trying to upstream, so we
left it at that.

I hope that there is no longer a need to keep dove separate from the
rest, so we can either add it to the other ARMv7 platforms, or just
replace it with the DT based platform code for the same hardware
in mach-mvebu and remove mach-dove entirely.

Acked-by: Andrew Lunn <andrew@lunn.ch>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Gregory Clement <gregory.clement@bootlin.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/Kconfig
arch/arm/configs/dove_defconfig
arch/arm/mach-dove/Kconfig
arch/arm/mach-dove/Makefile
arch/arm/mach-dove/include/mach/uncompress.h [deleted file]

index 2bd611beefe116be5bb549185a95aca752e2f0b5..faf696173af75fd5f7767d429baa2d8efabec2be 100644 (file)
@@ -383,20 +383,6 @@ config ARCH_IXP4XX
        help
          Support for Intel's IXP4XX (XScale) family of processors.
 
-config ARCH_DOVE
-       bool "Marvell Dove"
-       select CPU_PJ4
-       select GPIOLIB
-       select HAVE_PCI
-       select MVEBU_MBUS
-       select PINCTRL
-       select PINCTRL_DOVE
-       select PLAT_ORION_LEGACY
-       select SPARSE_IRQ
-       select PM_GENERIC_DOMAINS if PM
-       help
-         Support for the Marvell Dove SoC 88AP510
-
 config ARCH_PXA
        bool "PXA2xx/PXA3xx-based"
        select ARCH_MTD_XIP
index 33074fdab2ea32e1c2911d8ccc36cc97da2df347..f8fb4758f80d402a630d4c89fb927ba6a9d48cd8 100644 (file)
@@ -8,6 +8,8 @@ CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
 # CONFIG_BLK_DEV_BSG is not set
 CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ARCH_MULTI_V6 is not set
+CONFIG_ARCH_MULTI_V7=y
 CONFIG_ARCH_DOVE=y
 CONFIG_MACH_DOVE_DB=y
 CONFIG_MACH_CM_A510=y
index 7747fe64420a2c23233d7a5feabe932d70508495..c30c69c664ea81d989dbadd3b59796d98f0c404d 100644 (file)
@@ -1,7 +1,17 @@
 # SPDX-License-Identifier: GPL-2.0
-if ARCH_DOVE
+menuconfig ARCH_DOVE
+       bool "Marvell Dove" if ARCH_MULTI_V7
+       select CPU_PJ4
+       select GPIOLIB
+       select MVEBU_MBUS
+       select PINCTRL
+       select PINCTRL_DOVE
+       select PLAT_ORION_LEGACY
+       select PM_GENERIC_DOMAINS if PM
+       help
+         Support for the Marvell Dove SoC 88AP510
 
-menu "Marvell Dove Implementations"
+if ARCH_DOVE
 
 config DOVE_LEGACY
        bool
@@ -21,6 +31,4 @@ config MACH_CM_A510
          Say 'Y' here if you want your kernel to support the
          CompuLab CM-A510 Board.
 
-endmenu
-
 endif
index cdf163cab7387b5723bbbb9ed6746c947696c8af..e83f6492834d4ef2b7dedaf7c53c1ec25331c019 100644 (file)
@@ -1,4 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-orion/include
+
 obj-y                          += common.o
 obj-$(CONFIG_DOVE_LEGACY)      += irq.o mpp.o
 obj-$(CONFIG_PCI)              += pcie.o
diff --git a/arch/arm/mach-dove/include/mach/uncompress.h b/arch/arm/mach-dove/include/mach/uncompress.h
deleted file mode 100644 (file)
index ddf873f..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * This file is licensed under the terms of the GNU General Public
- * License version 2.  This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-#define UART0_PHYS_BASE (0xf1000000 + 0x12000)
-
-#define UART_THR ((volatile unsigned char *)(UART0_PHYS_BASE + 0x0))
-#define UART_LSR ((volatile unsigned char *)(UART0_PHYS_BASE + 0x14))
-
-#define LSR_THRE       0x20
-
-static inline void putc(const char c)
-{
-       int i;
-
-       for (i = 0; i < 0x1000; i++) {
-               /* Transmit fifo not full? */
-               if (*UART_LSR & LSR_THRE)
-                       break;
-       }
-
-       *UART_THR = c;
-}
-
-static inline void flush(void)
-{
-}
-
-/*
- * nothing to do
- */
-#define arch_decomp_setup()