aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Brand <chris.brand@broadcom.com>2016-05-11 17:36:20 -0400
committerFlorian Fainelli <f.fainelli@gmail.com>2016-06-06 14:47:28 -0400
commit4533d5f7dd8bcf4d9348f1f8b707ca2599531183 (patch)
treeb89bf858ca355b5fe0e81e0394e5ebb7a4070d7e
parent406c8f6c9954da1a521f2cb7efbee730e40b95b9 (diff)
ARM: Add support for Broadcom BCM23550 SoC
BCM23550 is a quad-A7 SoC used on the Broadcom "Sparrow" board. It shares many IP blocks with other Broadcom Kona chips. Signed-off-by: Chris Brand <chris.brand@broadcom.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
-rw-r--r--arch/arm/mach-bcm/Kconfig12
-rw-r--r--arch/arm/mach-bcm/Makefile5
-rw-r--r--arch/arm/mach-bcm/board_bcm23550.c25
3 files changed, 39 insertions, 3 deletions
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
index 68ab6412392a..5832dbae530f 100644
--- a/arch/arm/mach-bcm/Kconfig
+++ b/arch/arm/mach-bcm/Kconfig
@@ -111,9 +111,17 @@ config ARCH_BCM_21664
111 Enable support for the BCM21664 family, which includes 111 Enable support for the BCM21664 family, which includes
112 BCM21663 and BCM21664 variants. 112 BCM21663 and BCM21664 variants.
113 113
114config ARCH_BCM_23550
115 bool "Broadcom BCM23550 SoC"
116 depends on ARCH_MULTI_V7
117 select ARCH_BCM_MOBILE
118 select HAVE_SMP
119 help
120 Enable support for the BCM23550.
121
114config ARCH_BCM_MOBILE_L2_CACHE 122config ARCH_BCM_MOBILE_L2_CACHE
115 bool "Broadcom mobile SoC level 2 cache support" 123 bool "Broadcom mobile SoC level 2 cache support"
116 depends on ARCH_BCM_MOBILE 124 depends on ARCH_BCM_281XX || ARCH_BCM_21664
117 default y 125 default y
118 select CACHE_L2X0 126 select CACHE_L2X0
119 select ARCH_BCM_MOBILE_SMC 127 select ARCH_BCM_MOBILE_SMC
@@ -128,7 +136,7 @@ config ARCH_BCM_MOBILE_SMP
128 select HAVE_ARM_SCU 136 select HAVE_ARM_SCU
129 select ARM_ERRATA_764369 137 select ARM_ERRATA_764369
130 help 138 help
131 SMP support for the BCM281XX and BCM21664 SoC families. 139 SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families.
132 Provided as an option so SMP support for SoCs of this type 140 Provided as an option so SMP support for SoCs of this type
133 can be disabled for an SMP-enabled kernel. 141 can be disabled for an SMP-enabled kernel.
134 142
diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile
index 7d665151c772..980f5850097c 100644
--- a/arch/arm/mach-bcm/Makefile
+++ b/arch/arm/mach-bcm/Makefile
@@ -26,7 +26,10 @@ obj-$(CONFIG_ARCH_BCM_281XX) += board_bcm281xx.o
26# BCM21664 26# BCM21664
27obj-$(CONFIG_ARCH_BCM_21664) += board_bcm21664.o 27obj-$(CONFIG_ARCH_BCM_21664) += board_bcm21664.o
28 28
29# BCM281XX and BCM21664 SMP support 29# BCM23550
30obj-$(CONFIG_ARCH_BCM_23550) += board_bcm23550.o
31
32# BCM281XX, BCM21664 and BCM23550 SMP support
30obj-$(CONFIG_ARCH_BCM_MOBILE_SMP) += platsmp.o 33obj-$(CONFIG_ARCH_BCM_MOBILE_SMP) += platsmp.o
31 34
32# BCM281XX and BCM21664 L2 cache control 35# BCM281XX and BCM21664 L2 cache control
diff --git a/arch/arm/mach-bcm/board_bcm23550.c b/arch/arm/mach-bcm/board_bcm23550.c
new file mode 100644
index 000000000000..0ac01debd077
--- /dev/null
+++ b/arch/arm/mach-bcm/board_bcm23550.c
@@ -0,0 +1,25 @@
1/*
2 * Copyright (C) 2016 Broadcom
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 <linux/of_platform.h>
15
16#include <asm/mach/arch.h>
17
18static const char * const bcm23550_dt_compat[] = {
19 "brcm,bcm23550",
20 NULL,
21};
22
23DT_MACHINE_START(BCM23550_DT, "BCM23550 Broadcom Application Processor")
24 .dt_compat = bcm23550_dt_compat,
25MACHINE_END