[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20230911140705.59297-8-afd@ti.com>
Date: Mon, 11 Sep 2023 09:07:04 -0500
From: Andrew Davis <afd@...com>
To: Russell King <linux@...linux.org.uk>,
Baruch Siach <baruch@...s.co.il>,
Vladimir Zapolskiy <vz@...ia.com>,
Kunihiko Hayashi <hayashi.kunihiko@...ionext.com>,
Masami Hiramatsu <mhiramat@...nel.org>,
Arnd Bergmann <arnd@...db.de>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Linus Walleij <linus.walleij@...aro.org>
CC: <linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, Andrew Davis <afd@...com>
Subject: [PATCH v2 7/8] ARM: mach-sunplus: Rework support and directory structure
Having a platform need a mach-* directory should be seen as a negative,
it means the platform needs special non-standard handling. ARM64 support
does not allow mach-* directories at all. While we may not get to that
given all the non-standard architectures we support, we should still try
to get as close as we can and reduce the number of mach directories.
The mach-sunplus/ directory and files, provides just one "feature":
having the kernel print the machine name if the DTB does not also contain
a "model" string (which they always do). To reduce the number of mach-*
directories let's do without that feature and remove this directory.
NOTE: The default l2c_aux_mask is now ~0 but these devices never have
this type of cache controller so this is safe.
Signed-off-by: Andrew Davis <afd@...com>
---
MAINTAINERS | 1 -
arch/arm/Kconfig | 2 --
arch/arm/Kconfig.platforms | 29 +++++++++++++++++++++++++++++
arch/arm/Makefile | 1 -
arch/arm/mach-sunplus/Kconfig | 27 ---------------------------
arch/arm/mach-sunplus/Makefile | 8 --------
arch/arm/mach-sunplus/sp7021.c | 16 ----------------
7 files changed, 29 insertions(+), 55 deletions(-)
delete mode 100644 arch/arm/mach-sunplus/Kconfig
delete mode 100644 arch/arm/mach-sunplus/Makefile
delete mode 100644 arch/arm/mach-sunplus/sp7021.c
diff --git a/MAINTAINERS b/MAINTAINERS
index bece2a6dff399..1cde1173e8ae2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2795,7 +2795,6 @@ F: Documentation/devicetree/bindings/interrupt-controller/sunplus,sp7021-intc.ya
F: Documentation/devicetree/bindings/reset/sunplus,reset.yaml
F: arch/arm/boot/dts/sunplus/
F: arch/arm/configs/sp7021_*defconfig
-F: arch/arm/mach-sunplus/
F: drivers/clk/clk-sp7021.c
F: drivers/irqchip/irq-sp7021-intc.c
F: drivers/reset/reset-sunplus.c
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 5002d507bd081..772e7f4df3cd5 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -446,8 +446,6 @@ source "arch/arm/mach-sti/Kconfig"
source "arch/arm/mach-stm32/Kconfig"
-source "arch/arm/mach-sunplus/Kconfig"
-
source "arch/arm/mach-sunxi/Kconfig"
source "arch/arm/mach-tegra/Kconfig"
diff --git a/arch/arm/Kconfig.platforms b/arch/arm/Kconfig.platforms
index 38457d5a18fff..acaced2f0ab04 100644
--- a/arch/arm/Kconfig.platforms
+++ b/arch/arm/Kconfig.platforms
@@ -123,6 +123,35 @@ config ARCH_RDA
help
This enables support for the RDA Micro 8810PL SoC family.
+menuconfig ARCH_SUNPLUS
+ bool "Sunplus SoCs"
+ depends on ARCH_MULTI_V7
+ help
+ Support for Sunplus SoC family: SP7021 and succeeding SoC-based systems,
+ such as the Banana Pi BPI-F2S development board (and derivatives).
+ (<http://www.sinovoip.com.cn/ecp_view.asp?id=586>)
+ (<https://tibbo.com/store/plus1.html>)
+
+if ARCH_SUNPLUS
+
+config SOC_SP7021
+ bool "Sunplus SP7021 SoC support"
+ default ARCH_SUNPLUS
+ select HAVE_ARM_ARCH_TIMER
+ select ARM_GIC
+ select ARM_PSCI
+ select PINCTRL
+ select PINCTRL_SPPCTL
+ select SERIAL_SUNPLUS if TTY
+ select SERIAL_SUNPLUS_CONSOLE if TTY
+ help
+ Support for Sunplus SP7021 SoC. It is based on ARM 4-core
+ Cortex-A7 with various peripherals (e.g.: I2C, SPI, SDIO,
+ Ethernet, etc.), FPGA interface, chip-to-chip bus.
+ It is designed for industrial control.
+
+endif
+
config ARCH_UNIPHIER
bool "Socionext UniPhier SoCs"
depends on ARCH_MULTI_V7
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index e20c8af34d518..63808ed5cf9fd 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -216,7 +216,6 @@ machine-$(CONFIG_ARCH_RENESAS) += shmobile
machine-$(CONFIG_ARCH_INTEL_SOCFPGA) += socfpga
machine-$(CONFIG_ARCH_STI) += sti
machine-$(CONFIG_ARCH_STM32) += stm32
-machine-$(CONFIG_ARCH_SUNPLUS) += sunplus
machine-$(CONFIG_ARCH_SUNXI) += sunxi
machine-$(CONFIG_ARCH_TEGRA) += tegra
machine-$(CONFIG_ARCH_U8500) += ux500
diff --git a/arch/arm/mach-sunplus/Kconfig b/arch/arm/mach-sunplus/Kconfig
deleted file mode 100644
index d0c2416e6f241..0000000000000
--- a/arch/arm/mach-sunplus/Kconfig
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
-
-menuconfig ARCH_SUNPLUS
- bool "Sunplus SoCs"
- depends on ARCH_MULTI_V7
- help
- Support for Sunplus SoC family: SP7021 and succeeding SoC-based systems,
- such as the Banana Pi BPI-F2S development board (and derivatives).
- (<http://www.sinovoip.com.cn/ecp_view.asp?id=586>)
- (<https://tibbo.com/store/plus1.html>)
-
-config SOC_SP7021
- bool "Sunplus SP7021 SoC support"
- depends on ARCH_SUNPLUS
- default ARCH_SUNPLUS
- select HAVE_ARM_ARCH_TIMER
- select ARM_GIC
- select ARM_PSCI
- select PINCTRL
- select PINCTRL_SPPCTL
- select SERIAL_SUNPLUS if TTY
- select SERIAL_SUNPLUS_CONSOLE if TTY
- help
- Support for Sunplus SP7021 SoC. It is based on ARM 4-core
- Cortex-A7 with various peripherals (e.g.: I2C, SPI, SDIO,
- Ethernet, etc.), FPGA interface, chip-to-chip bus.
- It is designed for industrial control.
diff --git a/arch/arm/mach-sunplus/Makefile b/arch/arm/mach-sunplus/Makefile
deleted file mode 100644
index d211de6af2db9..0000000000000
--- a/arch/arm/mach-sunplus/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the linux kernel.
-#
-
-# Object file lists.
-
-obj-$(CONFIG_SOC_SP7021) += sp7021.o
diff --git a/arch/arm/mach-sunplus/sp7021.c b/arch/arm/mach-sunplus/sp7021.c
deleted file mode 100644
index 774d0a5bd4eb0..0000000000000
--- a/arch/arm/mach-sunplus/sp7021.c
+++ /dev/null
@@ -1,16 +0,0 @@
-// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
-/*
- * Copyright (C) Sunplus Technology Co., Ltd.
- * All rights reserved.
- */
-#include <linux/kernel.h>
-#include <asm/mach/arch.h>
-
-static const char *sp7021_compat[] __initconst = {
- "sunplus,sp7021",
- NULL
-};
-
-DT_MACHINE_START(SP7021_DT, "SP7021")
- .dt_compat = sp7021_compat,
-MACHINE_END
--
2.39.2
Powered by blists - more mailing lists