diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-09 17:38:28 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-09 17:38:28 -0500 |
commit | 6cd94d5e57ab97ddd672b707ab4bb639672c1727 (patch) | |
tree | b1b301b16433d4deab6bd52e81d04a7b58c239d3 /arch/arm/mach-exynos/exynos.c | |
parent | 6c9e92476bc924ede6d6d2f0bfed2c06ae148d29 (diff) | |
parent | 842f7d2c4d392c0571cf72e3eaca26742bebbd1e (diff) |
Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC platform changes from Arnd Bergmann:
"New and updated SoC support, notable changes include:
- bcm:
brcmstb SMP support
initial iproc/cygnus support
- exynos:
Exynos4415 SoC support
PMU and suspend support for Exynos5420
PMU support for Exynos3250
pm related maintenance
- imx:
new LS1021A SoC support
vybrid 610 global timer support
- integrator:
convert to using multiplatform configuration
- mediatek:
earlyprintk support for mt8127/mt8135
- meson:
meson8 soc and l2 cache controller support
- mvebu:
Armada 38x CPU hotplug support
drop support for prerelease Armada 375 Z1 stepping
extended suspend support, now works on Armada 370/XP
- omap:
hwmod related maintenance
prcm cleanup
- pxa:
initial pxa27x DT handling
- rockchip:
SMP support for rk3288
add cpu frequency scaling support
- shmobile:
r8a7740 power domain support
various small restart, timer, pci apmu changes
- sunxi:
Allwinner A80 (sun9i) earlyprintk support
- ux500:
power domain support
Overall, a significant chunk of changes, coming mostly from the usual
suspects: omap, shmobile, samsung and mvebu, all of which already
contain a lot of platform specific code in arch/arm"
* tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (187 commits)
ARM: mvebu: use the cpufreq-dt platform_data for independent clocks
soc: integrator: Add terminating entry for integrator_cm_match
ARM: mvebu: add SDRAM controller description for Armada XP
ARM: mvebu: adjust mbus controller description on Armada 370/XP
ARM: mvebu: add suspend/resume DT information for Armada XP GP
ARM: mvebu: synchronize secondary CPU clocks on resume
ARM: mvebu: make sure MMU is disabled in armada_370_xp_cpu_resume
ARM: mvebu: Armada XP GP specific suspend/resume code
ARM: mvebu: reserve the first 10 KB of each memory bank for suspend/resume
ARM: mvebu: implement suspend/resume support for Armada XP
clk: mvebu: add suspend/resume for gatable clocks
bus: mvebu-mbus: provide a mechanism to save SDRAM window configuration
bus: mvebu-mbus: suspend/resume support
clocksource: time-armada-370-xp: add suspend/resume support
irqchip: armada-370-xp: Add suspend/resume support
ARM: add lolevel debug support for asm9260
ARM: add mach-asm9260
ARM: EXYNOS: use u8 for val[] in struct exynos_pmu_conf
power: reset: imx-snvs-poweroff: add power off driver for i.mx6
ARM: imx: temporarily remove CONFIG_SOC_FSL from LS1021A
...
Diffstat (limited to 'arch/arm/mach-exynos/exynos.c')
-rw-r--r-- | arch/arm/mach-exynos/exynos.c | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c index 6de7cf5ef2b2..c13d0837fa8c 100644 --- a/arch/arm/mach-exynos/exynos.c +++ b/arch/arm/mach-exynos/exynos.c | |||
@@ -87,28 +87,6 @@ static struct map_desc exynos5_iodesc[] __initdata = { | |||
87 | }, | 87 | }, |
88 | }; | 88 | }; |
89 | 89 | ||
90 | static void exynos_restart(enum reboot_mode mode, const char *cmd) | ||
91 | { | ||
92 | struct device_node *np; | ||
93 | u32 val = 0x1; | ||
94 | void __iomem *addr = pmu_base_addr + EXYNOS_SWRESET; | ||
95 | |||
96 | if (of_machine_is_compatible("samsung,exynos5440")) { | ||
97 | u32 status; | ||
98 | np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock"); | ||
99 | |||
100 | addr = of_iomap(np, 0) + 0xbc; | ||
101 | status = __raw_readl(addr); | ||
102 | |||
103 | addr = of_iomap(np, 0) + 0xcc; | ||
104 | val = __raw_readl(addr); | ||
105 | |||
106 | val = (val & 0xffff0000) | (status & 0xffff); | ||
107 | } | ||
108 | |||
109 | __raw_writel(val, addr); | ||
110 | } | ||
111 | |||
112 | static struct platform_device exynos_cpuidle = { | 90 | static struct platform_device exynos_cpuidle = { |
113 | .name = "exynos_cpuidle", | 91 | .name = "exynos_cpuidle", |
114 | #ifdef CONFIG_ARM_EXYNOS_CPUIDLE | 92 | #ifdef CONFIG_ARM_EXYNOS_CPUIDLE |
@@ -202,6 +180,7 @@ static const struct of_device_id exynos_dt_pmu_match[] = { | |||
202 | { .compatible = "samsung,exynos4210-pmu" }, | 180 | { .compatible = "samsung,exynos4210-pmu" }, |
203 | { .compatible = "samsung,exynos4212-pmu" }, | 181 | { .compatible = "samsung,exynos4212-pmu" }, |
204 | { .compatible = "samsung,exynos4412-pmu" }, | 182 | { .compatible = "samsung,exynos4412-pmu" }, |
183 | { .compatible = "samsung,exynos4415-pmu" }, | ||
205 | { .compatible = "samsung,exynos5250-pmu" }, | 184 | { .compatible = "samsung,exynos5250-pmu" }, |
206 | { .compatible = "samsung,exynos5260-pmu" }, | 185 | { .compatible = "samsung,exynos5260-pmu" }, |
207 | { .compatible = "samsung,exynos5410-pmu" }, | 186 | { .compatible = "samsung,exynos5410-pmu" }, |
@@ -268,7 +247,10 @@ static void __init exynos_dt_machine_init(void) | |||
268 | exynos_sysram_init(); | 247 | exynos_sysram_init(); |
269 | 248 | ||
270 | if (of_machine_is_compatible("samsung,exynos4210") || | 249 | if (of_machine_is_compatible("samsung,exynos4210") || |
271 | of_machine_is_compatible("samsung,exynos5250")) | 250 | of_machine_is_compatible("samsung,exynos4212") || |
251 | (of_machine_is_compatible("samsung,exynos4412") && | ||
252 | of_machine_is_compatible("samsung,trats2")) || | ||
253 | of_machine_is_compatible("samsung,exynos5250")) | ||
272 | platform_device_register(&exynos_cpuidle); | 254 | platform_device_register(&exynos_cpuidle); |
273 | 255 | ||
274 | platform_device_register_simple("exynos-cpufreq", -1, NULL, 0); | 256 | platform_device_register_simple("exynos-cpufreq", -1, NULL, 0); |
@@ -283,6 +265,7 @@ static char const *exynos_dt_compat[] __initconst = { | |||
283 | "samsung,exynos4210", | 265 | "samsung,exynos4210", |
284 | "samsung,exynos4212", | 266 | "samsung,exynos4212", |
285 | "samsung,exynos4412", | 267 | "samsung,exynos4412", |
268 | "samsung,exynos4415", | ||
286 | "samsung,exynos5", | 269 | "samsung,exynos5", |
287 | "samsung,exynos5250", | 270 | "samsung,exynos5250", |
288 | "samsung,exynos5260", | 271 | "samsung,exynos5260", |
@@ -328,7 +311,6 @@ DT_MACHINE_START(EXYNOS_DT, "SAMSUNG EXYNOS (Flattened Device Tree)") | |||
328 | .init_machine = exynos_dt_machine_init, | 311 | .init_machine = exynos_dt_machine_init, |
329 | .init_late = exynos_init_late, | 312 | .init_late = exynos_init_late, |
330 | .dt_compat = exynos_dt_compat, | 313 | .dt_compat = exynos_dt_compat, |
331 | .restart = exynos_restart, | ||
332 | .reserve = exynos_reserve, | 314 | .reserve = exynos_reserve, |
333 | .dt_fixup = exynos_dt_fixup, | 315 | .dt_fixup = exynos_dt_fixup, |
334 | MACHINE_END | 316 | MACHINE_END |