Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+56
+9
Documentation/devicetree/bindings/arm/bcm/bcm63138.txt
··· 1 + Broadcom BCM63138 DSL System-on-a-Chip device tree bindings 2 + ----------------------------------------------------------- 3 + 4 + Boards compatible with the BCM63138 DSL System-on-a-Chip should have the 5 + following properties: 6 + 7 + Required root node property: 8 + 9 + compatible: should be "brcm,bcm63138"
+17
arch/arm/mach-bcm/Kconfig
··· 99 99 different SoC or with the older BCM47XX and BCM53XX based 100 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 119 config ARCH_BRCMSTB 103 120 bool "Broadcom BCM7XXX based boards" if ARCH_MULTI_V7 104 121 depends on MMU
+3
arch/arm/mach-bcm/Makefile
··· 34 34 # BCM5301X 35 35 obj-$(CONFIG_ARCH_BCM_5301X) += bcm_5301x.o 36 36 37 + # BCM63XXx 38 + obj-$(CONFIG_ARCH_BCM_63XX) := bcm63xx.o 39 + 37 40 ifeq ($(CONFIG_ARCH_BRCMSTB),y) 38 41 obj-y += brcmstb.o 39 42 obj-$(CONFIG_SMP) += headsmp-brcmstb.o platsmp-brcmstb.o
+27
arch/arm/mach-bcm/bcm63xx.c
··· 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