diff options
author | Kevin Hilman <khilman@linaro.org> | 2013-08-22 12:21:52 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2013-08-22 12:21:52 -0400 |
commit | 1ee64e48fac2780c26653e6f82b6f3810f59c24d (patch) | |
tree | ce5c7604e6c2faf1b005dd83f34771915d0edab6 | |
parent | fe870ae70bda4bb19ae6920a62e7d05f1dde9b2b (diff) | |
parent | 0a429fd15ecb05d7d5fa8eb4adaff69c7a00984b (diff) |
Merge tag 'ux500-core-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/soc
From Linus Walleij:
Core ux500 changes for v3.12:
- Add support for restart using the PRCMU
- Move secondary startup out of INIT section
- set coherent_dma_mask for DMA40
* tag 'ux500-core-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
ARM: ux500: set coherent_dma_mask for dma40
ARM: ux500: remove u8500_secondary_startup from INIT section.
ARM: ux500: add restart support via prcmu
-rw-r--r-- | arch/arm/mach-ux500/board-mop500.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-ux500/cpu-db8500.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-ux500/cpu.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-ux500/devices-db8500.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ux500/headsmp.S | 2 | ||||
-rw-r--r-- | arch/arm/mach-ux500/setup.h | 3 |
6 files changed, 17 insertions, 4 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c index df5d27a532e9..4e7ab3a0dd60 100644 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c | |||
@@ -42,7 +42,6 @@ | |||
42 | #include <linux/platform_data/dma-ste-dma40.h> | 42 | #include <linux/platform_data/dma-ste-dma40.h> |
43 | 43 | ||
44 | #include <asm/mach-types.h> | 44 | #include <asm/mach-types.h> |
45 | #include <asm/mach/arch.h> | ||
46 | 45 | ||
47 | #include "setup.h" | 46 | #include "setup.h" |
48 | #include "devices.h" | 47 | #include "devices.h" |
@@ -686,6 +685,7 @@ MACHINE_START(U8500, "ST-Ericsson MOP500 platform") | |||
686 | .init_time = ux500_timer_init, | 685 | .init_time = ux500_timer_init, |
687 | .init_machine = mop500_init_machine, | 686 | .init_machine = mop500_init_machine, |
688 | .init_late = ux500_init_late, | 687 | .init_late = ux500_init_late, |
688 | .restart = ux500_restart, | ||
689 | MACHINE_END | 689 | MACHINE_END |
690 | 690 | ||
691 | MACHINE_START(U8520, "ST-Ericsson U8520 Platform HREFP520") | 691 | MACHINE_START(U8520, "ST-Ericsson U8520 Platform HREFP520") |
@@ -695,6 +695,7 @@ MACHINE_START(U8520, "ST-Ericsson U8520 Platform HREFP520") | |||
695 | .init_time = ux500_timer_init, | 695 | .init_time = ux500_timer_init, |
696 | .init_machine = mop500_init_machine, | 696 | .init_machine = mop500_init_machine, |
697 | .init_late = ux500_init_late, | 697 | .init_late = ux500_init_late, |
698 | .restart = ux500_restart, | ||
698 | MACHINE_END | 699 | MACHINE_END |
699 | 700 | ||
700 | MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+") | 701 | MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+") |
@@ -705,6 +706,7 @@ MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+") | |||
705 | .init_time = ux500_timer_init, | 706 | .init_time = ux500_timer_init, |
706 | .init_machine = hrefv60_init_machine, | 707 | .init_machine = hrefv60_init_machine, |
707 | .init_late = ux500_init_late, | 708 | .init_late = ux500_init_late, |
709 | .restart = ux500_restart, | ||
708 | MACHINE_END | 710 | MACHINE_END |
709 | 711 | ||
710 | MACHINE_START(SNOWBALL, "Calao Systems Snowball platform") | 712 | MACHINE_START(SNOWBALL, "Calao Systems Snowball platform") |
@@ -716,4 +718,5 @@ MACHINE_START(SNOWBALL, "Calao Systems Snowball platform") | |||
716 | .init_time = ux500_timer_init, | 718 | .init_time = ux500_timer_init, |
717 | .init_machine = snowball_init_machine, | 719 | .init_machine = snowball_init_machine, |
718 | .init_late = NULL, | 720 | .init_late = NULL, |
721 | .restart = ux500_restart, | ||
719 | MACHINE_END | 722 | MACHINE_END |
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c index 12eee8167525..03ec8a265b90 100644 --- a/arch/arm/mach-ux500/cpu-db8500.c +++ b/arch/arm/mach-ux500/cpu-db8500.c | |||
@@ -26,7 +26,6 @@ | |||
26 | 26 | ||
27 | #include <asm/pmu.h> | 27 | #include <asm/pmu.h> |
28 | #include <asm/mach/map.h> | 28 | #include <asm/mach/map.h> |
29 | #include <asm/mach/arch.h> | ||
30 | 29 | ||
31 | #include "setup.h" | 30 | #include "setup.h" |
32 | #include "devices.h" | 31 | #include "devices.h" |
@@ -325,6 +324,7 @@ DT_MACHINE_START(U8500_DT, "ST-Ericsson Ux5x0 platform (Device Tree Support)") | |||
325 | .init_machine = u8500_init_machine, | 324 | .init_machine = u8500_init_machine, |
326 | .init_late = NULL, | 325 | .init_late = NULL, |
327 | .dt_compat = stericsson_dt_platform_compat, | 326 | .dt_compat = stericsson_dt_platform_compat, |
327 | .restart = ux500_restart, | ||
328 | MACHINE_END | 328 | MACHINE_END |
329 | 329 | ||
330 | #endif | 330 | #endif |
diff --git a/arch/arm/mach-ux500/cpu.c b/arch/arm/mach-ux500/cpu.c index e6fb0239151b..5d7eebcabc63 100644 --- a/arch/arm/mach-ux500/cpu.c +++ b/arch/arm/mach-ux500/cpu.c | |||
@@ -31,6 +31,14 @@ | |||
31 | #include "db8500-regs.h" | 31 | #include "db8500-regs.h" |
32 | #include "id.h" | 32 | #include "id.h" |
33 | 33 | ||
34 | void ux500_restart(enum reboot_mode mode, const char *cmd) | ||
35 | { | ||
36 | local_irq_disable(); | ||
37 | local_fiq_disable(); | ||
38 | |||
39 | prcmu_system_reset(0); | ||
40 | } | ||
41 | |||
34 | /* | 42 | /* |
35 | * FIXME: Should we set up the GPIO domain here? | 43 | * FIXME: Should we set up the GPIO domain here? |
36 | * | 44 | * |
diff --git a/arch/arm/mach-ux500/devices-db8500.c b/arch/arm/mach-ux500/devices-db8500.c index 516a6f57d159..bc316062e0c2 100644 --- a/arch/arm/mach-ux500/devices-db8500.c +++ b/arch/arm/mach-ux500/devices-db8500.c | |||
@@ -49,6 +49,7 @@ struct stedma40_platform_data dma40_plat_data = { | |||
49 | struct platform_device u8500_dma40_device = { | 49 | struct platform_device u8500_dma40_device = { |
50 | .dev = { | 50 | .dev = { |
51 | .platform_data = &dma40_plat_data, | 51 | .platform_data = &dma40_plat_data, |
52 | .coherent_dma_mask = DMA_BIT_MASK(32), | ||
52 | }, | 53 | }, |
53 | .name = "dma40", | 54 | .name = "dma40", |
54 | .id = 0, | 55 | .id = 0, |
diff --git a/arch/arm/mach-ux500/headsmp.S b/arch/arm/mach-ux500/headsmp.S index 08da5589bcd8..9cdea049485d 100644 --- a/arch/arm/mach-ux500/headsmp.S +++ b/arch/arm/mach-ux500/headsmp.S | |||
@@ -11,8 +11,6 @@ | |||
11 | #include <linux/linkage.h> | 11 | #include <linux/linkage.h> |
12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
13 | 13 | ||
14 | __INIT | ||
15 | |||
16 | /* | 14 | /* |
17 | * U8500 specific entry point for secondary CPUs. | 15 | * U8500 specific entry point for secondary CPUs. |
18 | */ | 16 | */ |
diff --git a/arch/arm/mach-ux500/setup.h b/arch/arm/mach-ux500/setup.h index cad3ca86c540..656324aad18e 100644 --- a/arch/arm/mach-ux500/setup.h +++ b/arch/arm/mach-ux500/setup.h | |||
@@ -11,10 +11,13 @@ | |||
11 | #ifndef __ASM_ARCH_SETUP_H | 11 | #ifndef __ASM_ARCH_SETUP_H |
12 | #define __ASM_ARCH_SETUP_H | 12 | #define __ASM_ARCH_SETUP_H |
13 | 13 | ||
14 | #include <asm/mach/arch.h> | ||
14 | #include <asm/mach/time.h> | 15 | #include <asm/mach/time.h> |
15 | #include <linux/init.h> | 16 | #include <linux/init.h> |
16 | #include <linux/mfd/abx500/ab8500.h> | 17 | #include <linux/mfd/abx500/ab8500.h> |
17 | 18 | ||
19 | void ux500_restart(enum reboot_mode mode, const char *cmd); | ||
20 | |||
18 | void __init ux500_map_io(void); | 21 | void __init ux500_map_io(void); |
19 | extern void __init u8500_map_io(void); | 22 | extern void __init u8500_map_io(void); |
20 | 23 | ||