diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2014-02-20 18:53:13 -0500 |
---|---|---|
committer | Florian Fainelli <f.fainelli@gmail.com> | 2014-09-17 13:56:06 -0400 |
commit | dc6aec60e15fec86cdafc47d9fe3e2ca6c10958b (patch) | |
tree | 64f8c178de597fbcf05fa6042bef4e13d1cbc8ad /arch/arm/mach-bcm | |
parent | 7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9 (diff) |
ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC
This patch adds basic support for the Broadcom BCM63138 DSL SoC which is
using a dual-core Cortex A9 system. Add the very minimum required code
boot Linux on this SoC.
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Diffstat (limited to 'arch/arm/mach-bcm')
-rw-r--r-- | arch/arm/mach-bcm/Kconfig | 17 | ||||
-rw-r--r-- | arch/arm/mach-bcm/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/mach-bcm/bcm63xx.c | 27 |
3 files changed, 47 insertions, 0 deletions
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig index fc938005ad39..2abad742516d 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig | |||
@@ -99,6 +99,23 @@ config ARCH_BCM_5301X | |||
99 | different SoC or with the older BCM47XX and BCM53XX based | 99 | different SoC or with the older BCM47XX and BCM53XX based |
100 | network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx | 100 | network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx |
101 | 101 | ||
102 | config ARCH_BCM_63XX | ||
103 | bool "Broadcom BCM63xx DSL SoC" if ARCH_MULTI_V7 | ||
104 | depends on MMU | ||
105 | select ARM_ERRATA_754322 | ||
106 | select ARM_ERRATA_764369 if SMP | ||
107 | select ARM_GIC | ||
108 | select ARM_GLOBAL_TIMER | ||
109 | select CACHE_L2X0 | ||
110 | select HAVE_ARM_ARCH_TIMER | ||
111 | select HAVE_ARM_TWD if SMP | ||
112 | select HAVE_ARM_SCU if SMP | ||
113 | select HAVE_SMP | ||
114 | help | ||
115 | This enables support for systems based on Broadcom DSL SoCs. | ||
116 | It currently supports the 'BCM63XX' ARM-based family, which includes | ||
117 | the BCM63138 variant. | ||
118 | |||
102 | config ARCH_BRCMSTB | 119 | config ARCH_BRCMSTB |
103 | bool "Broadcom BCM7XXX based boards" if ARCH_MULTI_V7 | 120 | bool "Broadcom BCM7XXX based boards" if ARCH_MULTI_V7 |
104 | depends on MMU | 121 | depends on MMU |
diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile index 67c492aabf4d..cbbb0be54554 100644 --- a/arch/arm/mach-bcm/Makefile +++ b/arch/arm/mach-bcm/Makefile | |||
@@ -34,6 +34,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2835.o | |||
34 | # BCM5301X | 34 | # BCM5301X |
35 | obj-$(CONFIG_ARCH_BCM_5301X) += bcm_5301x.o | 35 | obj-$(CONFIG_ARCH_BCM_5301X) += bcm_5301x.o |
36 | 36 | ||
37 | # BCM63XXx | ||
38 | obj-$(CONFIG_ARCH_BCM_63XX) := bcm63xx.o | ||
39 | |||
37 | ifeq ($(CONFIG_ARCH_BRCMSTB),y) | 40 | ifeq ($(CONFIG_ARCH_BRCMSTB),y) |
38 | obj-y += brcmstb.o | 41 | obj-y += brcmstb.o |
39 | obj-$(CONFIG_SMP) += headsmp-brcmstb.o platsmp-brcmstb.o | 42 | obj-$(CONFIG_SMP) += headsmp-brcmstb.o platsmp-brcmstb.o |
diff --git a/arch/arm/mach-bcm/bcm63xx.c b/arch/arm/mach-bcm/bcm63xx.c new file mode 100644 index 000000000000..c4c66ae51308 --- /dev/null +++ b/arch/arm/mach-bcm/bcm63xx.c | |||
@@ -0,0 +1,27 @@ | |||
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 <linux/of_platform.h> | ||
15 | |||
16 | #include <asm/mach/arch.h> | ||
17 | |||
18 | static const char * const bcm63xx_dt_compat[] = { | ||
19 | "brcm,bcm63138", | ||
20 | NULL | ||
21 | }; | ||
22 | |||
23 | DT_MACHINE_START(BCM63XXX_DT, "BCM63xx DSL SoC") | ||
24 | .dt_compat = bcm63xx_dt_compat, | ||
25 | .l2c_aux_val = 0, | ||
26 | .l2c_aux_mask = ~0, | ||
27 | MACHINE_END | ||