aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2022-04-02 16:08:11 +0200
committerArnd Bergmann <arnd@arndb.de>2022-04-08 17:19:18 +0200
commit8c1fb11b8a77dc489a8ef6d96c38c1297b629d06 (patch)
treead8c04edd8dc59dec3e08a5bb133b3fa73273298
parentARM: s3c24xx: convert to sparse-irq (diff)
downloadlinux-dev-8c1fb11b8a77dc489a8ef6d96c38c1297b629d06.tar.xz
linux-dev-8c1fb11b8a77dc489a8ef6d96c38c1297b629d06.zip
ARM: s3c: enable s3c24xx multiplatform support
With the custom ISA I/O and the missing sparse-irq support out of the way, s3c24xx can now be built into the same kernel as all other ARM9 based platforms. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--arch/arm/Kconfig18
-rw-r--r--arch/arm/configs/mini2440_defconfig2
-rw-r--r--arch/arm/configs/s3c2410_defconfig3
-rw-r--r--arch/arm/configs/tct_hammer_defconfig2
-rw-r--r--arch/arm/mach-s3c/Kconfig.s3c24xx23
5 files changed, 29 insertions, 19 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index c06e008c90ab..68b0a857f9e5 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -438,24 +438,6 @@ config ARCH_SA1100
help
Support for StrongARM 11x0 based boards.
-config ARCH_S3C24XX
- bool "Samsung S3C24XX SoCs"
- select ATAGS
- select CLKSRC_SAMSUNG_PWM
- select GPIO_SAMSUNG
- select GPIOLIB
- select IRQ_DOMAIN
- select S3C2410_WATCHDOG
- select SAMSUNG_ATAGS
- select SPARSE_IRQ
- select USE_OF
- select WATCHDOG
- help
- Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
- and S3C2450 SoCs based systems, such as the Simtec Electronics BAST
- (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
- Samsung SMDK2410 development board (and derivatives).
-
config ARCH_OMAP1
bool "TI OMAP1"
select ARCH_OMAP
diff --git a/arch/arm/configs/mini2440_defconfig b/arch/arm/configs/mini2440_defconfig
index 898490aaa39e..0a2e97de3cf3 100644
--- a/arch/arm/configs/mini2440_defconfig
+++ b/arch/arm/configs/mini2440_defconfig
@@ -4,6 +4,8 @@ CONFIG_POSIX_MQUEUE=y
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
# CONFIG_COMPAT_BRK is not set
+CONFIG_ARCH_MULTI_V4T=y
+# CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_S3C24XX=y
CONFIG_S3C_ADC=y
CONFIG_S3C24XX_PWM=y
diff --git a/arch/arm/configs/s3c2410_defconfig b/arch/arm/configs/s3c2410_defconfig
index 153009130dab..2b66ea69bd8f 100644
--- a/arch/arm/configs/s3c2410_defconfig
+++ b/arch/arm/configs/s3c2410_defconfig
@@ -4,6 +4,9 @@ CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=16
CONFIG_BLK_DEV_INITRD=y
CONFIG_SLAB=y
+CONFIG_ARCH_MULTI_V4T=y
+CONFIG_ARCH_MULTI_V5=y
+# CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_S3C24XX=y
CONFIG_S3C_ADC=y
CONFIG_CPU_S3C2412=y
diff --git a/arch/arm/configs/tct_hammer_defconfig b/arch/arm/configs/tct_hammer_defconfig
index 3a9503fe84cb..46cbae6d1b1f 100644
--- a/arch/arm/configs/tct_hammer_defconfig
+++ b/arch/arm/configs/tct_hammer_defconfig
@@ -13,6 +13,8 @@ CONFIG_SLOB=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set
+CONFIG_ARCH_MULTI_V4T=y
+# CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_S3C24XX=y
CONFIG_MACH_TCT_HAMMER=y
CONFIG_ZBOOT_ROM_TEXT=0x0
diff --git a/arch/arm/mach-s3c/Kconfig.s3c24xx b/arch/arm/mach-s3c/Kconfig.s3c24xx
index d47df6427e89..e388e265ba83 100644
--- a/arch/arm/mach-s3c/Kconfig.s3c24xx
+++ b/arch/arm/mach-s3c/Kconfig.s3c24xx
@@ -5,6 +5,22 @@
#
# Copyright 2007 Simtec Electronics
+menuconfig ARCH_S3C24XX
+ bool "Samsung S3C24XX SoCs"
+ depends on ARCH_MULTI_V4T || ARCH_MULTI_V5
+ select ATAGS
+ select CLKSRC_SAMSUNG_PWM
+ select GPIO_SAMSUNG
+ select GPIOLIB
+ select S3C2410_WATCHDOG
+ select SAMSUNG_ATAGS
+ select WATCHDOG
+ help
+ Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
+ and S3C2450 SoCs based systems, such as the Simtec Electronics BAST
+ (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
+ Samsung SMDK2410 development board (and derivatives).
+
if ARCH_S3C24XX
config PLAT_S3C24XX
@@ -12,7 +28,6 @@ config PLAT_S3C24XX
select GPIOLIB
select NO_IOPORT_MAP
select S3C_DEV_NAND
- select IRQ_DOMAIN
select COMMON_CLK
help
Base platform code for any Samsung S3C24XX device
@@ -25,6 +40,7 @@ comment "S3C24XX SoCs"
config CPU_S3C2410
bool "Samsung S3C2410"
+ depends on ARCH_MULTI_V4T
default y
select CPU_ARM920T
select S3C2410_COMMON_CLK
@@ -36,6 +52,7 @@ config CPU_S3C2410
config CPU_S3C2412
bool "Samsung S3C2412"
+ depends on ARCH_MULTI_V5
select CPU_ARM926T
select S3C2412_COMMON_CLK
select S3C2412_PM if PM_SLEEP
@@ -44,6 +61,7 @@ config CPU_S3C2412
config CPU_S3C2416
bool "Samsung S3C2416/S3C2450"
+ depends on ARCH_MULTI_V5
select CPU_ARM926T
select S3C2416_PM if PM_SLEEP
select S3C2443_COMMON_CLK
@@ -52,6 +70,7 @@ config CPU_S3C2416
config CPU_S3C2440
bool "Samsung S3C2440"
+ depends on ARCH_MULTI_V4T
select CPU_ARM920T
select S3C2410_COMMON_CLK
select S3C2410_PM if PM_SLEEP
@@ -60,6 +79,7 @@ config CPU_S3C2440
config CPU_S3C2442
bool "Samsung S3C2442"
+ depends on ARCH_MULTI_V4T
select CPU_ARM920T
select S3C2410_COMMON_CLK
select S3C2410_PM if PM_SLEEP
@@ -72,6 +92,7 @@ config CPU_S3C244X
config CPU_S3C2443
bool "Samsung S3C2443"
+ depends on ARCH_MULTI_V4T
select CPU_ARM920T
select S3C2443_COMMON_CLK
help