linux/arch/arm/mach-exynos
Chanho Park 833b5794e3 ARM: EXYNOS: reset Little cores when cpu is up
The cpu booting of exynos5422 has been still broken since we discussed
it in last year[1]. This patch is inspired from Odroid XU3
code (Actually, it was from samsung exynos vendor kernel)[2]. This weird
reset code was founded exynos5420 octa cores series SoCs and only
required for the first boot core is the Little core (Cortex A7).
Some of the exynos5420 boards and all of the exynos5422 boards will require
this code.

There is two ways to check the little core is the first cpu. One is
checking GPG2CON[1] GPIO value and the other is checking the cluster
number of the first cpu. I selected the latter because it's more easier
than the former.

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-June/350632.html
[2] https://patchwork.kernel.org/patch/6782891/

Cc: Kevin Hilman <khilman@kernel.org>
Cc: Javier Martinez Canillas <javier@osg.samsung.com>
Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Tested-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Chanho Park <parkch98@gmail.com>
Cc: <stable@vger.kernel.org> # 4.1+
[k.kozlowski: Adding stable for v4.1+, reformat comment]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2015-09-14 10:02:43 +09:00
..
include/mach ARM: SAMSUNG: remove unused DMA infrastructure 2015-01-24 13:09:54 +09:00
common.h ARM: EXYNOS: Remove duplicated define of SLEEP_MAGIC 2015-07-21 13:17:05 +09:00
exynos-pmu.h ARM: EXYNOS: Move PMU specific definitions from common.h 2014-11-21 22:49:44 +09:00
exynos-smc.S ARM: EXYNOS: Add support for secure monitor calls 2013-04-09 01:52:06 +09:00
exynos.c ARM: EXYNOS: switch to using generic cpufreq driver for exynos4x12 2015-08-14 03:07:10 +09:00
firmware.c ARM: EXYNOS: Remove duplicated define of SLEEP_MAGIC 2015-07-21 13:17:05 +09:00
headsmp.S ARM: EXYNOS: Remove file path from comment section 2014-07-15 08:40:32 +09:00
Kconfig ARM: SoC: late fixes and dependencies 2015-09-10 17:59:04 -07:00
Makefile ARM: SAMSUNG: make local s5p-dev-mfc in mach-exynos 2015-07-30 01:49:00 +09:00
Makefile.boot ARM: dts: Add basic dts file for Samsung Trats board 2012-09-21 10:50:27 +09:00
mcpm-exynos.c ARM: EXYNOS: reset Little cores when cpu is up 2015-09-14 10:02:43 +09:00
mfc.h ARM: SAMSUNG: Reorganize calls to reserve memory for MFC 2014-03-21 02:00:09 +09:00
platsmp.c ARM: EXYNOS: Use IOMEM_ERR_PTR when function returns iomem 2015-07-21 13:19:06 +09:00
pm.c ARM: EXYNOS: add coupled cpuidle support for Exynos3250 2015-06-06 02:17:57 +09:00
pm_domains.c ARM: EXYNOS: fix double of_node_put() on error path 2015-07-31 10:12:17 +09:00
pmu.c ARM: EXYNOS: Drop owner assignment in pmu.c 2015-07-21 13:18:14 +09:00
regs-pmu.h ARM: EXYNOS: reset Little cores when cpu is up 2015-09-14 10:02:43 +09:00
regs-srom.h ARM: SAMSUNG: local regs-srom header in mach-exynos 2015-07-30 02:00:35 +09:00
s5p-dev-mfc.c ARM: SAMSUNG: make local s5p-dev-mfc in mach-exynos 2015-07-30 01:49:00 +09:00
sleep.S ARM: 8325/1: exynos: move resume code to .text section 2015-03-29 23:11:57 +01:00
smc.h ARM: EXYNOS: add AFTR mode support for Exynos3250 2015-03-27 02:35:48 +09:00
suspend.c ARM: SAMSUNG: local regs-srom header in mach-exynos 2015-07-30 02:00:35 +09:00