ARM: npcm: Introduce Nuvoton WPCM450 SoC
authorJonathan Neuschäfer <j.neuschaefer@gmx.net>
Tue, 6 Apr 2021 12:09:16 +0000 (14:09 +0200)
committerJoel Stanley <joel@jms.id.au>
Fri, 9 Apr 2021 04:41:22 +0000 (14:11 +0930)
The WPCM450 is an older BMC SoC in the Nuvoton NPCM family, originally
marketed as Winbond WPCM450.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210406120921.2484986-6-j.neuschaefer@gmx.net
Signed-off-by: Joel Stanley <joel@jms.id.au>
arch/arm/mach-npcm/Kconfig
arch/arm/mach-npcm/Makefile
arch/arm/mach-npcm/wpcm450.c [new file with mode: 0644]

index 7f7002d..658c8ef 100644 (file)
@@ -1,11 +1,21 @@
 # SPDX-License-Identifier: GPL-2.0-only
 menuconfig ARCH_NPCM
        bool "Nuvoton NPCM Architecture"
-       depends on ARCH_MULTI_V7
+       depends on ARCH_MULTI_V5 || ARCH_MULTI_V7
        select PINCTRL
 
 if ARCH_NPCM
 
+config ARCH_WPCM450
+       bool "Support for WPCM450 BMC (Hermon)"
+       depends on ARCH_MULTI_V5
+       select CPU_ARM926T
+       select NPCM7XX_TIMER
+       help
+         General support for WPCM450 BMC (Hermon).
+
+         Winbond/Nuvoton WPCM450 BMC based on the ARM926EJ-S.
+
 config ARCH_NPCM7XX
        bool "Support for NPCM7xx BMC (Poleg)"
        depends on ARCH_MULTI_V7
index 1bc3a70..8d61fcd 100644 (file)
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 AFLAGS_headsmp.o               += -march=armv7-a
 
+obj-$(CONFIG_ARCH_WPCM450)     += wpcm450.o
 obj-$(CONFIG_ARCH_NPCM7XX)     += npcm7xx.o
 obj-$(CONFIG_SMP)              += platsmp.o headsmp.o
diff --git a/arch/arm/mach-npcm/wpcm450.c b/arch/arm/mach-npcm/wpcm450.c
new file mode 100644 (file)
index 0000000..f17b3da
--- /dev/null
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: GPL-2.0
+// Copyright 2021 Jonathan Neuschäfer
+
+#include <asm/mach/arch.h>
+
+static const char *const wpcm450_dt_match[] = {
+       "nuvoton,wpcm450",
+       NULL
+};
+
+DT_MACHINE_START(WPCM450_DT, "WPCM450 chip")
+       .dt_compat      = wpcm450_dt_match,
+MACHINE_END