Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7bffa14c authored by Brendan Higgins's avatar Brendan Higgins Committed by Arnd Bergmann
Browse files

arm: npcm: add basic support for Nuvoton BMCs



Adds basic support for the Nuvoton NPCM750 BMC.

Signed-off-by: default avatarBrendan Higgins <brendanhiggins@google.com>
Reviewed-by: default avatarTomer Maimon <tmaimon77@gmail.com>
Reviewed-by: default avatarAvi Fishman <avifishman70@gmail.com>
Tested-by: default avatarTomer Maimon <tmaimon77@gmail.com>
Tested-by: default avatarAvi Fishman <avifishman70@gmail.com>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 6a498e06
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -779,6 +779,8 @@ source "arch/arm/mach-netx/Kconfig"

source "arch/arm/mach-nomadik/Kconfig"

source "arch/arm/mach-npcm/Kconfig"

source "arch/arm/mach-nspire/Kconfig"

source "arch/arm/plat-omap/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -196,6 +196,7 @@ machine-$(CONFIG_ARCH_MEDIATEK) += mediatek
machine-$(CONFIG_ARCH_MXS)		+= mxs
machine-$(CONFIG_ARCH_NETX)		+= netx
machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
machine-$(CONFIG_ARCH_NPCM)		+= npcm
machine-$(CONFIG_ARCH_NSPIRE)		+= nspire
machine-$(CONFIG_ARCH_OXNAS)		+= oxnas
machine-$(CONFIG_ARCH_OMAP1)		+= omap1
+48 −0
Original line number Diff line number Diff line
menuconfig ARCH_NPCM
	bool "Nuvoton NPCM Architecture"
	select ARCH_REQUIRE_GPIOLIB
	select USE_OF
	select PINCTRL
	select PINCTRL_NPCM7XX

if ARCH_NPCM

comment "NPCM7XX CPU type"

config ARCH_NPCM750
	depends on ARCH_NPCM && ARCH_MULTI_V7
	bool "Support for NPCM750 BMC CPU (Poleg)"
	select CACHE_L2X0
	select CPU_V7
	select ARM_GIC
	select HAVE_SMP
	select SMP
	select SMP_ON_UP
	select HAVE_ARM_SCU
	select HAVE_ARM_TWD if SMP
	select ARM_ERRATA_720789
	select ARM_ERRATA_754322
	select ARM_ERRATA_764369
	select ARM_ERRATA_794072
	select PL310_ERRATA_588369
	select PL310_ERRATA_727915
	select USB_EHCI_ROOT_HUB_TT
	select USB_ARCH_HAS_HCD
	select USB_ARCH_HAS_EHCI
	select USB_EHCI_HCD
	select USB_ARCH_HAS_OHCI
	select USB_OHCI_HCD
	select USB
	select FIQ
	select CPU_USE_DOMAINS
	select GENERIC_CLOCKEVENTS
	select CLKDEV_LOOKUP
	select COMMON_CLK if OF
	select NPCM750_TIMER
	select MFD_SYSCON
	help
	  Support for NPCM750 BMC CPU (Poleg).

	  Nuvoton NPCM750 BMC based on the Cortex A9.

endif
+3 −0
Original line number Diff line number Diff line
AFLAGS_headsmp.o		+= -march=armv7-a

obj-$(CONFIG_ARCH_NPCM750)	+= npcm7xx.o platsmp.o headsmp.o
+17 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2018 Nuvoton Technology corporation.
// Copyright 2018 Google, Inc.

#include <linux/linkage.h>
#include <linux/init.h>
#include <asm/assembler.h>

/*
 * The boot ROM does not start secondary CPUs in SVC mode, so we need to do that
 * here.
 */
ENTRY(npcm7xx_secondary_startup)
	safe_svcmode_maskall r0

	b	secondary_startup
ENDPROC(npcm7xx_secondary_startup)
Loading