[PATCH 0/7] ARM: BCM63xx: SMP support

Florian Fainelli f.fainelli at gmail.com
Fri Apr 17 15:33:45 PDT 2015


Hi all,

This patch series implements SMP support on the Broadcom BCM63138 DSL platform.

There is a number of decisions being made here to simplify things:

- the power on sequence for the secondary CPU is a bit of low-level code that
  uses the on-chip PMB bus, which will later be supported as a proper reset
  controller driver, it was considered first to use a reset controller for
  that, but this was later dropped because:
	- reset controllers cannot be utilized at SMP init time (too early)
	- moving reset controllers init earlier has been rejected
	- the second CPU power on sequence is fairly specific, even within
	  the context of the BCM63138 SoC, no other peripheral has that
	  level of detail

- VFP needs to be disabled when SMP is used because the second CPU does not
  have any VFP unit and will just hang doing a VFP/NEON operation

Florian Fainelli (7):
  Documentation: DT: Add Broadcom BCM63138 PMB binding
  ARM: dts: BCM63xx: Add PMB busses nodes
  Documentation: DT: Document SMP DT nodes and properties for BCM63138
  ARM: dts: BCM63xx: Add SMP nodes and required properties
  ARM: BCM63xx: Add Broadcom BCM63xx PMB controller helpers
  ARM: BCM63xx: Add secondary CPU PMB initialization sequence
  ARM: BCM63xx: Add SMP support for BCM63138

 .../devicetree/bindings/arm/bcm/bcm63138.txt       |  42 ++++
 .../bindings/reset/brcm,bcm63138-pmb.txt           |  19 ++
 arch/arm/boot/dts/bcm63138.dtsi                    |  20 ++
 arch/arm/mach-bcm/Makefile                         |   7 +-
 arch/arm/mach-bcm/bcm63xx_headsmp.S                |  23 +++
 arch/arm/mach-bcm/bcm63xx_pmb.c                    | 222 +++++++++++++++++++++
 arch/arm/mach-bcm/bcm63xx_smp.c                    | 171 ++++++++++++++++
 arch/arm/mach-bcm/bcm63xx_smp.h                    |   9 +
 include/linux/bcm63xx_pmb.h                        |  76 +++++++
 9 files changed, 588 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/reset/brcm,bcm63138-pmb.txt
 create mode 100644 arch/arm/mach-bcm/bcm63xx_headsmp.S
 create mode 100644 arch/arm/mach-bcm/bcm63xx_pmb.c
 create mode 100644 arch/arm/mach-bcm/bcm63xx_smp.c
 create mode 100644 arch/arm/mach-bcm/bcm63xx_smp.h
 create mode 100644 include/linux/bcm63xx_pmb.h

-- 
2.1.0




More information about the linux-arm-kernel mailing list