Skip to content

Commit

Permalink
ARM: sunplus: Add initial support for Sunplus SP7021 SoC
Browse files Browse the repository at this point in the history
This patch aims to add an initial support for Sunplus SP7021 SoC.

Signed-off-by: Qin Jian <qinjian@cqplus1.com>
  • Loading branch information
QinJianCQ authored and intel-lab-lkp committed Nov 4, 2021
1 parent 3b35536 commit a0450f4
Show file tree
Hide file tree
Showing 7 changed files with 71 additions and 0 deletions.
1 change: 1 addition & 0 deletions MAINTAINERS
Expand Up @@ -2659,6 +2659,7 @@ F: Documentation/devicetree/bindings/arm/sunplus,sp7021.yaml
F: Documentation/devicetree/bindings/clock/sunplus,sp7021-clkc.yaml
F: Documentation/devicetree/bindings/interrupt-controller/sunplus,sp7021-intc.yaml
F: Documentation/devicetree/bindings/reset/sunplus,reset.yaml
F: arch/arm/mach-sunplus/
F: drivers/clk/clk-sp7021.c
F: drivers/irqchip/irq-sp7021-intc.c
F: drivers/reset/reset-sunplus.c
Expand Down
20 changes: 20 additions & 0 deletions arch/arm/Kconfig
Expand Up @@ -487,6 +487,24 @@ config ARCH_S3C24XX
(<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
Samsung SMDK2410 development board (and derivatives).

config ARCH_SUNPLUS
bool "Sunplus SoCs"
select CLKSRC_OF
select COMMON_CLK
select GENERIC_CLOCKEVENTS
select GENERIC_IRQ_CHIP
select GENERIC_IRQ_MULTI_HANDLER
select SERIAL_SUNPLUS
select SERIAL_SUNPLUS_CONSOLE
select USE_OF
select RTC_CLASS
select RESET_SUNPLUS
help
Support for Sunplus SoC family: SP7021 and succeed SoCs 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 ARCH_OMAP1
bool "TI OMAP1"
depends on MMU
Expand Down Expand Up @@ -689,6 +707,8 @@ 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"
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/Makefile
Expand Up @@ -152,6 +152,7 @@ textofs-$(CONFIG_ARCH_MSM8X60) := 0x00208000
textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
textofs-$(CONFIG_ARCH_MESON) := 0x00208000
textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000
textofs-$(CONFIG_ARCH_SUNPLUS) := 0x00308000

# Machine directory name. This list is sorted alphanumerically
# by CONFIG_* macro name.
Expand Down Expand Up @@ -212,6 +213,7 @@ 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
Expand Down
20 changes: 20 additions & 0 deletions arch/arm/mach-sunplus/Kconfig
@@ -0,0 +1,20 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

config SOC_SP7021
bool "Sunplus SP7021 SoC support"
default y
select CPU_V7
select ARM_GIC
select SUNPLUS_SP7021_INTC
select HAVE_SMP
select ARM_PSCI
select COMMON_CLK_SP7021
select PINCTRL
select PINCTRL_SPPCTL
select OF_OVERLAY
select GPIOLIB
help
Support for Sunplus SP7021 SoC. It is based on ARM 4-core
Cotex-A7 with various peripherals (ex: I2C, SPI, SDIO,
Ethernet and etc.), FPGA interface, chip-to-chip bus.
It is designed for industrial control.
9 changes: 9 additions & 0 deletions arch/arm/mach-sunplus/Makefile
@@ -0,0 +1,9 @@
# SPDX-License-Identifier: GPL-2.0
#
# Makefile for the linux kernel.
#

# Object file lists.

obj-$(CONFIG_SOC_SP7021) += sp7021.o

3 changes: 3 additions & 0 deletions arch/arm/mach-sunplus/Makefile.boot
@@ -0,0 +1,3 @@
# SPDX-License-Identifier: GPL-2.0

zreladdr-$(CONFIG_ARCH_SUNPLUS) := 0x00308000
16 changes: 16 additions & 0 deletions arch/arm/mach-sunplus/sp7021.c
@@ -0,0 +1,16 @@
// 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

0 comments on commit a0450f4

Please sign in to comment.