diff options
author | Chris Brand <chris.brand@broadcom.com> | 2016-05-11 17:36:20 -0400 |
---|---|---|
committer | Florian Fainelli <f.fainelli@gmail.com> | 2016-06-06 14:47:28 -0400 |
commit | 4533d5f7dd8bcf4d9348f1f8b707ca2599531183 (patch) | |
tree | b89bf858ca355b5fe0e81e0394e5ebb7a4070d7e | |
parent | 406c8f6c9954da1a521f2cb7efbee730e40b95b9 (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/Kconfig | 12 | ||||
-rw-r--r-- | arch/arm/mach-bcm/Makefile | 5 | ||||
-rw-r--r-- | arch/arm/mach-bcm/board_bcm23550.c | 25 |
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 | ||
114 | config 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 | |||
114 | config ARCH_BCM_MOBILE_L2_CACHE | 122 | config 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 |
27 | obj-$(CONFIG_ARCH_BCM_21664) += board_bcm21664.o | 27 | obj-$(CONFIG_ARCH_BCM_21664) += board_bcm21664.o |
28 | 28 | ||
29 | # BCM281XX and BCM21664 SMP support | 29 | # BCM23550 |
30 | obj-$(CONFIG_ARCH_BCM_23550) += board_bcm23550.o | ||
31 | |||
32 | # BCM281XX, BCM21664 and BCM23550 SMP support | ||
30 | obj-$(CONFIG_ARCH_BCM_MOBILE_SMP) += platsmp.o | 33 | obj-$(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 | |||
18 | static const char * const bcm23550_dt_compat[] = { | ||
19 | "brcm,bcm23550", | ||
20 | NULL, | ||
21 | }; | ||
22 | |||
23 | DT_MACHINE_START(BCM23550_DT, "BCM23550 Broadcom Application Processor") | ||
24 | .dt_compat = bcm23550_dt_compat, | ||
25 | MACHINE_END | ||