linux/arch/arm
Alex Elder 9a5a110eb9 ARM: add SMP support for Broadcom mobile SoCs
This patch adds SMP support for BCM281XX and BCM21664 family SoCs.

This feature is controlled with a distinct config option such that
an SMP-enabled multi-v7 binary can be configured to run these SoCs
in uniprocessor mode.  Since this SMP functionality is used for
multiple Broadcom mobile chip families the config option is called
ARCH_BCM_MOBILE_SMP (for lack of a better name).

On SoCs of this type, the secondary core is not held in reset on
power-on.  Instead it loops in a ROM-based holding pen.  To release
it, one must write into a special register a jump address whose
low-order bits have been replaced with a secondary core's id, then
trigger an event with SEV.  On receipt of an event, the ROM code
will examine the register's contents, and if the low-order bits
match its cpu id, it will clear them and write the value back to the
register just prior to jumping to the address specified.

The location of the special register is defined in the device tree
using a "secondary-boot-reg" property in a node whose "enable-method"
matches.

Derived from code originally provided by Ray Jui <rjui@broadcom.com>

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Matt Porter <mporter@linaro.org>
2014-07-28 09:42:24 -04:00
..
boot Second AT91 fixes series for 3.16 2014-07-18 14:39:18 -07:00
common ARM: 8068/1: scoop: Remove unused variable 2014-06-17 14:46:55 +01:00
configs ARM: bcm: Fix bcm and multi_v7 defconfigs 2014-06-26 23:26:41 -07:00
crypto
firmware
include Merge branch 'kprobes-test-fixes' of git://git.linaro.org/people/tixy/kernel into fixes 2014-07-12 13:59:24 +01:00
kernel Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-07-16 10:11:02 -10:00
kvm At over 200 commits, covering almost all supported architectures, this 2014-06-04 08:47:12 -07:00
lib
mach-at91 ARM: at91: fix at91_sysirq_mask_rtc for sam9x5 SoCs 2014-06-06 16:08:08 -07:00
mach-axxia ARM: Add platform support for LSI AXM55xx SoC 2014-05-23 18:18:39 +02:00
mach-bcm ARM: add SMP support for Broadcom mobile SoCs 2014-07-28 09:42:24 -04:00
mach-berlin ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-clps711x ARM: 8025/1: Get rid of meminfo 2014-06-01 01:17:12 +01:00
mach-cns3xxx ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-davinci ARM: Remove ARCH_HAS_CPUFREQ config option 2014-06-17 17:09:39 +02:00
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos ARM: EXYNOS: Fix core ID used by platsmp and hotplug code 2014-07-18 17:12:57 -07:00
mach-footbridge ARM: 8025/1: Get rid of meminfo 2014-06-01 01:17:12 +01:00
mach-gemini
mach-highbank ARM: Remove ARCH_HAS_CPUFREQ config option 2014-06-17 17:09:39 +02:00
mach-hisi
mach-imx The i.MX fixes for 3.16, 2nd take: 2014-07-18 14:40:17 -07:00
mach-integrator ARM: integrator: fix OF-related regression 2014-06-24 14:27:03 +02:00
mach-iop13xx ARM: iop13xx: fix msi support with sparse IRQ 2014-05-26 17:45:09 +02:00
mach-iop32x
mach-iop33x
mach-ixp4xx
mach-keystone ARM: keystone requires ARM_PATCH_PHYS_VIRT 2014-06-17 17:09:22 +02:00
mach-kirkwood mvebu SoC changes for v3.16 2014-05-19 21:59:55 -07:00
mach-ks8695
mach-lpc32xx mmc: mmci: Enforce DMA configuration through DT 2014-06-02 11:20:25 +02:00
mach-mmp
mach-moxart ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-msm Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into next 2014-06-05 15:57:04 -07:00
mach-mv78xx0
mach-mvebu mvebu fixes for v3.16 (round 3) 2014-07-18 14:38:28 -07:00
mach-mxs
mach-netx
mach-nomadik ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-nspire
mach-omap1 ARM: OMAP: replace checks for CONFIG_USB_GADGET_OMAP 2014-05-16 14:14:25 -07:00
mach-omap2 Merge branch 'kprobes-test-fixes' of git://git.linaro.org/people/tixy/kernel into fixes 2014-07-12 13:59:24 +01:00
mach-orion5x ARM: SoC updates for 3.16 (part 2) 2014-06-11 11:03:24 -07:00
mach-picoxcell
mach-prima2 ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-pxa pwm: Changes for v3.16-rc1 2014-06-11 14:06:55 -07:00
mach-qcom ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-realview Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into next 2014-06-05 15:57:04 -07:00
mach-rockchip Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into next 2014-06-05 15:57:04 -07:00
mach-rpc
mach-s3c24xx ARM: samsung: make SAMSUNG_DMADEV optional 2014-06-17 17:09:37 +02:00
mach-s3c64xx ARM: samsung: make SAMSUNG_DMADEV optional 2014-06-17 17:09:37 +02:00
mach-s5p64x0 ARM: samsung: make SAMSUNG_DMADEV optional 2014-06-17 17:09:37 +02:00
mach-s5pc100 ARM: samsung: make SAMSUNG_DMADEV optional 2014-06-17 17:09:37 +02:00
mach-s5pv210 ARM: samsung: make SAMSUNG_DMADEV optional 2014-06-17 17:09:37 +02:00
mach-sa1100 ARM: 8085/1: sa1100: collie: add top boot mtd partition 2014-06-29 10:29:34 +01:00
mach-shmobile Couple of DT fixes for STi platform issues discovered on V3.16-rc1. 2014-06-20 10:59:05 +02:00
mach-socfpga ARM: l2c: socfpga: convert to generic l2c OF initialisation 2014-05-30 00:50:04 +01:00
mach-spear ARM: Remove ARCH_HAS_CPUFREQ config option 2014-06-17 17:09:39 +02:00
mach-sti Merge branch 'kprobes-test-fixes' of git://git.linaro.org/people/tixy/kernel into fixes 2014-07-12 13:59:24 +01:00
mach-sunxi ARM: sunxi: Reintroduce the restart code for A10/A20 SoCs 2014-07-04 21:50:10 -07:00
mach-tegra Couple of DT fixes for STi platform issues discovered on V3.16-rc1. 2014-06-20 10:59:05 +02:00
mach-u300 ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-ux500 Merge branch 'kprobes-test-fixes' of git://git.linaro.org/people/tixy/kernel into fixes 2014-07-12 13:59:24 +01:00
mach-versatile Several mach kconfig clean-ups of redundant selects 2014-05-05 14:18:49 -07:00
mach-vexpress Merge branch 'kprobes-test-fixes' of git://git.linaro.org/people/tixy/kernel into fixes 2014-07-12 13:59:24 +01:00
mach-vt8500 ARM: Remove ARCH_HAS_CPUFREQ config option 2014-06-17 17:09:39 +02:00
mach-w90x900
mach-zynq ARM: Remove ARCH_HAS_CPUFREQ config option 2014-06-17 17:09:39 +02:00
mm ARM: l2c: fix revision checking 2014-07-07 17:55:22 +01:00
net net: filter: get rid of BPF_S_* enum 2014-06-01 22:16:58 -07:00
nwfpe
oprofile
plat-iop
plat-omap ARM: SoC cleanups for 3.16 2014-06-02 16:14:07 -07:00
plat-orion
plat-pxa
plat-samsung Couple of DT fixes for STi platform issues discovered on V3.16-rc1. 2014-06-20 10:59:05 +02:00
plat-versatile
tools
vfp Merge branches 'alignment', 'fixes', 'l2c' (early part) and 'misc' into for-next 2014-06-05 12:35:52 +01:00
xen arm,arm64/xen: introduce HYPERVISOR_suspend() 2014-05-12 17:20:24 +01:00
Kconfig locking/mutex: Disable optimistic spinning on some architectures 2014-07-16 14:57:07 +02:00
Kconfig-nommu
Kconfig.debug Samsung Exynos updates for 3.16 2014-05-30 21:44:49 -07:00
Makefile ARM: Add platform support for LSI AXM55xx SoC 2014-05-23 18:18:39 +02:00