
This is an experimental support for the PSCI SMP bringup of the first cluster of Allwinner A83T SoC.
It's based on some code by Timothy Pearson for A83T (already quite old) and Chen-Yu Tsai (which are originally for A80).
In order to ensure the Linux kernel to work properly in SMP environment, some GIC workarounds implemented in [1] is needed.
[1] https://github.com/wens/linux/commit/c48654c1f737116e7a7660183c8c74fa9197052...
Chen-Yu Tsai (2): sunxi: Add CPUCFG register definitions for A80/A83T SoCs sunxi: Add basic PSCI implementation for multi-cluster SoCs
Icenowy Zheng (4): sunxi: add configuration of secure SRAM for A83T sunxi: add SUNXI_R_CPUCFG_BASE for A83T SoC sunxi: add multi-cluster CPU PRCM register definition sunxi: enable PSCI for A83T SoC
tpearson@raptorengineering.com (2): sun8i: Add TZPC setup for A83T sun8i: Add a macro to read the silicon revision
arch/arm/cpu/armv7/sunxi/Makefile | 5 + arch/arm/cpu/armv7/sunxi/psci-mcpm.c | 258 +++++++++++++++++++++++++ arch/arm/cpu/armv7/sunxi/psci.c | 2 +- arch/arm/cpu/armv7/sunxi/tzpc.c | 10 + arch/arm/include/asm/arch-sunxi/cpu_sun4i.h | 9 + arch/arm/include/asm/arch-sunxi/cpucfg.h | 64 +----- arch/arm/include/asm/arch-sunxi/cpucfg_sun4i.h | 68 +++++++ arch/arm/include/asm/arch-sunxi/cpucfg_sun9i.h | 60 ++++++ arch/arm/include/asm/arch-sunxi/prcm.h | 8 +- arch/arm/include/asm/arch-sunxi/tzpc.h | 6 + arch/arm/mach-sunxi/Kconfig | 4 + arch/arm/mach-sunxi/board.c | 2 +- arch/arm/mach-sunxi/cpu_info.c | 2 +- include/configs/sun8i.h | 1 + 14 files changed, 434 insertions(+), 65 deletions(-) create mode 100644 arch/arm/cpu/armv7/sunxi/psci-mcpm.c create mode 100644 arch/arm/include/asm/arch-sunxi/cpucfg_sun4i.h create mode 100644 arch/arm/include/asm/arch-sunxi/cpucfg_sun9i.h