Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b475f8d authored by Jonathan Richardson's avatar Jonathan Richardson Committed by Florian Fainelli
Browse files

ARM: cygnus: Initial support for Broadcom Cygnus SoC



Adds initial support for the Cygnus SoC based on Broadcom’s iProc series.

Reviewed-by: default avatarRay Jui <rjui@broadcom.com>
Reviewed-by: default avatarDesmond Liu <desmondl@broadcom.com>
Reviewed-by: default avatarJD (Jiandong) Zheng <jdzheng@broadcom.com>
Tested-by: default avatarJonathan Richardson <jonathar@broadcom.com>
Signed-off-by: default avatarScott Branden <sbranden@broadcom.com>
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
parent f114040e
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -5,6 +5,36 @@ menuconfig ARCH_BCM

if ARCH_BCM

comment "IPROC architected SoCs"

config ARCH_BCM_IPROC
	bool
	select ARM_GIC
	select CACHE_L2X0
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if SMP
	select ARM_GLOBAL_TIMER

	select CLKSRC_MMIO
	select ARCH_REQUIRE_GPIOLIB
	select ARM_AMBA
	select PINCTRL
	help
	  This enables support for systems based on Broadcom IPROC architected SoCs.
	  The IPROC complex contains one or more ARM CPUs along with common
	  core periperals. Application specific SoCs are created by adding a
	  uArchitecture containing peripherals outside of the IPROC complex.
	  Currently supported SoCs are Cygnus.

config ARCH_BCM_CYGNUS
	bool "Broadcom Cygnus Support" if ARCH_MULTI_V7
	select ARCH_BCM_IPROC
	help
	  Enable support for the Cygnus family,
	  which includes the following variants:
	  BCM11300, BCM11320, BCM11350, BCM11360,
	  BCM58300, BCM58302, BCM58303, BCM58305.

config ARCH_BCM_MOBILE
	bool "Broadcom Mobile SoC Support" if ARCH_MULTI_V7
	select ARCH_REQUIRE_GPIOLIB
@@ -65,6 +95,8 @@ endmenu

endif

comment "Other Architectures"

config ARCH_BCM2835
	bool "Broadcom BCM2835 family" if ARCH_MULTI_V6
	select ARCH_REQUIRE_GPIOLIB
+3 −0
Original line number Diff line number Diff line
@@ -10,6 +10,9 @@
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# Cygnus
obj-$(CONFIG_ARCH_BCM_CYGNUS) +=  bcm_cygnus.o

# BCM281XX
obj-$(CONFIG_ARCH_BCM_281XX)	+= board_bcm281xx.o

+25 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2014 Broadcom Corporation
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation version 2.
 *
 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
 * kind, whether express or implied; without even the implied warranty
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include <asm/mach/arch.h>

static const char const *bcm_cygnus_dt_compat[] = {
	"brcm,cygnus",
	NULL,
};

DT_MACHINE_START(BCM_CYGNUS_DT, "Broadcom Cygnus SoC")
	.l2c_aux_val	= 0,
	.l2c_aux_mask	= ~0,
	.dt_compat = bcm_cygnus_dt_compat,
MACHINE_END