Hi all, This RFC patch series leverages the existing APMU support for R-Car Gen2 and RZ/G1 SoCs to enable SMP support on R-Mobile APE6. This allows me to enjoy the 4 Cortex-A15 CPU cores on the APE6-EVM development board. The core APE6-specific code was lifted from an old series by Magnus[1]. Known issues: - While initial secondary CPU bring-up during boot works, CPU cores fail to come online after offlining/onlining them using the sysfs interface ("echo [01] > /sys/*/*/cpu/cpu[0-9]*{off,on}line"). - This breaks detection of the CFI FLASH. I traced this back to setting the SBAR_BAREN bit in the SYSC.CA15BAR register. Presumably this affects the LBSC in some way? To do: - Call into rmobile-sysc instead of hardcoding the SYSC mapping, - Describe CCI-400 in DT and call cci_enable_port_by_index()? - Let pm-rcar-gen2.c call into rcar-rst instead of hardcoding the RST mapping, - Abstract SYSC vs. RST access and merge with pm-rcar-gen2.c? Questions: - Do we want to bring up the Cortex-A7 cores, too? We don't on R-Car H2 neither. Thanks for your comments! [1] [PATCH 00/02] ARM: shmobile: Initial r8a73a4 APMU SMP code https://lore.kernel.org/linux-arm-kernel/20130807225531.9856.18974.sendpatchset@w520/ Geert Uytterhoeven (6): soc: renesas: Introduce RENESAS_APMU Kconfig option dt-bindings: power: renesas,apmu: Document R-Mobile APE6 support ARM: dts: r8a73a4: Add secondary CPU nodes ARM: dts: r8a73a4: Add Media RAM for SMP jump stub ARM: dts: r8a73a4: Add APMU nodes [WIP] ARM: shmobile: r8a73a4: Add SMP support .../bindings/power/renesas,apmu.yaml | 6 +- arch/arm/boot/dts/r8a73a4.dtsi | 96 +++++++++++ arch/arm/mach-shmobile/Makefile | 6 +- arch/arm/mach-shmobile/platsmp-apmu.c | 15 +- arch/arm/mach-shmobile/pm-r8a73a4.c | 152 ++++++++++++++++++ arch/arm/mach-shmobile/r8a73a4.h | 7 + drivers/soc/renesas/Kconfig | 5 + 7 files changed, 281 insertions(+), 6 deletions(-) create mode 100644 arch/arm/mach-shmobile/pm-r8a73a4.c create mode 100644 arch/arm/mach-shmobile/r8a73a4.h -- 2.25.1 Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds