diff options
author | Stephen Boyd <sboyd@codeaurora.org> | 2012-09-05 15:28:55 -0400 |
---|---|---|
committer | David Brown <davidb@codeaurora.org> | 2012-09-13 14:15:06 -0400 |
commit | 5b67bfbae6612c4caa28fa52ced7cf1c122a185e (patch) | |
tree | 9c92492b02e352e0df9c3f1ce5b14383d9a4b946 /arch/arm/mach-msm | |
parent | 8407116075eca1d8d22a466759c3d38678b9dd12 (diff) |
ARM: msm: Make 8660 a DT only target
We don't plan to support anything besides devicetree on these
targets so remove all other machine support.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
Diffstat (limited to 'arch/arm/mach-msm')
-rw-r--r-- | arch/arm/mach-msm/Kconfig | 27 | ||||
-rw-r--r-- | arch/arm/mach-msm/board-msm8x60.c | 106 | ||||
-rw-r--r-- | arch/arm/mach-msm/common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-msm/timer.c | 12 |
4 files changed, 6 insertions, 140 deletions
diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index 1cd40ad301d3..cd7842794e4b 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig | |||
@@ -38,8 +38,6 @@ config ARCH_QSD8X50 | |||
38 | 38 | ||
39 | config ARCH_MSM8X60 | 39 | config ARCH_MSM8X60 |
40 | bool "MSM8X60" | 40 | bool "MSM8X60" |
41 | select MACH_MSM8X60_SURF if (!MACH_MSM8X60_RUMI3 && !MACH_MSM8X60_SIM \ | ||
42 | && !MACH_MSM8X60_FFA) | ||
43 | select ARCH_MSM_SCORPIONMP | 41 | select ARCH_MSM_SCORPIONMP |
44 | select ARM_GIC | 42 | select ARM_GIC |
45 | select CPU_V7 | 43 | select CPU_V7 |
@@ -47,6 +45,7 @@ config ARCH_MSM8X60 | |||
47 | select GPIO_MSM_V2 | 45 | select GPIO_MSM_V2 |
48 | select MSM_GPIOMUX | 46 | select MSM_GPIOMUX |
49 | select MSM_SCM if SMP | 47 | select MSM_SCM if SMP |
48 | select USE_OF | ||
50 | 49 | ||
51 | config ARCH_MSM8960 | 50 | config ARCH_MSM8960 |
52 | bool "MSM8960" | 51 | bool "MSM8960" |
@@ -112,30 +111,6 @@ config MACH_QSD8X50A_ST1_5 | |||
112 | help | 111 | help |
113 | Support for the Qualcomm ST1.5. | 112 | Support for the Qualcomm ST1.5. |
114 | 113 | ||
115 | config MACH_MSM8X60_RUMI3 | ||
116 | depends on ARCH_MSM8X60 | ||
117 | bool "MSM8x60 RUMI3" | ||
118 | help | ||
119 | Support for the Qualcomm MSM8x60 RUMI3 emulator. | ||
120 | |||
121 | config MACH_MSM8X60_SURF | ||
122 | depends on ARCH_MSM8X60 | ||
123 | bool "MSM8x60 SURF" | ||
124 | help | ||
125 | Support for the Qualcomm MSM8x60 SURF eval board. | ||
126 | |||
127 | config MACH_MSM8X60_SIM | ||
128 | depends on ARCH_MSM8X60 | ||
129 | bool "MSM8x60 Simulator" | ||
130 | help | ||
131 | Support for the Qualcomm MSM8x60 simulator. | ||
132 | |||
133 | config MACH_MSM8X60_FFA | ||
134 | depends on ARCH_MSM8X60 | ||
135 | bool "MSM8x60 FFA" | ||
136 | help | ||
137 | Support for the Qualcomm MSM8x60 FFA eval board. | ||
138 | |||
139 | config MACH_MSM8960_SIM | 114 | config MACH_MSM8960_SIM |
140 | depends on ARCH_MSM8960 | 115 | depends on ARCH_MSM8960 |
141 | bool "MSM8960 Simulator" | 116 | bool "MSM8960 Simulator" |
diff --git a/arch/arm/mach-msm/board-msm8x60.c b/arch/arm/mach-msm/board-msm8x60.c index a28a20e2f118..fdbed439855a 100644 --- a/arch/arm/mach-msm/board-msm8x60.c +++ b/arch/arm/mach-msm/board-msm8x60.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* Copyright (c) 2010, 2011, Code Aurora Forum. All rights reserved. | 1 | /* Copyright (c) 2010-2012, The Linux Foundation. All rights reserved. |
2 | * | 2 | * |
3 | * This program is free software; you can redistribute it and/or modify | 3 | * This program is free software; you can redistribute it and/or modify |
4 | * it under the terms of the GNU General Public License version 2 and | 4 | * it under the terms of the GNU General Public License version 2 and |
@@ -10,73 +10,26 @@ | |||
10 | * GNU General Public License for more details. | 10 | * GNU General Public License for more details. |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #include <linux/kernel.h> | 13 | #include <linux/init.h> |
14 | #include <linux/platform_device.h> | ||
15 | #include <linux/io.h> | ||
16 | #include <linux/irq.h> | ||
17 | #include <linux/irqdomain.h> | ||
18 | #include <linux/of.h> | 14 | #include <linux/of.h> |
19 | #include <linux/of_address.h> | ||
20 | #include <linux/of_irq.h> | 15 | #include <linux/of_irq.h> |
21 | #include <linux/of_platform.h> | 16 | #include <linux/of_platform.h> |
22 | #include <linux/memblock.h> | ||
23 | 17 | ||
24 | #include <asm/mach-types.h> | ||
25 | #include <asm/mach/arch.h> | 18 | #include <asm/mach/arch.h> |
26 | #include <asm/hardware/gic.h> | 19 | #include <asm/hardware/gic.h> |
27 | #include <asm/setup.h> | ||
28 | 20 | ||
29 | #include <mach/board.h> | 21 | #include <mach/board.h> |
30 | #include <mach/msm_iomap.h> | 22 | #include <mach/msm_iomap.h> |
31 | #include "common.h" | 23 | #include "common.h" |
32 | 24 | ||
33 | static void __init msm8x60_fixup(struct tag *tag, char **cmdline, | 25 | static const struct of_device_id msm_dt_gic_match[] __initconst = { |
34 | struct meminfo *mi) | ||
35 | { | ||
36 | for (; tag->hdr.size; tag = tag_next(tag)) | ||
37 | if (tag->hdr.tag == ATAG_MEM && | ||
38 | tag->u.mem.start == 0x40200000) { | ||
39 | tag->u.mem.start = 0x40000000; | ||
40 | tag->u.mem.size += SZ_2M; | ||
41 | } | ||
42 | } | ||
43 | |||
44 | static void __init msm8x60_reserve(void) | ||
45 | { | ||
46 | memblock_remove(0x40000000, SZ_2M); | ||
47 | } | ||
48 | |||
49 | static void __init msm8x60_map_io(void) | ||
50 | { | ||
51 | msm_map_msm8x60_io(); | ||
52 | } | ||
53 | |||
54 | #ifdef CONFIG_OF | ||
55 | static struct of_device_id msm_dt_gic_match[] __initdata = { | ||
56 | { .compatible = "qcom,msm-8660-qgic", .data = gic_of_init }, | 26 | { .compatible = "qcom,msm-8660-qgic", .data = gic_of_init }, |
57 | {} | 27 | {} |
58 | }; | 28 | }; |
59 | #endif | ||
60 | 29 | ||
61 | static void __init msm8x60_init_irq(void) | 30 | static void __init msm8x60_init_irq(void) |
62 | { | 31 | { |
63 | if (!of_have_populated_dt()) | 32 | of_irq_init(msm_dt_gic_match); |
64 | gic_init(0, GIC_PPI_START, MSM_QGIC_DIST_BASE, | ||
65 | (void *)MSM_QGIC_CPU_BASE); | ||
66 | #ifdef CONFIG_OF | ||
67 | else | ||
68 | of_irq_init(msm_dt_gic_match); | ||
69 | #endif | ||
70 | |||
71 | /* RUMI does not adhere to GIC spec by enabling STIs by default. | ||
72 | * Enable/clear is supposed to be RO for STIs, but is RW on RUMI. | ||
73 | */ | ||
74 | if (!machine_is_msm8x60_sim()) | ||
75 | writel(0x0000FFFF, MSM_QGIC_DIST_BASE + GIC_DIST_ENABLE_SET); | ||
76 | } | ||
77 | |||
78 | static void __init msm8x60_init(void) | ||
79 | { | ||
80 | } | 33 | } |
81 | 34 | ||
82 | static void __init msm8x60_init_late(void) | 35 | static void __init msm8x60_init_late(void) |
@@ -84,7 +37,6 @@ static void __init msm8x60_init_late(void) | |||
84 | smd_debugfs_init(); | 37 | smd_debugfs_init(); |
85 | } | 38 | } |
86 | 39 | ||
87 | #ifdef CONFIG_OF | ||
88 | static struct of_dev_auxdata msm_auxdata_lookup[] __initdata = { | 40 | static struct of_dev_auxdata msm_auxdata_lookup[] __initdata = { |
89 | {} | 41 | {} |
90 | }; | 42 | }; |
@@ -105,56 +57,9 @@ static const char *msm8x60_fluid_match[] __initdata = { | |||
105 | "qcom,msm8660-surf", | 57 | "qcom,msm8660-surf", |
106 | NULL | 58 | NULL |
107 | }; | 59 | }; |
108 | #endif /* CONFIG_OF */ | ||
109 | |||
110 | MACHINE_START(MSM8X60_RUMI3, "QCT MSM8X60 RUMI3") | ||
111 | .fixup = msm8x60_fixup, | ||
112 | .reserve = msm8x60_reserve, | ||
113 | .map_io = msm8x60_map_io, | ||
114 | .init_irq = msm8x60_init_irq, | ||
115 | .handle_irq = gic_handle_irq, | ||
116 | .init_machine = msm8x60_init, | ||
117 | .init_late = msm8x60_init_late, | ||
118 | .timer = &msm8x60_timer, | ||
119 | MACHINE_END | ||
120 | |||
121 | MACHINE_START(MSM8X60_SURF, "QCT MSM8X60 SURF") | ||
122 | .fixup = msm8x60_fixup, | ||
123 | .reserve = msm8x60_reserve, | ||
124 | .map_io = msm8x60_map_io, | ||
125 | .init_irq = msm8x60_init_irq, | ||
126 | .handle_irq = gic_handle_irq, | ||
127 | .init_machine = msm8x60_init, | ||
128 | .init_late = msm8x60_init_late, | ||
129 | .timer = &msm8x60_timer, | ||
130 | MACHINE_END | ||
131 | |||
132 | MACHINE_START(MSM8X60_SIM, "QCT MSM8X60 SIMULATOR") | ||
133 | .fixup = msm8x60_fixup, | ||
134 | .reserve = msm8x60_reserve, | ||
135 | .map_io = msm8x60_map_io, | ||
136 | .init_irq = msm8x60_init_irq, | ||
137 | .handle_irq = gic_handle_irq, | ||
138 | .init_machine = msm8x60_init, | ||
139 | .init_late = msm8x60_init_late, | ||
140 | .timer = &msm8x60_timer, | ||
141 | MACHINE_END | ||
142 | |||
143 | MACHINE_START(MSM8X60_FFA, "QCT MSM8X60 FFA") | ||
144 | .fixup = msm8x60_fixup, | ||
145 | .reserve = msm8x60_reserve, | ||
146 | .map_io = msm8x60_map_io, | ||
147 | .init_irq = msm8x60_init_irq, | ||
148 | .handle_irq = gic_handle_irq, | ||
149 | .init_machine = msm8x60_init, | ||
150 | .init_late = msm8x60_init_late, | ||
151 | .timer = &msm8x60_timer, | ||
152 | MACHINE_END | ||
153 | 60 | ||
154 | #ifdef CONFIG_OF | ||
155 | /* TODO: General device tree support for all MSM. */ | ||
156 | DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)") | 61 | DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)") |
157 | .map_io = msm8x60_map_io, | 62 | .map_io = msm_map_msm8x60_io, |
158 | .init_irq = msm8x60_init_irq, | 63 | .init_irq = msm8x60_init_irq, |
159 | .handle_irq = gic_handle_irq, | 64 | .handle_irq = gic_handle_irq, |
160 | .init_machine = msm8x60_dt_init, | 65 | .init_machine = msm8x60_dt_init, |
@@ -162,4 +67,3 @@ DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)") | |||
162 | .timer = &msm_dt_timer, | 67 | .timer = &msm_dt_timer, |
163 | .dt_compat = msm8x60_fluid_match, | 68 | .dt_compat = msm8x60_fluid_match, |
164 | MACHINE_END | 69 | MACHINE_END |
165 | #endif /* CONFIG_OF */ | ||
diff --git a/arch/arm/mach-msm/common.h b/arch/arm/mach-msm/common.h index 7d57fb076193..a20e78e58b0d 100644 --- a/arch/arm/mach-msm/common.h +++ b/arch/arm/mach-msm/common.h | |||
@@ -14,7 +14,6 @@ | |||
14 | 14 | ||
15 | extern struct sys_timer msm7x01_timer; | 15 | extern struct sys_timer msm7x01_timer; |
16 | extern struct sys_timer msm7x30_timer; | 16 | extern struct sys_timer msm7x30_timer; |
17 | extern struct sys_timer msm8x60_timer; | ||
18 | extern struct sys_timer msm8960_timer; | 17 | extern struct sys_timer msm8960_timer; |
19 | extern struct sys_timer msm_dt_timer; | 18 | extern struct sys_timer msm_dt_timer; |
20 | extern struct sys_timer qsd8x50_timer; | 19 | extern struct sys_timer qsd8x50_timer; |
diff --git a/arch/arm/mach-msm/timer.c b/arch/arm/mach-msm/timer.c index b17a39db991e..27ade4f1ee16 100644 --- a/arch/arm/mach-msm/timer.c +++ b/arch/arm/mach-msm/timer.c | |||
@@ -346,18 +346,6 @@ struct sys_timer msm7x30_timer = { | |||
346 | .init = msm7x30_timer_init | 346 | .init = msm7x30_timer_init |
347 | }; | 347 | }; |
348 | 348 | ||
349 | static void __init msm8x60_timer_init(void) | ||
350 | { | ||
351 | if (msm_timer_map(0x02000004, 0x02040024)) | ||
352 | return; | ||
353 | writel_relaxed(DGT_CLK_CTL_DIV_4, event_base + DGT_CLK_CTL); | ||
354 | msm_timer_init(27000000 / 4, 32, 17, true); | ||
355 | } | ||
356 | |||
357 | struct sys_timer msm8x60_timer = { | ||
358 | .init = msm8x60_timer_init | ||
359 | }; | ||
360 | |||
361 | static void __init msm8960_timer_init(void) | 349 | static void __init msm8960_timer_init(void) |
362 | { | 350 | { |
363 | if (msm_timer_map(0x0200A004, 0x0208A024)) | 351 | if (msm_timer_map(0x0200A004, 0x0208A024)) |