aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Richardson <jonathar@broadcom.com>2014-08-15 15:52:00 -0400
committerFlorian Fainelli <f.fainelli@gmail.com>2014-11-12 01:35:35 -0500
commit1b475f8d02f98d6ca549b12c7c64e9c27b6a4c8e (patch)
tree9e84c144a799b529a826cfefc7a16990233ed387
parentf114040e3ea6e07372334ade75d1ee0775c355e1 (diff)
ARM: cygnus: Initial support for Broadcom Cygnus SoC
Adds initial support for the Cygnus SoC based on Broadcom’s iProc series. Reviewed-by: Ray Jui <rjui@broadcom.com> Reviewed-by: Desmond Liu <desmondl@broadcom.com> Reviewed-by: JD (Jiandong) Zheng <jdzheng@broadcom.com> Tested-by: Jonathan Richardson <jonathar@broadcom.com> Signed-off-by: Scott Branden <sbranden@broadcom.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
-rw-r--r--arch/arm/mach-bcm/Kconfig32
-rw-r--r--arch/arm/mach-bcm/Makefile3
-rw-r--r--arch/arm/mach-bcm/bcm_cygnus.c25
3 files changed, 60 insertions, 0 deletions
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
index 2abad742516d..73d95c2b355b 100644
--- a/arch/arm/mach-bcm/Kconfig
+++ b/arch/arm/mach-bcm/Kconfig
@@ -5,6 +5,36 @@ menuconfig ARCH_BCM
5 5
6if ARCH_BCM 6if ARCH_BCM
7 7
8comment "IPROC architected SoCs"
9
10config ARCH_BCM_IPROC
11 bool
12 select ARM_GIC
13 select CACHE_L2X0
14 select HAVE_ARM_SCU if SMP
15 select HAVE_ARM_TWD if SMP
16 select ARM_GLOBAL_TIMER
17
18 select CLKSRC_MMIO
19 select ARCH_REQUIRE_GPIOLIB
20 select ARM_AMBA
21 select PINCTRL
22 help
23 This enables support for systems based on Broadcom IPROC architected SoCs.
24 The IPROC complex contains one or more ARM CPUs along with common
25 core periperals. Application specific SoCs are created by adding a
26 uArchitecture containing peripherals outside of the IPROC complex.
27 Currently supported SoCs are Cygnus.
28
29config ARCH_BCM_CYGNUS
30 bool "Broadcom Cygnus Support" if ARCH_MULTI_V7
31 select ARCH_BCM_IPROC
32 help
33 Enable support for the Cygnus family,
34 which includes the following variants:
35 BCM11300, BCM11320, BCM11350, BCM11360,
36 BCM58300, BCM58302, BCM58303, BCM58305.
37
8config ARCH_BCM_MOBILE 38config ARCH_BCM_MOBILE
9 bool "Broadcom Mobile SoC Support" if ARCH_MULTI_V7 39 bool "Broadcom Mobile SoC Support" if ARCH_MULTI_V7
10 select ARCH_REQUIRE_GPIOLIB 40 select ARCH_REQUIRE_GPIOLIB
@@ -65,6 +95,8 @@ endmenu
65 95
66endif 96endif
67 97
98comment "Other Architectures"
99
68config ARCH_BCM2835 100config ARCH_BCM2835
69 bool "Broadcom BCM2835 family" if ARCH_MULTI_V6 101 bool "Broadcom BCM2835 family" if ARCH_MULTI_V6
70 select ARCH_REQUIRE_GPIOLIB 102 select ARCH_REQUIRE_GPIOLIB
diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile
index 300ae4b79ae6..34d45ba2a4d1 100644
--- a/arch/arm/mach-bcm/Makefile
+++ b/arch/arm/mach-bcm/Makefile
@@ -10,6 +10,9 @@
10# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details. 11# GNU General Public License for more details.
12 12
13# Cygnus
14obj-$(CONFIG_ARCH_BCM_CYGNUS) += bcm_cygnus.o
15
13# BCM281XX 16# BCM281XX
14obj-$(CONFIG_ARCH_BCM_281XX) += board_bcm281xx.o 17obj-$(CONFIG_ARCH_BCM_281XX) += board_bcm281xx.o
15 18
diff --git a/arch/arm/mach-bcm/bcm_cygnus.c b/arch/arm/mach-bcm/bcm_cygnus.c
new file mode 100644
index 000000000000..30dc58be51b8
--- /dev/null
+++ b/arch/arm/mach-bcm/bcm_cygnus.c
@@ -0,0 +1,25 @@
1/*
2 * Copyright (C) 2014 Broadcom Corporation
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation version 2.
7 *
8 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
9 * kind, whether express or implied; without even the implied warranty
10 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14#include <asm/mach/arch.h>
15
16static const char const *bcm_cygnus_dt_compat[] = {
17 "brcm,cygnus",
18 NULL,
19};
20
21DT_MACHINE_START(BCM_CYGNUS_DT, "Broadcom Cygnus SoC")
22 .l2c_aux_val = 0,
23 .l2c_aux_mask = ~0,
24 .dt_compat = bcm_cygnus_dt_compat,
25MACHINE_END