ARM: rockchip: add smp functionality

A patchset in state Mainline for linux-kernel

From: Heiko Stuebner <heiko@...> Date: Tue, 25 Feb 2014 10:44:15 +0100

This series enables the use of the additional cores on Rockchip Cortex-A9 SoCs. To achieve this, add the scu, the needed sram and power-management-unit. Tested on both a BQ Curie2 (rk3066a / dual core) and on a Radxa Rock (rk3188 / quad core). As this version again involves bigger changes to the way reserved sram- regions are handled, I've dropped the ACKs I had for binding and driver changes again and therefore would be very happy if I could get new ones if applicable (dt-maintainers and Philipp Zabel for sram.c). changes since v7: - move reserved sram regions to be described through subnodes, similar to the general memory-reserve bindings, as suggested by Grant Likely. changes since v6: - address comments from Mark Rutland - using of_property_read_u32_index instead of parsing the list manually - include v4 of "of: add functions to count number of elements in a property" to not have to count property-elements manually anymore changes since v5: - Grant Likely liked it better to "specify reserved regions of the memory instead of the valid ranges", so go back to the mmio-sram-reserved property originally suggested by Rob Herring changes since v4: - rebase on top of the recent rk3188 board support - implement suggestion from Matt Sealey in moving the sram-limit from marking reserved regions to marking available regions - hopefully I got the usage right - remove __CPUINIT as suggested by Fabio Estevam changes since v3: - address comments from Rob Herring: - split the gathering of the reserve-data into a separate loop - spelling and style fixes - first patch only included for reference, already part of the char-misc git tree changes since v2: - rework the sram allocation following the suggestion from Philipp Zabel changes since v1: - add reserved block feature for mmio-sram, to not use two logical sram nodes - the sram content is kept intact while the device is running, so copying the trampoline is only needed once Heiko Stuebner (6): dt-bindings: sram: describe option to reserve parts of the memory misc: sram: implement reserved sram areas ARM: rockchip: add snoop-control-unit ARM: rockchip: add sram dt nodes and documentation ARM: rockchip: add power-management-unit ARM: rockchip: add smp bringup code .../devicetree/bindings/arm/rockchip/pmu.txt | 16 ++ .../devicetree/bindings/arm/rockchip/smp-sram.txt | 30 ++++ Documentation/devicetree/bindings/misc/sram.txt | 33 ++++ arch/arm/boot/dts/rk3066a.dtsi | 13 ++ arch/arm/boot/dts/rk3188.dtsi | 13 ++ arch/arm/boot/dts/rk3xxx.dtsi | 10 ++ arch/arm/mach-rockchip/Kconfig | 1 + arch/arm/mach-rockchip/Makefile | 1 + arch/arm/mach-rockchip/core.h | 22 +++ arch/arm/mach-rockchip/headsmp.S | 30 ++++ arch/arm/mach-rockchip/platsmp.c | 184 +++++++++++++++++++++ arch/arm/mach-rockchip/rockchip.c | 2 + drivers/misc/sram.c | 125 +++++++++++++- 13 files changed, 473 insertions(+), 7 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/rockchip/pmu.txt create mode 100644 Documentation/devicetree/bindings/arm/rockchip/smp-sram.txt create mode 100644 arch/arm/mach-rockchip/core.h create mode 100644 arch/arm/mach-rockchip/headsmp.S create mode 100644 arch/arm/mach-rockchip/platsmp.c -- 1.8.5.3

Patches in this set

Statistics

  • 6 individual patches
  • 475 lines added
  • 7 lines removed
 

Recent Patches

About Us

Sed lacus. Donec lectus. Nullam pretium nibh ut turpis. Nam bibendum. In nulla tortor, elementum vel, tempor at, varius non, purus. Mauris vitae nisl nec metus placerat consectetuer.

Read More...