diff options
73 files changed, 673 insertions, 1018 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 2c3bdce15134..eaae82a182ed 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -1596,6 +1596,7 @@ config HAVE_ARM_ARCH_TIMER | |||
1596 | config HAVE_ARM_TWD | 1596 | config HAVE_ARM_TWD |
1597 | bool | 1597 | bool |
1598 | depends on SMP | 1598 | depends on SMP |
1599 | select CLKSRC_OF if OF | ||
1599 | help | 1600 | help |
1600 | This options enables support for the ARM timer and watchdog unit | 1601 | This options enables support for the ARM timer and watchdog unit |
1601 | 1602 | ||
diff --git a/arch/arm/configs/at91_dt_defconfig b/arch/arm/configs/at91_dt_defconfig index 1ea959019fcd..047f2a415309 100644 --- a/arch/arm/configs/at91_dt_defconfig +++ b/arch/arm/configs/at91_dt_defconfig | |||
@@ -20,7 +20,7 @@ CONFIG_SOC_AT91SAM9263=y | |||
20 | CONFIG_SOC_AT91SAM9G45=y | 20 | CONFIG_SOC_AT91SAM9G45=y |
21 | CONFIG_SOC_AT91SAM9X5=y | 21 | CONFIG_SOC_AT91SAM9X5=y |
22 | CONFIG_SOC_AT91SAM9N12=y | 22 | CONFIG_SOC_AT91SAM9N12=y |
23 | CONFIG_MACH_AT91SAM_DT=y | 23 | CONFIG_MACH_AT91SAM9_DT=y |
24 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y | 24 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y |
25 | CONFIG_AT91_TIMER_HZ=128 | 25 | CONFIG_AT91_TIMER_HZ=128 |
26 | CONFIG_AEABI=y | 26 | CONFIG_AEABI=y |
diff --git a/arch/arm/configs/at91sam9260_defconfig b/arch/arm/configs/at91sam9260_defconfig index 0ea5d2c97fc4..05618eb694f8 100644 --- a/arch/arm/configs/at91sam9260_defconfig +++ b/arch/arm/configs/at91sam9260_defconfig | |||
@@ -22,7 +22,7 @@ CONFIG_MACH_QIL_A9260=y | |||
22 | CONFIG_MACH_CPU9260=y | 22 | CONFIG_MACH_CPU9260=y |
23 | CONFIG_MACH_FLEXIBITY=y | 23 | CONFIG_MACH_FLEXIBITY=y |
24 | CONFIG_MACH_SNAPPER_9260=y | 24 | CONFIG_MACH_SNAPPER_9260=y |
25 | CONFIG_MACH_AT91SAM_DT=y | 25 | CONFIG_MACH_AT91SAM9_DT=y |
26 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y | 26 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y |
27 | # CONFIG_ARM_THUMB is not set | 27 | # CONFIG_ARM_THUMB is not set |
28 | CONFIG_ZBOOT_ROM_TEXT=0x0 | 28 | CONFIG_ZBOOT_ROM_TEXT=0x0 |
diff --git a/arch/arm/configs/at91sam9g20_defconfig b/arch/arm/configs/at91sam9g20_defconfig index 3b1881033ad8..892e8287ed73 100644 --- a/arch/arm/configs/at91sam9g20_defconfig +++ b/arch/arm/configs/at91sam9g20_defconfig | |||
@@ -22,7 +22,7 @@ CONFIG_MACH_PCONTROL_G20=y | |||
22 | CONFIG_MACH_GSIA18S=y | 22 | CONFIG_MACH_GSIA18S=y |
23 | CONFIG_MACH_USB_A9G20=y | 23 | CONFIG_MACH_USB_A9G20=y |
24 | CONFIG_MACH_SNAPPER_9260=y | 24 | CONFIG_MACH_SNAPPER_9260=y |
25 | CONFIG_MACH_AT91SAM_DT=y | 25 | CONFIG_MACH_AT91SAM9_DT=y |
26 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y | 26 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y |
27 | # CONFIG_ARM_THUMB is not set | 27 | # CONFIG_ARM_THUMB is not set |
28 | CONFIG_AEABI=y | 28 | CONFIG_AEABI=y |
diff --git a/arch/arm/configs/at91sam9g45_defconfig b/arch/arm/configs/at91sam9g45_defconfig index 606d48f3b8f8..5f551b76cb65 100644 --- a/arch/arm/configs/at91sam9g45_defconfig +++ b/arch/arm/configs/at91sam9g45_defconfig | |||
@@ -18,7 +18,7 @@ CONFIG_MODULE_UNLOAD=y | |||
18 | CONFIG_ARCH_AT91=y | 18 | CONFIG_ARCH_AT91=y |
19 | CONFIG_ARCH_AT91SAM9G45=y | 19 | CONFIG_ARCH_AT91SAM9G45=y |
20 | CONFIG_MACH_AT91SAM9M10G45EK=y | 20 | CONFIG_MACH_AT91SAM9M10G45EK=y |
21 | CONFIG_MACH_AT91SAM_DT=y | 21 | CONFIG_MACH_AT91SAM9_DT=y |
22 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y | 22 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y |
23 | CONFIG_AT91_SLOW_CLOCK=y | 23 | CONFIG_AT91_SLOW_CLOCK=y |
24 | CONFIG_AEABI=y | 24 | CONFIG_AEABI=y |
diff --git a/arch/arm/include/asm/smp_twd.h b/arch/arm/include/asm/smp_twd.h index 0f01f4677bd2..7b2899c2f7fc 100644 --- a/arch/arm/include/asm/smp_twd.h +++ b/arch/arm/include/asm/smp_twd.h | |||
@@ -34,12 +34,4 @@ struct twd_local_timer name __initdata = { \ | |||
34 | 34 | ||
35 | int twd_local_timer_register(struct twd_local_timer *); | 35 | int twd_local_timer_register(struct twd_local_timer *); |
36 | 36 | ||
37 | #ifdef CONFIG_HAVE_ARM_TWD | ||
38 | void twd_local_timer_of_register(void); | ||
39 | #else | ||
40 | static inline void twd_local_timer_of_register(void) | ||
41 | { | ||
42 | } | ||
43 | #endif | ||
44 | |||
45 | #endif | 37 | #endif |
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index 8e4ef4c83a74..9723d17b8f38 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/ioport.h> | 26 | #include <linux/ioport.h> |
27 | #include <linux/interrupt.h> | 27 | #include <linux/interrupt.h> |
28 | #include <linux/irq.h> | 28 | #include <linux/irq.h> |
29 | #include <linux/irqchip.h> | ||
29 | #include <linux/random.h> | 30 | #include <linux/random.h> |
30 | #include <linux/smp.h> | 31 | #include <linux/smp.h> |
31 | #include <linux/init.h> | 32 | #include <linux/init.h> |
@@ -114,7 +115,10 @@ EXPORT_SYMBOL_GPL(set_irq_flags); | |||
114 | 115 | ||
115 | void __init init_IRQ(void) | 116 | void __init init_IRQ(void) |
116 | { | 117 | { |
117 | machine_desc->init_irq(); | 118 | if (IS_ENABLED(CONFIG_OF) && !machine_desc->init_irq) |
119 | irqchip_init(); | ||
120 | else | ||
121 | machine_desc->init_irq(); | ||
118 | } | 122 | } |
119 | 123 | ||
120 | #ifdef CONFIG_MULTI_IRQ_HANDLER | 124 | #ifdef CONFIG_MULTI_IRQ_HANDLER |
diff --git a/arch/arm/kernel/smp_twd.c b/arch/arm/kernel/smp_twd.c index 3f2565037480..90525d9d290b 100644 --- a/arch/arm/kernel/smp_twd.c +++ b/arch/arm/kernel/smp_twd.c | |||
@@ -362,25 +362,13 @@ int __init twd_local_timer_register(struct twd_local_timer *tlt) | |||
362 | } | 362 | } |
363 | 363 | ||
364 | #ifdef CONFIG_OF | 364 | #ifdef CONFIG_OF |
365 | const static struct of_device_id twd_of_match[] __initconst = { | 365 | static void __init twd_local_timer_of_register(struct device_node *np) |
366 | { .compatible = "arm,cortex-a9-twd-timer", }, | ||
367 | { .compatible = "arm,cortex-a5-twd-timer", }, | ||
368 | { .compatible = "arm,arm11mp-twd-timer", }, | ||
369 | { }, | ||
370 | }; | ||
371 | |||
372 | void __init twd_local_timer_of_register(void) | ||
373 | { | 366 | { |
374 | struct device_node *np; | ||
375 | int err; | 367 | int err; |
376 | 368 | ||
377 | if (!is_smp() || !setup_max_cpus) | 369 | if (!is_smp() || !setup_max_cpus) |
378 | return; | 370 | return; |
379 | 371 | ||
380 | np = of_find_matching_node(NULL, twd_of_match); | ||
381 | if (!np) | ||
382 | return; | ||
383 | |||
384 | twd_ppi = irq_of_parse_and_map(np, 0); | 372 | twd_ppi = irq_of_parse_and_map(np, 0); |
385 | if (!twd_ppi) { | 373 | if (!twd_ppi) { |
386 | err = -EINVAL; | 374 | err = -EINVAL; |
@@ -398,4 +386,7 @@ void __init twd_local_timer_of_register(void) | |||
398 | out: | 386 | out: |
399 | WARN(err, "twd_local_timer_of_register failed (%d)\n", err); | 387 | WARN(err, "twd_local_timer_of_register failed (%d)\n", err); |
400 | } | 388 | } |
389 | CLOCKSOURCE_OF_DECLARE(arm_twd_a9, "arm,cortex-a9-twd-timer", twd_local_timer_of_register); | ||
390 | CLOCKSOURCE_OF_DECLARE(arm_twd_a5, "arm,cortex-a5-twd-timer", twd_local_timer_of_register); | ||
391 | CLOCKSOURCE_OF_DECLARE(arm_twd_11mp, "arm,arm11mp-twd-timer", twd_local_timer_of_register); | ||
401 | #endif | 392 | #endif |
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index 6071f4c3d654..440682b708f3 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig | |||
@@ -1,8 +1,5 @@ | |||
1 | if ARCH_AT91 | 1 | if ARCH_AT91 |
2 | 2 | ||
3 | config HAVE_AT91_DATAFLASH_CARD | ||
4 | bool | ||
5 | |||
6 | config HAVE_AT91_DBGU0 | 3 | config HAVE_AT91_DBGU0 |
7 | bool | 4 | bool |
8 | 5 | ||
@@ -93,394 +90,13 @@ config SOC_AT91SAM9N12 | |||
93 | help | 90 | help |
94 | Select this if you are using Atmel's AT91SAM9N12 SoC. | 91 | Select this if you are using Atmel's AT91SAM9N12 SoC. |
95 | 92 | ||
96 | choice | ||
97 | prompt "Atmel AT91 Processor Devices for non DT boards" | ||
98 | |||
99 | config ARCH_AT91_NONE | ||
100 | bool "None" | ||
101 | |||
102 | config ARCH_AT91RM9200 | ||
103 | bool "AT91RM9200" | ||
104 | select SOC_AT91RM9200 | ||
105 | |||
106 | config ARCH_AT91SAM9260 | ||
107 | bool "AT91SAM9260 or AT91SAM9XE" | ||
108 | select SOC_AT91SAM9260 | ||
109 | |||
110 | config ARCH_AT91SAM9261 | ||
111 | bool "AT91SAM9261" | ||
112 | select SOC_AT91SAM9261 | ||
113 | |||
114 | config ARCH_AT91SAM9G10 | ||
115 | bool "AT91SAM9G10" | ||
116 | select SOC_AT91SAM9261 | ||
117 | |||
118 | config ARCH_AT91SAM9263 | ||
119 | bool "AT91SAM9263" | ||
120 | select SOC_AT91SAM9263 | ||
121 | |||
122 | config ARCH_AT91SAM9RL | ||
123 | bool "AT91SAM9RL" | ||
124 | select SOC_AT91SAM9RL | ||
125 | |||
126 | config ARCH_AT91SAM9G20 | ||
127 | bool "AT91SAM9G20" | ||
128 | select SOC_AT91SAM9260 | ||
129 | |||
130 | config ARCH_AT91SAM9G45 | ||
131 | bool "AT91SAM9G45" | ||
132 | select SOC_AT91SAM9G45 | ||
133 | |||
134 | config ARCH_AT91X40 | ||
135 | bool "AT91x40" | ||
136 | depends on !MMU | ||
137 | select ARCH_USES_GETTIMEOFFSET | ||
138 | select MULTI_IRQ_HANDLER | ||
139 | select SPARSE_IRQ | ||
140 | |||
141 | endchoice | ||
142 | |||
143 | config AT91_PMC_UNIT | 93 | config AT91_PMC_UNIT |
144 | bool | 94 | bool |
145 | default !ARCH_AT91X40 | 95 | default !ARCH_AT91X40 |
146 | 96 | ||
147 | # ---------------------------------------------------------- | 97 | # ---------------------------------------------------------- |
148 | 98 | ||
149 | if ARCH_AT91RM9200 | 99 | source arch/arm/mach-at91/Kconfig.non_dt |
150 | |||
151 | comment "AT91RM9200 Board Type" | ||
152 | |||
153 | config MACH_ONEARM | ||
154 | bool "Ajeco 1ARM Single Board Computer" | ||
155 | help | ||
156 | Select this if you are using Ajeco's 1ARM Single Board Computer. | ||
157 | <http://www.ajeco.fi/> | ||
158 | |||
159 | config ARCH_AT91RM9200DK | ||
160 | bool "Atmel AT91RM9200-DK Development board" | ||
161 | select HAVE_AT91_DATAFLASH_CARD | ||
162 | help | ||
163 | Select this if you are using Atmel's AT91RM9200-DK Development board. | ||
164 | (Discontinued) | ||
165 | |||
166 | config MACH_AT91RM9200EK | ||
167 | bool "Atmel AT91RM9200-EK Evaluation Kit" | ||
168 | select HAVE_AT91_DATAFLASH_CARD | ||
169 | help | ||
170 | Select this if you are using Atmel's AT91RM9200-EK Evaluation Kit. | ||
171 | <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3507> | ||
172 | |||
173 | config MACH_CSB337 | ||
174 | bool "Cogent CSB337" | ||
175 | help | ||
176 | Select this if you are using Cogent's CSB337 board. | ||
177 | <http://www.cogcomp.com/csb_csb337.htm> | ||
178 | |||
179 | config MACH_CSB637 | ||
180 | bool "Cogent CSB637" | ||
181 | help | ||
182 | Select this if you are using Cogent's CSB637 board. | ||
183 | <http://www.cogcomp.com/csb_csb637.htm> | ||
184 | |||
185 | config MACH_CARMEVA | ||
186 | bool "Conitec ARM&EVA" | ||
187 | help | ||
188 | Select this if you are using Conitec's AT91RM9200-MCU-Module. | ||
189 | <http://www.conitec.net/english/linuxboard.php> | ||
190 | |||
191 | config MACH_ATEB9200 | ||
192 | bool "Embest ATEB9200" | ||
193 | help | ||
194 | Select this if you are using Embest's ATEB9200 board. | ||
195 | <http://www.embedinfo.com/english/product/ATEB9200.asp> | ||
196 | |||
197 | config MACH_KB9200 | ||
198 | bool "KwikByte KB920x" | ||
199 | help | ||
200 | Select this if you are using KwikByte's KB920x board. | ||
201 | <http://www.kwikbyte.com/KB9202.html> | ||
202 | |||
203 | config MACH_PICOTUX2XX | ||
204 | bool "picotux 200" | ||
205 | help | ||
206 | Select this if you are using a picotux 200. | ||
207 | <http://www.picotux.com/> | ||
208 | |||
209 | config MACH_KAFA | ||
210 | bool "Sperry-Sun KAFA board" | ||
211 | help | ||
212 | Select this if you are using Sperry-Sun's KAFA board. | ||
213 | |||
214 | config MACH_ECBAT91 | ||
215 | bool "emQbit ECB_AT91 SBC" | ||
216 | select HAVE_AT91_DATAFLASH_CARD | ||
217 | help | ||
218 | Select this if you are using emQbit's ECB_AT91 board. | ||
219 | <http://wiki.emqbit.com/free-ecb-at91> | ||
220 | |||
221 | config MACH_YL9200 | ||
222 | bool "ucDragon YL-9200" | ||
223 | help | ||
224 | Select this if you are using the ucDragon YL-9200 board. | ||
225 | |||
226 | config MACH_CPUAT91 | ||
227 | bool "Eukrea CPUAT91" | ||
228 | help | ||
229 | Select this if you are using the Eukrea Electromatique's | ||
230 | CPUAT91 board <http://www.eukrea.com/>. | ||
231 | |||
232 | config MACH_ECO920 | ||
233 | bool "eco920" | ||
234 | help | ||
235 | Select this if you are using the eco920 board | ||
236 | |||
237 | config MACH_RSI_EWS | ||
238 | bool "RSI Embedded Webserver" | ||
239 | depends on ARCH_AT91RM9200 | ||
240 | help | ||
241 | Select this if you are using RSIs EWS board. | ||
242 | endif | ||
243 | |||
244 | # ---------------------------------------------------------- | ||
245 | |||
246 | if ARCH_AT91SAM9260 | ||
247 | |||
248 | comment "AT91SAM9260 Variants" | ||
249 | |||
250 | comment "AT91SAM9260 / AT91SAM9XE Board Type" | ||
251 | |||
252 | config MACH_AT91SAM9260EK | ||
253 | bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit" | ||
254 | select HAVE_AT91_DATAFLASH_CARD | ||
255 | help | ||
256 | Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit | ||
257 | <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933> | ||
258 | |||
259 | config MACH_CAM60 | ||
260 | bool "KwikByte KB9260 (CAM60) board" | ||
261 | help | ||
262 | Select this if you are using KwikByte's KB9260 (CAM60) board based on the Atmel AT91SAM9260. | ||
263 | <http://www.kwikbyte.com/KB9260.html> | ||
264 | |||
265 | config MACH_SAM9_L9260 | ||
266 | bool "Olimex SAM9-L9260 board" | ||
267 | select HAVE_AT91_DATAFLASH_CARD | ||
268 | help | ||
269 | Select this if you are using Olimex's SAM9-L9260 board based on the Atmel AT91SAM9260. | ||
270 | <http://www.olimex.com/dev/sam9-L9260.html> | ||
271 | |||
272 | config MACH_AFEB9260 | ||
273 | bool "Custom afeb9260 board v1" | ||
274 | help | ||
275 | Select this if you are using custom afeb9260 board based on | ||
276 | open hardware design. Select this for revision 1 of the board. | ||
277 | <svn://194.85.238.22/home/users/george/svn/arm9eb> | ||
278 | <http://groups.google.com/group/arm9fpga-evolution-board> | ||
279 | |||
280 | config MACH_USB_A9260 | ||
281 | bool "CALAO USB-A9260" | ||
282 | help | ||
283 | Select this if you are using a Calao Systems USB-A9260. | ||
284 | <http://www.calao-systems.com> | ||
285 | |||
286 | config MACH_QIL_A9260 | ||
287 | bool "CALAO QIL-A9260 board" | ||
288 | help | ||
289 | Select this if you are using a Calao Systems QIL-A9260 Board. | ||
290 | <http://www.calao-systems.com> | ||
291 | |||
292 | config MACH_CPU9260 | ||
293 | bool "Eukrea CPU9260 board" | ||
294 | help | ||
295 | Select this if you are using a Eukrea Electromatique's | ||
296 | CPU9260 Board <http://www.eukrea.com/> | ||
297 | |||
298 | config MACH_FLEXIBITY | ||
299 | bool "Flexibity Connect board" | ||
300 | help | ||
301 | Select this if you are using Flexibity Connect board | ||
302 | <http://www.flexibity.com> | ||
303 | |||
304 | endif | ||
305 | |||
306 | # ---------------------------------------------------------- | ||
307 | |||
308 | if ARCH_AT91SAM9261 | ||
309 | |||
310 | comment "AT91SAM9261 Board Type" | ||
311 | |||
312 | config MACH_AT91SAM9261EK | ||
313 | bool "Atmel AT91SAM9261-EK Evaluation Kit" | ||
314 | select HAVE_AT91_DATAFLASH_CARD | ||
315 | help | ||
316 | Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit. | ||
317 | <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820> | ||
318 | |||
319 | endif | ||
320 | |||
321 | # ---------------------------------------------------------- | ||
322 | |||
323 | if ARCH_AT91SAM9G10 | ||
324 | |||
325 | comment "AT91SAM9G10 Board Type" | ||
326 | |||
327 | config MACH_AT91SAM9G10EK | ||
328 | bool "Atmel AT91SAM9G10-EK Evaluation Kit" | ||
329 | select HAVE_AT91_DATAFLASH_CARD | ||
330 | help | ||
331 | Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit. | ||
332 | <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588> | ||
333 | |||
334 | endif | ||
335 | |||
336 | # ---------------------------------------------------------- | ||
337 | |||
338 | if ARCH_AT91SAM9263 | ||
339 | |||
340 | comment "AT91SAM9263 Board Type" | ||
341 | |||
342 | config MACH_AT91SAM9263EK | ||
343 | bool "Atmel AT91SAM9263-EK Evaluation Kit" | ||
344 | select HAVE_AT91_DATAFLASH_CARD | ||
345 | help | ||
346 | Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit. | ||
347 | <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057> | ||
348 | |||
349 | config MACH_USB_A9263 | ||
350 | bool "CALAO USB-A9263" | ||
351 | help | ||
352 | Select this if you are using a Calao Systems USB-A9263. | ||
353 | <http://www.calao-systems.com> | ||
354 | |||
355 | endif | ||
356 | |||
357 | # ---------------------------------------------------------- | ||
358 | |||
359 | if ARCH_AT91SAM9RL | ||
360 | |||
361 | comment "AT91SAM9RL Board Type" | ||
362 | |||
363 | config MACH_AT91SAM9RLEK | ||
364 | bool "Atmel AT91SAM9RL-EK Evaluation Kit" | ||
365 | help | ||
366 | Select this if you are using Atmel's AT91SAM9RL-EK Evaluation Kit. | ||
367 | |||
368 | endif | ||
369 | |||
370 | # ---------------------------------------------------------- | ||
371 | |||
372 | if ARCH_AT91SAM9G20 | ||
373 | |||
374 | comment "AT91SAM9G20 Board Type" | ||
375 | |||
376 | config MACH_AT91SAM9G20EK | ||
377 | bool "Atmel AT91SAM9G20-EK Evaluation Kit" | ||
378 | select HAVE_AT91_DATAFLASH_CARD | ||
379 | help | ||
380 | Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit | ||
381 | that embeds only one SD/MMC slot. | ||
382 | |||
383 | config MACH_AT91SAM9G20EK_2MMC | ||
384 | depends on MACH_AT91SAM9G20EK | ||
385 | bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots" | ||
386 | help | ||
387 | Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit | ||
388 | with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and | ||
389 | onwards. | ||
390 | <http://www.atmel.com/tools/SAM9G20-EK.aspx> | ||
391 | |||
392 | config MACH_CPU9G20 | ||
393 | bool "Eukrea CPU9G20 board" | ||
394 | help | ||
395 | Select this if you are using a Eukrea Electromatique's | ||
396 | CPU9G20 Board <http://www.eukrea.com/> | ||
397 | |||
398 | config MACH_ACMENETUSFOXG20 | ||
399 | bool "Acme Systems srl FOX Board G20" | ||
400 | help | ||
401 | Select this if you are using Acme Systems | ||
402 | FOX Board G20 <http://www.acmesystems.it> | ||
403 | |||
404 | config MACH_PORTUXG20 | ||
405 | bool "taskit PortuxG20" | ||
406 | help | ||
407 | Select this if you are using taskit's PortuxG20. | ||
408 | <http://www.taskit.de/en/> | ||
409 | |||
410 | config MACH_STAMP9G20 | ||
411 | bool "taskit Stamp9G20 CPU module" | ||
412 | help | ||
413 | Select this if you are using taskit's Stamp9G20 CPU module on its | ||
414 | evaluation board. | ||
415 | <http://www.taskit.de/en/> | ||
416 | |||
417 | config MACH_PCONTROL_G20 | ||
418 | bool "PControl G20 CPU module" | ||
419 | help | ||
420 | Select this if you are using taskit's Stamp9G20 CPU module on this | ||
421 | carrier board, beeing the decentralized unit of a building automation | ||
422 | system; featuring nvram, eth-switch, iso-rs485, display, io | ||
423 | |||
424 | config MACH_GSIA18S | ||
425 | bool "GS_IA18_S board" | ||
426 | help | ||
427 | This enables support for the GS_IA18_S board | ||
428 | produced by GeoSIG Ltd company. This is an internet accelerograph. | ||
429 | <http://www.geosig.com> | ||
430 | |||
431 | config MACH_USB_A9G20 | ||
432 | bool "CALAO USB-A9G20" | ||
433 | depends on ARCH_AT91SAM9G20 | ||
434 | help | ||
435 | Select this if you are using a Calao Systems USB-A9G20. | ||
436 | <http://www.calao-systems.com> | ||
437 | |||
438 | endif | ||
439 | |||
440 | if (ARCH_AT91SAM9260 || ARCH_AT91SAM9G20) | ||
441 | comment "AT91SAM9260/AT91SAM9G20 boards" | ||
442 | |||
443 | config MACH_SNAPPER_9260 | ||
444 | bool "Bluewater Systems Snapper 9260/9G20 module" | ||
445 | help | ||
446 | Select this if you are using the Bluewater Systems Snapper 9260 or | ||
447 | Snapper 9G20 modules. | ||
448 | <http://www.bluewatersys.com/> | ||
449 | endif | ||
450 | |||
451 | # ---------------------------------------------------------- | ||
452 | |||
453 | if ARCH_AT91SAM9G45 | ||
454 | |||
455 | comment "AT91SAM9G45 Board Type" | ||
456 | |||
457 | config MACH_AT91SAM9M10G45EK | ||
458 | bool "Atmel AT91SAM9M10G45-EK Evaluation Kits" | ||
459 | help | ||
460 | Select this if you are using Atmel's AT91SAM9M10G45-EK Evaluation Kit. | ||
461 | Those boards can be populated with any SoC of AT91SAM9G45 or AT91SAM9M10 | ||
462 | families: AT91SAM9G45, AT91SAM9G46, AT91SAM9M10 and AT91SAM9M11. | ||
463 | <http://www.atmel.com/tools/SAM9M10-G45-EK.aspx> | ||
464 | |||
465 | endif | ||
466 | |||
467 | # ---------------------------------------------------------- | ||
468 | |||
469 | if ARCH_AT91X40 | ||
470 | |||
471 | comment "AT91X40 Board Type" | ||
472 | |||
473 | config MACH_AT91EB01 | ||
474 | bool "Atmel AT91EB01 Evaluation Kit" | ||
475 | help | ||
476 | Select this if you are using Atmel's AT91EB01 Evaluation Kit. | ||
477 | It is also a popular target for simulators such as GDB's | ||
478 | ARM simulator (commonly known as the ARMulator) and the | ||
479 | Skyeye simulator. | ||
480 | |||
481 | endif | ||
482 | |||
483 | # ---------------------------------------------------------- | ||
484 | 100 | ||
485 | comment "Generic Board Type" | 101 | comment "Generic Board Type" |
486 | 102 | ||
@@ -492,7 +108,7 @@ config MACH_AT91RM9200_DT | |||
492 | Select this if you want to experiment device-tree with | 108 | Select this if you want to experiment device-tree with |
493 | an Atmel RM9200 Evaluation Kit. | 109 | an Atmel RM9200 Evaluation Kit. |
494 | 110 | ||
495 | config MACH_AT91SAM_DT | 111 | config MACH_AT91SAM9_DT |
496 | bool "Atmel AT91SAM Evaluation Kits with device-tree support" | 112 | bool "Atmel AT91SAM Evaluation Kits with device-tree support" |
497 | depends on SOC_AT91SAM9 | 113 | depends on SOC_AT91SAM9 |
498 | select USE_OF | 114 | select USE_OF |
@@ -502,16 +118,6 @@ config MACH_AT91SAM_DT | |||
502 | 118 | ||
503 | # ---------------------------------------------------------- | 119 | # ---------------------------------------------------------- |
504 | 120 | ||
505 | comment "AT91 Board Options" | ||
506 | |||
507 | config MTD_AT91_DATAFLASH_CARD | ||
508 | bool "Enable DataFlash Card support" | ||
509 | depends on HAVE_AT91_DATAFLASH_CARD | ||
510 | help | ||
511 | Enable support for the DataFlash card. | ||
512 | |||
513 | # ---------------------------------------------------------- | ||
514 | |||
515 | comment "AT91 Feature Selections" | 121 | comment "AT91 Feature Selections" |
516 | 122 | ||
517 | config AT91_PROGRAMMABLE_CLOCKS | 123 | config AT91_PROGRAMMABLE_CLOCKS |
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt new file mode 100644 index 000000000000..6c24985515a2 --- /dev/null +++ b/arch/arm/mach-at91/Kconfig.non_dt | |||
@@ -0,0 +1,399 @@ | |||
1 | menu "Atmel Non-DT world" | ||
2 | |||
3 | config HAVE_AT91_DATAFLASH_CARD | ||
4 | bool | ||
5 | |||
6 | choice | ||
7 | prompt "Atmel AT91 Processor Devices for non DT boards" | ||
8 | |||
9 | config ARCH_AT91_NONE | ||
10 | bool "None" | ||
11 | |||
12 | config ARCH_AT91RM9200 | ||
13 | bool "AT91RM9200" | ||
14 | select SOC_AT91RM9200 | ||
15 | |||
16 | config ARCH_AT91SAM9260 | ||
17 | bool "AT91SAM9260 or AT91SAM9XE" | ||
18 | select SOC_AT91SAM9260 | ||
19 | |||
20 | config ARCH_AT91SAM9261 | ||
21 | bool "AT91SAM9261" | ||
22 | select SOC_AT91SAM9261 | ||
23 | |||
24 | config ARCH_AT91SAM9G10 | ||
25 | bool "AT91SAM9G10" | ||
26 | select SOC_AT91SAM9261 | ||
27 | |||
28 | config ARCH_AT91SAM9263 | ||
29 | bool "AT91SAM9263" | ||
30 | select SOC_AT91SAM9263 | ||
31 | |||
32 | config ARCH_AT91SAM9RL | ||
33 | bool "AT91SAM9RL" | ||
34 | select SOC_AT91SAM9RL | ||
35 | |||
36 | config ARCH_AT91SAM9G20 | ||
37 | bool "AT91SAM9G20" | ||
38 | select SOC_AT91SAM9260 | ||
39 | |||
40 | config ARCH_AT91SAM9G45 | ||
41 | bool "AT91SAM9G45" | ||
42 | select SOC_AT91SAM9G45 | ||
43 | |||
44 | config ARCH_AT91X40 | ||
45 | bool "AT91x40" | ||
46 | depends on !MMU | ||
47 | select ARCH_USES_GETTIMEOFFSET | ||
48 | select MULTI_IRQ_HANDLER | ||
49 | select SPARSE_IRQ | ||
50 | |||
51 | endchoice | ||
52 | |||
53 | # ---------------------------------------------------------- | ||
54 | |||
55 | if ARCH_AT91RM9200 | ||
56 | |||
57 | comment "AT91RM9200 Board Type" | ||
58 | |||
59 | config MACH_ONEARM | ||
60 | bool "Ajeco 1ARM Single Board Computer" | ||
61 | help | ||
62 | Select this if you are using Ajeco's 1ARM Single Board Computer. | ||
63 | <http://www.ajeco.fi/> | ||
64 | |||
65 | config ARCH_AT91RM9200DK | ||
66 | bool "Atmel AT91RM9200-DK Development board" | ||
67 | select HAVE_AT91_DATAFLASH_CARD | ||
68 | help | ||
69 | Select this if you are using Atmel's AT91RM9200-DK Development board. | ||
70 | (Discontinued) | ||
71 | |||
72 | config MACH_AT91RM9200EK | ||
73 | bool "Atmel AT91RM9200-EK Evaluation Kit" | ||
74 | select HAVE_AT91_DATAFLASH_CARD | ||
75 | help | ||
76 | Select this if you are using Atmel's AT91RM9200-EK Evaluation Kit. | ||
77 | <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3507> | ||
78 | |||
79 | config MACH_CSB337 | ||
80 | bool "Cogent CSB337" | ||
81 | help | ||
82 | Select this if you are using Cogent's CSB337 board. | ||
83 | <http://www.cogcomp.com/csb_csb337.htm> | ||
84 | |||
85 | config MACH_CSB637 | ||
86 | bool "Cogent CSB637" | ||
87 | help | ||
88 | Select this if you are using Cogent's CSB637 board. | ||
89 | <http://www.cogcomp.com/csb_csb637.htm> | ||
90 | |||
91 | config MACH_CARMEVA | ||
92 | bool "Conitec ARM&EVA" | ||
93 | help | ||
94 | Select this if you are using Conitec's AT91RM9200-MCU-Module. | ||
95 | <http://www.conitec.net/english/linuxboard.php> | ||
96 | |||
97 | config MACH_ATEB9200 | ||
98 | bool "Embest ATEB9200" | ||
99 | help | ||
100 | Select this if you are using Embest's ATEB9200 board. | ||
101 | <http://www.embedinfo.com/english/product/ATEB9200.asp> | ||
102 | |||
103 | config MACH_KB9200 | ||
104 | bool "KwikByte KB920x" | ||
105 | help | ||
106 | Select this if you are using KwikByte's KB920x board. | ||
107 | <http://www.kwikbyte.com/KB9202.html> | ||
108 | |||
109 | config MACH_PICOTUX2XX | ||
110 | bool "picotux 200" | ||
111 | help | ||
112 | Select this if you are using a picotux 200. | ||
113 | <http://www.picotux.com/> | ||
114 | |||
115 | config MACH_KAFA | ||
116 | bool "Sperry-Sun KAFA board" | ||
117 | help | ||
118 | Select this if you are using Sperry-Sun's KAFA board. | ||
119 | |||
120 | config MACH_ECBAT91 | ||
121 | bool "emQbit ECB_AT91 SBC" | ||
122 | select HAVE_AT91_DATAFLASH_CARD | ||
123 | help | ||
124 | Select this if you are using emQbit's ECB_AT91 board. | ||
125 | <http://wiki.emqbit.com/free-ecb-at91> | ||
126 | |||
127 | config MACH_YL9200 | ||
128 | bool "ucDragon YL-9200" | ||
129 | help | ||
130 | Select this if you are using the ucDragon YL-9200 board. | ||
131 | |||
132 | config MACH_CPUAT91 | ||
133 | bool "Eukrea CPUAT91" | ||
134 | help | ||
135 | Select this if you are using the Eukrea Electromatique's | ||
136 | CPUAT91 board <http://www.eukrea.com/>. | ||
137 | |||
138 | config MACH_ECO920 | ||
139 | bool "eco920" | ||
140 | help | ||
141 | Select this if you are using the eco920 board | ||
142 | |||
143 | config MACH_RSI_EWS | ||
144 | bool "RSI Embedded Webserver" | ||
145 | depends on ARCH_AT91RM9200 | ||
146 | help | ||
147 | Select this if you are using RSIs EWS board. | ||
148 | endif | ||
149 | |||
150 | # ---------------------------------------------------------- | ||
151 | |||
152 | if ARCH_AT91SAM9260 | ||
153 | |||
154 | comment "AT91SAM9260 Variants" | ||
155 | |||
156 | comment "AT91SAM9260 / AT91SAM9XE Board Type" | ||
157 | |||
158 | config MACH_AT91SAM9260EK | ||
159 | bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit" | ||
160 | select HAVE_AT91_DATAFLASH_CARD | ||
161 | help | ||
162 | Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit | ||
163 | <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933> | ||
164 | |||
165 | config MACH_CAM60 | ||
166 | bool "KwikByte KB9260 (CAM60) board" | ||
167 | help | ||
168 | Select this if you are using KwikByte's KB9260 (CAM60) board based on the Atmel AT91SAM9260. | ||
169 | <http://www.kwikbyte.com/KB9260.html> | ||
170 | |||
171 | config MACH_SAM9_L9260 | ||
172 | bool "Olimex SAM9-L9260 board" | ||
173 | select HAVE_AT91_DATAFLASH_CARD | ||
174 | help | ||
175 | Select this if you are using Olimex's SAM9-L9260 board based on the Atmel AT91SAM9260. | ||
176 | <http://www.olimex.com/dev/sam9-L9260.html> | ||
177 | |||
178 | config MACH_AFEB9260 | ||
179 | bool "Custom afeb9260 board v1" | ||
180 | help | ||
181 | Select this if you are using custom afeb9260 board based on | ||
182 | open hardware design. Select this for revision 1 of the board. | ||
183 | <svn://194.85.238.22/home/users/george/svn/arm9eb> | ||
184 | <http://groups.google.com/group/arm9fpga-evolution-board> | ||
185 | |||
186 | config MACH_USB_A9260 | ||
187 | bool "CALAO USB-A9260" | ||
188 | help | ||
189 | Select this if you are using a Calao Systems USB-A9260. | ||
190 | <http://www.calao-systems.com> | ||
191 | |||
192 | config MACH_QIL_A9260 | ||
193 | bool "CALAO QIL-A9260 board" | ||
194 | help | ||
195 | Select this if you are using a Calao Systems QIL-A9260 Board. | ||
196 | <http://www.calao-systems.com> | ||
197 | |||
198 | config MACH_CPU9260 | ||
199 | bool "Eukrea CPU9260 board" | ||
200 | help | ||
201 | Select this if you are using a Eukrea Electromatique's | ||
202 | CPU9260 Board <http://www.eukrea.com/> | ||
203 | |||
204 | config MACH_FLEXIBITY | ||
205 | bool "Flexibity Connect board" | ||
206 | help | ||
207 | Select this if you are using Flexibity Connect board | ||
208 | <http://www.flexibity.com> | ||
209 | |||
210 | endif | ||
211 | |||
212 | # ---------------------------------------------------------- | ||
213 | |||
214 | if ARCH_AT91SAM9261 | ||
215 | |||
216 | comment "AT91SAM9261 Board Type" | ||
217 | |||
218 | config MACH_AT91SAM9261EK | ||
219 | bool "Atmel AT91SAM9261-EK Evaluation Kit" | ||
220 | select HAVE_AT91_DATAFLASH_CARD | ||
221 | help | ||
222 | Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit. | ||
223 | <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820> | ||
224 | |||
225 | endif | ||
226 | |||
227 | # ---------------------------------------------------------- | ||
228 | |||
229 | if ARCH_AT91SAM9G10 | ||
230 | |||
231 | comment "AT91SAM9G10 Board Type" | ||
232 | |||
233 | config MACH_AT91SAM9G10EK | ||
234 | bool "Atmel AT91SAM9G10-EK Evaluation Kit" | ||
235 | select HAVE_AT91_DATAFLASH_CARD | ||
236 | help | ||
237 | Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit. | ||
238 | <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588> | ||
239 | |||
240 | endif | ||
241 | |||
242 | # ---------------------------------------------------------- | ||
243 | |||
244 | if ARCH_AT91SAM9263 | ||
245 | |||
246 | comment "AT91SAM9263 Board Type" | ||
247 | |||
248 | config MACH_AT91SAM9263EK | ||
249 | bool "Atmel AT91SAM9263-EK Evaluation Kit" | ||
250 | select HAVE_AT91_DATAFLASH_CARD | ||
251 | help | ||
252 | Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit. | ||
253 | <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057> | ||
254 | |||
255 | config MACH_USB_A9263 | ||
256 | bool "CALAO USB-A9263" | ||
257 | help | ||
258 | Select this if you are using a Calao Systems USB-A9263. | ||
259 | <http://www.calao-systems.com> | ||
260 | |||
261 | endif | ||
262 | |||
263 | # ---------------------------------------------------------- | ||
264 | |||
265 | if ARCH_AT91SAM9RL | ||
266 | |||
267 | comment "AT91SAM9RL Board Type" | ||
268 | |||
269 | config MACH_AT91SAM9RLEK | ||
270 | bool "Atmel AT91SAM9RL-EK Evaluation Kit" | ||
271 | help | ||
272 | Select this if you are using Atmel's AT91SAM9RL-EK Evaluation Kit. | ||
273 | |||
274 | endif | ||
275 | |||
276 | # ---------------------------------------------------------- | ||
277 | |||
278 | if ARCH_AT91SAM9G20 | ||
279 | |||
280 | comment "AT91SAM9G20 Board Type" | ||
281 | |||
282 | config MACH_AT91SAM9G20EK | ||
283 | bool "Atmel AT91SAM9G20-EK Evaluation Kit" | ||
284 | select HAVE_AT91_DATAFLASH_CARD | ||
285 | help | ||
286 | Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit | ||
287 | that embeds only one SD/MMC slot. | ||
288 | |||
289 | config MACH_AT91SAM9G20EK_2MMC | ||
290 | depends on MACH_AT91SAM9G20EK | ||
291 | bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots" | ||
292 | help | ||
293 | Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit | ||
294 | with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and | ||
295 | onwards. | ||
296 | <http://www.atmel.com/tools/SAM9G20-EK.aspx> | ||
297 | |||
298 | config MACH_CPU9G20 | ||
299 | bool "Eukrea CPU9G20 board" | ||
300 | help | ||
301 | Select this if you are using a Eukrea Electromatique's | ||
302 | CPU9G20 Board <http://www.eukrea.com/> | ||
303 | |||
304 | config MACH_ACMENETUSFOXG20 | ||
305 | bool "Acme Systems srl FOX Board G20" | ||
306 | help | ||
307 | Select this if you are using Acme Systems | ||
308 | FOX Board G20 <http://www.acmesystems.it> | ||
309 | |||
310 | config MACH_PORTUXG20 | ||
311 | bool "taskit PortuxG20" | ||
312 | help | ||
313 | Select this if you are using taskit's PortuxG20. | ||
314 | <http://www.taskit.de/en/> | ||
315 | |||
316 | config MACH_STAMP9G20 | ||
317 | bool "taskit Stamp9G20 CPU module" | ||
318 | help | ||
319 | Select this if you are using taskit's Stamp9G20 CPU module on its | ||
320 | evaluation board. | ||
321 | <http://www.taskit.de/en/> | ||
322 | |||
323 | config MACH_PCONTROL_G20 | ||
324 | bool "PControl G20 CPU module" | ||
325 | help | ||
326 | Select this if you are using taskit's Stamp9G20 CPU module on this | ||
327 | carrier board, beeing the decentralized unit of a building automation | ||
328 | system; featuring nvram, eth-switch, iso-rs485, display, io | ||
329 | |||
330 | config MACH_GSIA18S | ||
331 | bool "GS_IA18_S board" | ||
332 | help | ||
333 | This enables support for the GS_IA18_S board | ||
334 | produced by GeoSIG Ltd company. This is an internet accelerograph. | ||
335 | <http://www.geosig.com> | ||
336 | |||
337 | config MACH_USB_A9G20 | ||
338 | bool "CALAO USB-A9G20" | ||
339 | depends on ARCH_AT91SAM9G20 | ||
340 | help | ||
341 | Select this if you are using a Calao Systems USB-A9G20. | ||
342 | <http://www.calao-systems.com> | ||
343 | |||
344 | endif | ||
345 | |||
346 | if (ARCH_AT91SAM9260 || ARCH_AT91SAM9G20) | ||
347 | comment "AT91SAM9260/AT91SAM9G20 boards" | ||
348 | |||
349 | config MACH_SNAPPER_9260 | ||
350 | bool "Bluewater Systems Snapper 9260/9G20 module" | ||
351 | help | ||
352 | Select this if you are using the Bluewater Systems Snapper 9260 or | ||
353 | Snapper 9G20 modules. | ||
354 | <http://www.bluewatersys.com/> | ||
355 | endif | ||
356 | |||
357 | # ---------------------------------------------------------- | ||
358 | |||
359 | if ARCH_AT91SAM9G45 | ||
360 | |||
361 | comment "AT91SAM9G45 Board Type" | ||
362 | |||
363 | config MACH_AT91SAM9M10G45EK | ||
364 | bool "Atmel AT91SAM9M10G45-EK Evaluation Kits" | ||
365 | help | ||
366 | Select this if you are using Atmel's AT91SAM9M10G45-EK Evaluation Kit. | ||
367 | Those boards can be populated with any SoC of AT91SAM9G45 or AT91SAM9M10 | ||
368 | families: AT91SAM9G45, AT91SAM9G46, AT91SAM9M10 and AT91SAM9M11. | ||
369 | <http://www.atmel.com/tools/SAM9M10-G45-EK.aspx> | ||
370 | |||
371 | endif | ||
372 | |||
373 | # ---------------------------------------------------------- | ||
374 | |||
375 | if ARCH_AT91X40 | ||
376 | |||
377 | comment "AT91X40 Board Type" | ||
378 | |||
379 | config MACH_AT91EB01 | ||
380 | bool "Atmel AT91EB01 Evaluation Kit" | ||
381 | help | ||
382 | Select this if you are using Atmel's AT91EB01 Evaluation Kit. | ||
383 | It is also a popular target for simulators such as GDB's | ||
384 | ARM simulator (commonly known as the ARMulator) and the | ||
385 | Skyeye simulator. | ||
386 | |||
387 | endif | ||
388 | |||
389 | # ---------------------------------------------------------- | ||
390 | |||
391 | comment "AT91 Board Options" | ||
392 | |||
393 | config MTD_AT91_DATAFLASH_CARD | ||
394 | bool "Enable DataFlash Card support" | ||
395 | depends on HAVE_AT91_DATAFLASH_CARD | ||
396 | help | ||
397 | Enable support for the DataFlash card. | ||
398 | |||
399 | endmenu | ||
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile index 39218ca6d8e8..505fed961eb0 100644 --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile | |||
@@ -87,8 +87,8 @@ obj-$(CONFIG_MACH_SNAPPER_9260) += board-snapper9260.o | |||
87 | obj-$(CONFIG_MACH_AT91SAM9M10G45EK) += board-sam9m10g45ek.o | 87 | obj-$(CONFIG_MACH_AT91SAM9M10G45EK) += board-sam9m10g45ek.o |
88 | 88 | ||
89 | # AT91SAM board with device-tree | 89 | # AT91SAM board with device-tree |
90 | obj-$(CONFIG_MACH_AT91RM9200_DT) += board-rm9200-dt.o | 90 | obj-$(CONFIG_MACH_AT91RM9200_DT) += board-dt-rm9200.o |
91 | obj-$(CONFIG_MACH_AT91SAM_DT) += board-dt.o | 91 | obj-$(CONFIG_MACH_AT91SAM9_DT) += board-dt-sam9.o |
92 | 92 | ||
93 | # AT91X40 board-specific support | 93 | # AT91X40 board-specific support |
94 | obj-$(CONFIG_MACH_AT91EB01) += board-eb01.o | 94 | obj-$(CONFIG_MACH_AT91EB01) += board-eb01.o |
diff --git a/arch/arm/mach-at91/board-rm9200-dt.c b/arch/arm/mach-at91/board-dt-rm9200.c index 3fcb6623a33e..3fcb6623a33e 100644 --- a/arch/arm/mach-at91/board-rm9200-dt.c +++ b/arch/arm/mach-at91/board-dt-rm9200.c | |||
diff --git a/arch/arm/mach-at91/board-dt.c b/arch/arm/mach-at91/board-dt-sam9.c index 8db30132abed..8db30132abed 100644 --- a/arch/arm/mach-at91/board-dt.c +++ b/arch/arm/mach-at91/board-dt-sam9.c | |||
diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c index 4b678478cf95..6b4608d58da2 100644 --- a/arch/arm/mach-at91/setup.c +++ b/arch/arm/mach-at91/setup.c | |||
@@ -333,7 +333,7 @@ static void at91_dt_rstc(void) | |||
333 | 333 | ||
334 | of_id = of_match_node(rstc_ids, np); | 334 | of_id = of_match_node(rstc_ids, np); |
335 | if (!of_id) | 335 | if (!of_id) |
336 | panic("AT91: rtsc no restart function availlable\n"); | 336 | panic("AT91: rtsc no restart function available\n"); |
337 | 337 | ||
338 | arm_pm_restart = of_id->data; | 338 | arm_pm_restart = of_id->data; |
339 | 339 | ||
diff --git a/arch/arm/mach-highbank/highbank.c b/arch/arm/mach-highbank/highbank.c index a4f9f50247d4..76c1170b3528 100644 --- a/arch/arm/mach-highbank/highbank.c +++ b/arch/arm/mach-highbank/highbank.c | |||
@@ -32,7 +32,6 @@ | |||
32 | #include <asm/cacheflush.h> | 32 | #include <asm/cacheflush.h> |
33 | #include <asm/cputype.h> | 33 | #include <asm/cputype.h> |
34 | #include <asm/smp_plat.h> | 34 | #include <asm/smp_plat.h> |
35 | #include <asm/smp_twd.h> | ||
36 | #include <asm/hardware/arm_timer.h> | 35 | #include <asm/hardware/arm_timer.h> |
37 | #include <asm/hardware/timer-sp.h> | 36 | #include <asm/hardware/timer-sp.h> |
38 | #include <asm/hardware/cache-l2x0.h> | 37 | #include <asm/hardware/cache-l2x0.h> |
@@ -119,10 +118,10 @@ static void __init highbank_timer_init(void) | |||
119 | sp804_clocksource_and_sched_clock_init(timer_base + 0x20, "timer1"); | 118 | sp804_clocksource_and_sched_clock_init(timer_base + 0x20, "timer1"); |
120 | sp804_clockevents_init(timer_base, irq, "timer0"); | 119 | sp804_clockevents_init(timer_base, irq, "timer0"); |
121 | 120 | ||
122 | twd_local_timer_of_register(); | ||
123 | |||
124 | arch_timer_of_register(); | 121 | arch_timer_of_register(); |
125 | arch_timer_sched_clock_init(); | 122 | arch_timer_sched_clock_init(); |
123 | |||
124 | clocksource_of_init(); | ||
126 | } | 125 | } |
127 | 126 | ||
128 | static void highbank_power_off(void) | 127 | static void highbank_power_off(void) |
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c index 9ffd103b27e4..b59ddcb57c78 100644 --- a/arch/arm/mach-imx/mach-imx6q.c +++ b/arch/arm/mach-imx/mach-imx6q.c | |||
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | #include <linux/clk.h> | 13 | #include <linux/clk.h> |
14 | #include <linux/clkdev.h> | 14 | #include <linux/clkdev.h> |
15 | #include <linux/clocksource.h> | ||
15 | #include <linux/cpu.h> | 16 | #include <linux/cpu.h> |
16 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
17 | #include <linux/export.h> | 18 | #include <linux/export.h> |
@@ -28,11 +29,9 @@ | |||
28 | #include <linux/regmap.h> | 29 | #include <linux/regmap.h> |
29 | #include <linux/micrel_phy.h> | 30 | #include <linux/micrel_phy.h> |
30 | #include <linux/mfd/syscon.h> | 31 | #include <linux/mfd/syscon.h> |
31 | #include <asm/smp_twd.h> | ||
32 | #include <asm/hardware/cache-l2x0.h> | 32 | #include <asm/hardware/cache-l2x0.h> |
33 | #include <asm/mach/arch.h> | 33 | #include <asm/mach/arch.h> |
34 | #include <asm/mach/map.h> | 34 | #include <asm/mach/map.h> |
35 | #include <asm/mach/time.h> | ||
36 | #include <asm/system_misc.h> | 35 | #include <asm/system_misc.h> |
37 | 36 | ||
38 | #include "common.h" | 37 | #include "common.h" |
@@ -292,7 +291,7 @@ static void __init imx6q_init_irq(void) | |||
292 | static void __init imx6q_timer_init(void) | 291 | static void __init imx6q_timer_init(void) |
293 | { | 292 | { |
294 | mx6q_clocks_init(); | 293 | mx6q_clocks_init(); |
295 | twd_local_timer_of_register(); | 294 | clocksource_of_init(); |
296 | imx_print_silicon_rev("i.MX6Q", imx6q_revision()); | 295 | imx_print_silicon_rev("i.MX6Q", imx6q_revision()); |
297 | } | 296 | } |
298 | 297 | ||
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c index 2bdd4cf17a8f..4fd80257c73e 100644 --- a/arch/arm/mach-omap2/timer.c +++ b/arch/arm/mach-omap2/timer.c | |||
@@ -597,7 +597,7 @@ void __init omap4_local_timer_init(void) | |||
597 | int err; | 597 | int err; |
598 | 598 | ||
599 | if (of_have_populated_dt()) { | 599 | if (of_have_populated_dt()) { |
600 | twd_local_timer_of_register(); | 600 | clocksource_of_init(); |
601 | return; | 601 | return; |
602 | } | 602 | } |
603 | 603 | ||
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c index d9c7c3bf0d9c..973db98a3c27 100644 --- a/arch/arm/mach-orion5x/pci.c +++ b/arch/arm/mach-orion5x/pci.c | |||
@@ -402,8 +402,9 @@ static void __init orion5x_pci_master_slave_enable(void) | |||
402 | orion5x_pci_hw_wr_conf(bus_nr, 0, func, reg, 4, val | 0x7); | 402 | orion5x_pci_hw_wr_conf(bus_nr, 0, func, reg, 4, val | 0x7); |
403 | } | 403 | } |
404 | 404 | ||
405 | static void __init orion5x_setup_pci_wins(struct mbus_dram_target_info *dram) | 405 | static void __init orion5x_setup_pci_wins(void) |
406 | { | 406 | { |
407 | const struct mbus_dram_target_info *dram = mv_mbus_dram_info(); | ||
407 | u32 win_enable; | 408 | u32 win_enable; |
408 | int bus; | 409 | int bus; |
409 | int i; | 410 | int i; |
@@ -420,7 +421,7 @@ static void __init orion5x_setup_pci_wins(struct mbus_dram_target_info *dram) | |||
420 | bus = orion5x_pci_local_bus_nr(); | 421 | bus = orion5x_pci_local_bus_nr(); |
421 | 422 | ||
422 | for (i = 0; i < dram->num_cs; i++) { | 423 | for (i = 0; i < dram->num_cs; i++) { |
423 | struct mbus_dram_window *cs = dram->cs + i; | 424 | const struct mbus_dram_window *cs = dram->cs + i; |
424 | u32 func = PCI_CONF_FUNC_BAR_CS(cs->cs_index); | 425 | u32 func = PCI_CONF_FUNC_BAR_CS(cs->cs_index); |
425 | u32 reg; | 426 | u32 reg; |
426 | u32 val; | 427 | u32 val; |
@@ -467,7 +468,7 @@ static int __init pci_setup(struct pci_sys_data *sys) | |||
467 | /* | 468 | /* |
468 | * Point PCI unit MBUS decode windows to DRAM space. | 469 | * Point PCI unit MBUS decode windows to DRAM space. |
469 | */ | 470 | */ |
470 | orion5x_setup_pci_wins(&orion_mbus_dram_info); | 471 | orion5x_setup_pci_wins(); |
471 | 472 | ||
472 | /* | 473 | /* |
473 | * Master + Slave enable | 474 | * Master + Slave enable |
diff --git a/arch/arm/mach-s3c24xx/bast-irq.c b/arch/arm/mach-s3c24xx/bast-irq.c index c0daa9590b4c..cb1b791954de 100644 --- a/arch/arm/mach-s3c24xx/bast-irq.c +++ b/arch/arm/mach-s3c24xx/bast-irq.c | |||
@@ -34,8 +34,6 @@ | |||
34 | #include <mach/hardware.h> | 34 | #include <mach/hardware.h> |
35 | #include <mach/regs-irq.h> | 35 | #include <mach/regs-irq.h> |
36 | 36 | ||
37 | #include <plat/irq.h> | ||
38 | |||
39 | #include "bast.h" | 37 | #include "bast.h" |
40 | 38 | ||
41 | #define irqdbf(x...) | 39 | #define irqdbf(x...) |
diff --git a/arch/arm/mach-s3c24xx/clock-s3c2410.c b/arch/arm/mach-s3c24xx/clock-s3c2410.c index 641266f3d152..34fffdf6fc1d 100644 --- a/arch/arm/mach-s3c24xx/clock-s3c2410.c +++ b/arch/arm/mach-s3c24xx/clock-s3c2410.c | |||
@@ -40,7 +40,6 @@ | |||
40 | #include <mach/regs-clock.h> | 40 | #include <mach/regs-clock.h> |
41 | #include <mach/regs-gpio.h> | 41 | #include <mach/regs-gpio.h> |
42 | 42 | ||
43 | #include <plat/s3c2410.h> | ||
44 | #include <plat/clock.h> | 43 | #include <plat/clock.h> |
45 | #include <plat/cpu.h> | 44 | #include <plat/cpu.h> |
46 | 45 | ||
diff --git a/arch/arm/mach-s3c24xx/clock-s3c2412.c b/arch/arm/mach-s3c24xx/clock-s3c2412.c index d10b695a9066..2cc017da88fe 100644 --- a/arch/arm/mach-s3c24xx/clock-s3c2412.c +++ b/arch/arm/mach-s3c24xx/clock-s3c2412.c | |||
@@ -41,7 +41,6 @@ | |||
41 | #include <mach/regs-clock.h> | 41 | #include <mach/regs-clock.h> |
42 | #include <mach/regs-gpio.h> | 42 | #include <mach/regs-gpio.h> |
43 | 43 | ||
44 | #include <plat/s3c2412.h> | ||
45 | #include <plat/clock.h> | 44 | #include <plat/clock.h> |
46 | #include <plat/cpu.h> | 45 | #include <plat/cpu.h> |
47 | 46 | ||
diff --git a/arch/arm/mach-s3c24xx/clock-s3c2416.c b/arch/arm/mach-s3c24xx/clock-s3c2416.c index 14a81c2317a4..036056cea57c 100644 --- a/arch/arm/mach-s3c24xx/clock-s3c2416.c +++ b/arch/arm/mach-s3c24xx/clock-s3c2416.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/clk.h> | 15 | #include <linux/clk.h> |
16 | 16 | ||
17 | #include <plat/s3c2416.h> | ||
18 | #include <plat/clock.h> | 17 | #include <plat/clock.h> |
19 | #include <plat/clock-clksrc.h> | 18 | #include <plat/clock-clksrc.h> |
20 | #include <plat/cpu.h> | 19 | #include <plat/cpu.h> |
diff --git a/arch/arm/mach-s3c24xx/clock-s3c2443.c b/arch/arm/mach-s3c24xx/clock-s3c2443.c index bdaba59b42dc..0a53051b0787 100644 --- a/arch/arm/mach-s3c24xx/clock-s3c2443.c +++ b/arch/arm/mach-s3c24xx/clock-s3c2443.c | |||
@@ -41,7 +41,6 @@ | |||
41 | 41 | ||
42 | #include <plat/cpu-freq.h> | 42 | #include <plat/cpu-freq.h> |
43 | 43 | ||
44 | #include <plat/s3c2443.h> | ||
45 | #include <plat/clock.h> | 44 | #include <plat/clock.h> |
46 | #include <plat/clock-clksrc.h> | 45 | #include <plat/clock-clksrc.h> |
47 | #include <plat/cpu.h> | 46 | #include <plat/cpu.h> |
diff --git a/arch/arm/mach-s3c24xx/common-smdk.c b/arch/arm/mach-s3c24xx/common-smdk.c index 3b2cf6db3634..404444dd3840 100644 --- a/arch/arm/mach-s3c24xx/common-smdk.c +++ b/arch/arm/mach-s3c24xx/common-smdk.c | |||
@@ -41,11 +41,12 @@ | |||
41 | 41 | ||
42 | #include <linux/platform_data/mtd-nand-s3c2410.h> | 42 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
43 | 43 | ||
44 | #include <plat/common-smdk.h> | ||
45 | #include <plat/gpio-cfg.h> | 44 | #include <plat/gpio-cfg.h> |
46 | #include <plat/devs.h> | 45 | #include <plat/devs.h> |
47 | #include <plat/pm.h> | 46 | #include <plat/pm.h> |
48 | 47 | ||
48 | #include "common-smdk.h" | ||
49 | |||
49 | /* LED devices */ | 50 | /* LED devices */ |
50 | 51 | ||
51 | static struct s3c24xx_led_platdata smdk_pdata_led4 = { | 52 | static struct s3c24xx_led_platdata smdk_pdata_led4 = { |
diff --git a/arch/arm/plat-samsung/include/plat/common-smdk.h b/arch/arm/mach-s3c24xx/common-smdk.h index ba028f1ed30b..98f733e1cb42 100644 --- a/arch/arm/plat-samsung/include/plat/common-smdk.h +++ b/arch/arm/mach-s3c24xx/common-smdk.h | |||
@@ -1,5 +1,4 @@ | |||
1 | /* linux/arch/arm/plat-samsung/include/plat/common-smdk.h | 1 | /* |
2 | * | ||
3 | * Copyright (c) 2006 Simtec Electronics | 2 | * Copyright (c) 2006 Simtec Electronics |
4 | * Ben Dooks <ben@simtec.co.uk> | 3 | * Ben Dooks <ben@simtec.co.uk> |
5 | * | 4 | * |
diff --git a/arch/arm/mach-s3c24xx/common.c b/arch/arm/mach-s3c24xx/common.c index 6bcf87f65f9e..d97533d21ac4 100644 --- a/arch/arm/mach-s3c24xx/common.c +++ b/arch/arm/mach-s3c24xx/common.c | |||
@@ -47,14 +47,11 @@ | |||
47 | #include <plat/cpu.h> | 47 | #include <plat/cpu.h> |
48 | #include <plat/devs.h> | 48 | #include <plat/devs.h> |
49 | #include <plat/clock.h> | 49 | #include <plat/clock.h> |
50 | #include <plat/s3c2410.h> | ||
51 | #include <plat/s3c2412.h> | ||
52 | #include <plat/s3c2416.h> | ||
53 | #include <plat/s3c244x.h> | ||
54 | #include <plat/s3c2443.h> | ||
55 | #include <plat/cpu-freq.h> | 50 | #include <plat/cpu-freq.h> |
56 | #include <plat/pll.h> | 51 | #include <plat/pll.h> |
57 | 52 | ||
53 | #include "common.h" | ||
54 | |||
58 | /* table of supported CPUs */ | 55 | /* table of supported CPUs */ |
59 | 56 | ||
60 | static const char name_s3c2410[] = "S3C2410"; | 57 | static const char name_s3c2410[] = "S3C2410"; |
diff --git a/arch/arm/mach-s3c24xx/common.h b/arch/arm/mach-s3c24xx/common.h index ed6276fcaa3b..8a2b4137ddb6 100644 --- a/arch/arm/mach-s3c24xx/common.h +++ b/arch/arm/mach-s3c24xx/common.h | |||
@@ -12,8 +12,94 @@ | |||
12 | #ifndef __ARCH_ARM_MACH_S3C24XX_COMMON_H | 12 | #ifndef __ARCH_ARM_MACH_S3C24XX_COMMON_H |
13 | #define __ARCH_ARM_MACH_S3C24XX_COMMON_H __FILE__ | 13 | #define __ARCH_ARM_MACH_S3C24XX_COMMON_H __FILE__ |
14 | 14 | ||
15 | void s3c2410_restart(char mode, const char *cmd); | 15 | struct s3c2410_uartcfg; |
16 | void s3c244x_restart(char mode, const char *cmd); | 16 | |
17 | #ifdef CONFIG_CPU_S3C2410 | ||
18 | extern int s3c2410_init(void); | ||
19 | extern int s3c2410a_init(void); | ||
20 | extern void s3c2410_map_io(void); | ||
21 | extern void s3c2410_init_uarts(struct s3c2410_uartcfg *cfg, int no); | ||
22 | extern void s3c2410_init_clocks(int xtal); | ||
23 | extern void s3c2410_restart(char mode, const char *cmd); | ||
24 | #else | ||
25 | #define s3c2410_init_clocks NULL | ||
26 | #define s3c2410_init_uarts NULL | ||
27 | #define s3c2410_map_io NULL | ||
28 | #define s3c2410_init NULL | ||
29 | #define s3c2410a_init NULL | ||
30 | #endif | ||
31 | |||
32 | #ifdef CONFIG_CPU_S3C2412 | ||
33 | extern int s3c2412_init(void); | ||
34 | extern void s3c2412_map_io(void); | ||
35 | extern void s3c2412_init_uarts(struct s3c2410_uartcfg *cfg, int no); | ||
36 | extern void s3c2412_init_clocks(int xtal); | ||
37 | extern int s3c2412_baseclk_add(void); | ||
38 | extern void s3c2412_restart(char mode, const char *cmd); | ||
39 | #else | ||
40 | #define s3c2412_init_clocks NULL | ||
41 | #define s3c2412_init_uarts NULL | ||
42 | #define s3c2412_map_io NULL | ||
43 | #define s3c2412_init NULL | ||
44 | #endif | ||
45 | |||
46 | #ifdef CONFIG_CPU_S3C2416 | ||
47 | extern int s3c2416_init(void); | ||
48 | extern void s3c2416_map_io(void); | ||
49 | extern void s3c2416_init_uarts(struct s3c2410_uartcfg *cfg, int no); | ||
50 | extern void s3c2416_init_clocks(int xtal); | ||
51 | extern int s3c2416_baseclk_add(void); | ||
52 | extern void s3c2416_restart(char mode, const char *cmd); | ||
53 | extern void s3c2416_init_irq(void); | ||
54 | |||
55 | extern struct syscore_ops s3c2416_irq_syscore_ops; | ||
56 | #else | ||
57 | #define s3c2416_init_clocks NULL | ||
58 | #define s3c2416_init_uarts NULL | ||
59 | #define s3c2416_map_io NULL | ||
60 | #define s3c2416_init NULL | ||
61 | #endif | ||
62 | |||
63 | #if defined(CONFIG_CPU_S3C2440) || defined(CONFIG_CPU_S3C2442) | ||
64 | extern void s3c244x_map_io(void); | ||
65 | extern void s3c244x_init_uarts(struct s3c2410_uartcfg *cfg, int no); | ||
66 | extern void s3c244x_init_clocks(int xtal); | ||
67 | extern void s3c244x_restart(char mode, const char *cmd); | ||
68 | #else | ||
69 | #define s3c244x_init_clocks NULL | ||
70 | #define s3c244x_init_uarts NULL | ||
71 | #endif | ||
72 | |||
73 | #ifdef CONFIG_CPU_S3C2440 | ||
74 | extern int s3c2440_init(void); | ||
75 | extern void s3c2440_map_io(void); | ||
76 | #else | ||
77 | #define s3c2440_init NULL | ||
78 | #define s3c2440_map_io NULL | ||
79 | #endif | ||
80 | |||
81 | #ifdef CONFIG_CPU_S3C2442 | ||
82 | extern int s3c2442_init(void); | ||
83 | extern void s3c2442_map_io(void); | ||
84 | #else | ||
85 | #define s3c2442_init NULL | ||
86 | #define s3c2442_map_io NULL | ||
87 | #endif | ||
88 | |||
89 | #ifdef CONFIG_CPU_S3C2443 | ||
90 | extern int s3c2443_init(void); | ||
91 | extern void s3c2443_map_io(void); | ||
92 | extern void s3c2443_init_uarts(struct s3c2410_uartcfg *cfg, int no); | ||
93 | extern void s3c2443_init_clocks(int xtal); | ||
94 | extern int s3c2443_baseclk_add(void); | ||
95 | extern void s3c2443_restart(char mode, const char *cmd); | ||
96 | extern void s3c2443_init_irq(void); | ||
97 | #else | ||
98 | #define s3c2443_init_clocks NULL | ||
99 | #define s3c2443_init_uarts NULL | ||
100 | #define s3c2443_map_io NULL | ||
101 | #define s3c2443_init NULL | ||
102 | #endif | ||
17 | 103 | ||
18 | extern struct syscore_ops s3c24xx_irq_syscore_ops; | 104 | extern struct syscore_ops s3c24xx_irq_syscore_ops; |
19 | 105 | ||
diff --git a/arch/arm/mach-s3c24xx/dma-s3c2410.c b/arch/arm/mach-s3c24xx/dma-s3c2410.c index 25d085adc93c..a6c94b820954 100644 --- a/arch/arm/mach-s3c24xx/dma-s3c2410.c +++ b/arch/arm/mach-s3c24xx/dma-s3c2410.c | |||
@@ -28,7 +28,6 @@ | |||
28 | #include <plat/regs-ac97.h> | 28 | #include <plat/regs-ac97.h> |
29 | #include <plat/regs-dma.h> | 29 | #include <plat/regs-dma.h> |
30 | #include <mach/regs-lcd.h> | 30 | #include <mach/regs-lcd.h> |
31 | #include <mach/regs-sdi.h> | ||
32 | #include <plat/regs-iis.h> | 31 | #include <plat/regs-iis.h> |
33 | #include <plat/regs-spi.h> | 32 | #include <plat/regs-spi.h> |
34 | 33 | ||
diff --git a/arch/arm/mach-s3c24xx/dma-s3c2412.c b/arch/arm/mach-s3c24xx/dma-s3c2412.c index d2408ba372cb..c0e8c3f5057e 100644 --- a/arch/arm/mach-s3c24xx/dma-s3c2412.c +++ b/arch/arm/mach-s3c24xx/dma-s3c2412.c | |||
@@ -28,7 +28,6 @@ | |||
28 | #include <plat/regs-ac97.h> | 28 | #include <plat/regs-ac97.h> |
29 | #include <plat/regs-dma.h> | 29 | #include <plat/regs-dma.h> |
30 | #include <mach/regs-lcd.h> | 30 | #include <mach/regs-lcd.h> |
31 | #include <mach/regs-sdi.h> | ||
32 | #include <plat/regs-iis.h> | 31 | #include <plat/regs-iis.h> |
33 | #include <plat/regs-spi.h> | 32 | #include <plat/regs-spi.h> |
34 | 33 | ||
diff --git a/arch/arm/mach-s3c24xx/dma-s3c2440.c b/arch/arm/mach-s3c24xx/dma-s3c2440.c index 0b86e74d104f..1c08eccd9425 100644 --- a/arch/arm/mach-s3c24xx/dma-s3c2440.c +++ b/arch/arm/mach-s3c24xx/dma-s3c2440.c | |||
@@ -28,7 +28,6 @@ | |||
28 | #include <plat/regs-ac97.h> | 28 | #include <plat/regs-ac97.h> |
29 | #include <plat/regs-dma.h> | 29 | #include <plat/regs-dma.h> |
30 | #include <mach/regs-lcd.h> | 30 | #include <mach/regs-lcd.h> |
31 | #include <mach/regs-sdi.h> | ||
32 | #include <plat/regs-iis.h> | 31 | #include <plat/regs-iis.h> |
33 | #include <plat/regs-spi.h> | 32 | #include <plat/regs-spi.h> |
34 | 33 | ||
diff --git a/arch/arm/mach-s3c24xx/dma-s3c2443.c b/arch/arm/mach-s3c24xx/dma-s3c2443.c index 05536254a3f8..000e4c69fce9 100644 --- a/arch/arm/mach-s3c24xx/dma-s3c2443.c +++ b/arch/arm/mach-s3c24xx/dma-s3c2443.c | |||
@@ -28,7 +28,6 @@ | |||
28 | #include <plat/regs-ac97.h> | 28 | #include <plat/regs-ac97.h> |
29 | #include <plat/regs-dma.h> | 29 | #include <plat/regs-dma.h> |
30 | #include <mach/regs-lcd.h> | 30 | #include <mach/regs-lcd.h> |
31 | #include <mach/regs-sdi.h> | ||
32 | #include <plat/regs-iis.h> | 31 | #include <plat/regs-iis.h> |
33 | #include <plat/regs-spi.h> | 32 | #include <plat/regs-spi.h> |
34 | 33 | ||
diff --git a/arch/arm/mach-s3c24xx/include/mach/regs-sdi.h b/arch/arm/mach-s3c24xx/include/mach/regs-sdi.h deleted file mode 100644 index cbf2d8884e30..000000000000 --- a/arch/arm/mach-s3c24xx/include/mach/regs-sdi.h +++ /dev/null | |||
@@ -1,127 +0,0 @@ | |||
1 | /* arch/arm/mach-s3c2410/include/mach/regs-sdi.h | ||
2 | * | ||
3 | * Copyright (c) 2004 Simtec Electronics <linux@simtec.co.uk> | ||
4 | * http://www.simtec.co.uk/products/SWLINUX/ | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | * S3C2410 MMC/SDIO register definitions | ||
11 | */ | ||
12 | |||
13 | #ifndef __ASM_ARM_REGS_SDI | ||
14 | #define __ASM_ARM_REGS_SDI "regs-sdi.h" | ||
15 | |||
16 | #define S3C2410_SDICON (0x00) | ||
17 | #define S3C2410_SDIPRE (0x04) | ||
18 | #define S3C2410_SDICMDARG (0x08) | ||
19 | #define S3C2410_SDICMDCON (0x0C) | ||
20 | #define S3C2410_SDICMDSTAT (0x10) | ||
21 | #define S3C2410_SDIRSP0 (0x14) | ||
22 | #define S3C2410_SDIRSP1 (0x18) | ||
23 | #define S3C2410_SDIRSP2 (0x1C) | ||
24 | #define S3C2410_SDIRSP3 (0x20) | ||
25 | #define S3C2410_SDITIMER (0x24) | ||
26 | #define S3C2410_SDIBSIZE (0x28) | ||
27 | #define S3C2410_SDIDCON (0x2C) | ||
28 | #define S3C2410_SDIDCNT (0x30) | ||
29 | #define S3C2410_SDIDSTA (0x34) | ||
30 | #define S3C2410_SDIFSTA (0x38) | ||
31 | |||
32 | #define S3C2410_SDIDATA (0x3C) | ||
33 | #define S3C2410_SDIIMSK (0x40) | ||
34 | |||
35 | #define S3C2440_SDIDATA (0x40) | ||
36 | #define S3C2440_SDIIMSK (0x3C) | ||
37 | |||
38 | #define S3C2440_SDICON_SDRESET (1<<8) | ||
39 | #define S3C2440_SDICON_MMCCLOCK (1<<5) | ||
40 | #define S3C2410_SDICON_BYTEORDER (1<<4) | ||
41 | #define S3C2410_SDICON_SDIOIRQ (1<<3) | ||
42 | #define S3C2410_SDICON_RWAITEN (1<<2) | ||
43 | #define S3C2410_SDICON_FIFORESET (1<<1) | ||
44 | #define S3C2410_SDICON_CLOCKTYPE (1<<0) | ||
45 | |||
46 | #define S3C2410_SDICMDCON_ABORT (1<<12) | ||
47 | #define S3C2410_SDICMDCON_WITHDATA (1<<11) | ||
48 | #define S3C2410_SDICMDCON_LONGRSP (1<<10) | ||
49 | #define S3C2410_SDICMDCON_WAITRSP (1<<9) | ||
50 | #define S3C2410_SDICMDCON_CMDSTART (1<<8) | ||
51 | #define S3C2410_SDICMDCON_SENDERHOST (1<<6) | ||
52 | #define S3C2410_SDICMDCON_INDEX (0x3f) | ||
53 | |||
54 | #define S3C2410_SDICMDSTAT_CRCFAIL (1<<12) | ||
55 | #define S3C2410_SDICMDSTAT_CMDSENT (1<<11) | ||
56 | #define S3C2410_SDICMDSTAT_CMDTIMEOUT (1<<10) | ||
57 | #define S3C2410_SDICMDSTAT_RSPFIN (1<<9) | ||
58 | #define S3C2410_SDICMDSTAT_XFERING (1<<8) | ||
59 | #define S3C2410_SDICMDSTAT_INDEX (0xff) | ||
60 | |||
61 | #define S3C2440_SDIDCON_DS_BYTE (0<<22) | ||
62 | #define S3C2440_SDIDCON_DS_HALFWORD (1<<22) | ||
63 | #define S3C2440_SDIDCON_DS_WORD (2<<22) | ||
64 | #define S3C2410_SDIDCON_IRQPERIOD (1<<21) | ||
65 | #define S3C2410_SDIDCON_TXAFTERRESP (1<<20) | ||
66 | #define S3C2410_SDIDCON_RXAFTERCMD (1<<19) | ||
67 | #define S3C2410_SDIDCON_BUSYAFTERCMD (1<<18) | ||
68 | #define S3C2410_SDIDCON_BLOCKMODE (1<<17) | ||
69 | #define S3C2410_SDIDCON_WIDEBUS (1<<16) | ||
70 | #define S3C2410_SDIDCON_DMAEN (1<<15) | ||
71 | #define S3C2410_SDIDCON_STOP (1<<14) | ||
72 | #define S3C2440_SDIDCON_DATSTART (1<<14) | ||
73 | #define S3C2410_SDIDCON_DATMODE (3<<12) | ||
74 | #define S3C2410_SDIDCON_BLKNUM (0x7ff) | ||
75 | |||
76 | /* constants for S3C2410_SDIDCON_DATMODE */ | ||
77 | #define S3C2410_SDIDCON_XFER_READY (0<<12) | ||
78 | #define S3C2410_SDIDCON_XFER_CHKSTART (1<<12) | ||
79 | #define S3C2410_SDIDCON_XFER_RXSTART (2<<12) | ||
80 | #define S3C2410_SDIDCON_XFER_TXSTART (3<<12) | ||
81 | |||
82 | #define S3C2410_SDIDCON_BLKNUM_MASK (0xFFF) | ||
83 | #define S3C2410_SDIDCNT_BLKNUM_SHIFT (12) | ||
84 | |||
85 | #define S3C2410_SDIDSTA_RDYWAITREQ (1<<10) | ||
86 | #define S3C2410_SDIDSTA_SDIOIRQDETECT (1<<9) | ||
87 | #define S3C2410_SDIDSTA_FIFOFAIL (1<<8) /* reserved on 2440 */ | ||
88 | #define S3C2410_SDIDSTA_CRCFAIL (1<<7) | ||
89 | #define S3C2410_SDIDSTA_RXCRCFAIL (1<<6) | ||
90 | #define S3C2410_SDIDSTA_DATATIMEOUT (1<<5) | ||
91 | #define S3C2410_SDIDSTA_XFERFINISH (1<<4) | ||
92 | #define S3C2410_SDIDSTA_BUSYFINISH (1<<3) | ||
93 | #define S3C2410_SDIDSTA_SBITERR (1<<2) /* reserved on 2410a/2440 */ | ||
94 | #define S3C2410_SDIDSTA_TXDATAON (1<<1) | ||
95 | #define S3C2410_SDIDSTA_RXDATAON (1<<0) | ||
96 | |||
97 | #define S3C2440_SDIFSTA_FIFORESET (1<<16) | ||
98 | #define S3C2440_SDIFSTA_FIFOFAIL (3<<14) /* 3 is correct (2 bits) */ | ||
99 | #define S3C2410_SDIFSTA_TFDET (1<<13) | ||
100 | #define S3C2410_SDIFSTA_RFDET (1<<12) | ||
101 | #define S3C2410_SDIFSTA_TFHALF (1<<11) | ||
102 | #define S3C2410_SDIFSTA_TFEMPTY (1<<10) | ||
103 | #define S3C2410_SDIFSTA_RFLAST (1<<9) | ||
104 | #define S3C2410_SDIFSTA_RFFULL (1<<8) | ||
105 | #define S3C2410_SDIFSTA_RFHALF (1<<7) | ||
106 | #define S3C2410_SDIFSTA_COUNTMASK (0x7f) | ||
107 | |||
108 | #define S3C2410_SDIIMSK_RESPONSECRC (1<<17) | ||
109 | #define S3C2410_SDIIMSK_CMDSENT (1<<16) | ||
110 | #define S3C2410_SDIIMSK_CMDTIMEOUT (1<<15) | ||
111 | #define S3C2410_SDIIMSK_RESPONSEND (1<<14) | ||
112 | #define S3C2410_SDIIMSK_READWAIT (1<<13) | ||
113 | #define S3C2410_SDIIMSK_SDIOIRQ (1<<12) | ||
114 | #define S3C2410_SDIIMSK_FIFOFAIL (1<<11) | ||
115 | #define S3C2410_SDIIMSK_CRCSTATUS (1<<10) | ||
116 | #define S3C2410_SDIIMSK_DATACRC (1<<9) | ||
117 | #define S3C2410_SDIIMSK_DATATIMEOUT (1<<8) | ||
118 | #define S3C2410_SDIIMSK_DATAFINISH (1<<7) | ||
119 | #define S3C2410_SDIIMSK_BUSYFINISH (1<<6) | ||
120 | #define S3C2410_SDIIMSK_SBITERR (1<<5) /* reserved 2440/2410a */ | ||
121 | #define S3C2410_SDIIMSK_TXFIFOHALF (1<<4) | ||
122 | #define S3C2410_SDIIMSK_TXFIFOEMPTY (1<<3) | ||
123 | #define S3C2410_SDIIMSK_RXFIFOLAST (1<<2) | ||
124 | #define S3C2410_SDIIMSK_RXFIFOFULL (1<<1) | ||
125 | #define S3C2410_SDIIMSK_RXFIFOHALF (1<<0) | ||
126 | |||
127 | #endif /* __ASM_ARM_REGS_SDI */ | ||
diff --git a/arch/arm/mach-s3c24xx/irq-pm.c b/arch/arm/mach-s3c24xx/irq-pm.c index e1199599873e..b91341ef2b2e 100644 --- a/arch/arm/mach-s3c24xx/irq-pm.c +++ b/arch/arm/mach-s3c24xx/irq-pm.c | |||
@@ -16,10 +16,15 @@ | |||
16 | #include <linux/interrupt.h> | 16 | #include <linux/interrupt.h> |
17 | #include <linux/irq.h> | 17 | #include <linux/irq.h> |
18 | #include <linux/syscore_ops.h> | 18 | #include <linux/syscore_ops.h> |
19 | #include <linux/io.h> | ||
19 | 20 | ||
20 | #include <plat/cpu.h> | 21 | #include <plat/cpu.h> |
21 | #include <plat/pm.h> | 22 | #include <plat/pm.h> |
22 | #include <plat/irq.h> | 23 | #include <plat/map-base.h> |
24 | #include <plat/map-s3c.h> | ||
25 | |||
26 | #include <mach/regs-irq.h> | ||
27 | #include <mach/regs-gpio.h> | ||
23 | 28 | ||
24 | #include <asm/irq.h> | 29 | #include <asm/irq.h> |
25 | 30 | ||
diff --git a/arch/arm/mach-s3c24xx/irq.c b/arch/arm/mach-s3c24xx/irq.c index b6fac28a0034..05be3e2487ae 100644 --- a/arch/arm/mach-s3c24xx/irq.c +++ b/arch/arm/mach-s3c24xx/irq.c | |||
@@ -35,7 +35,6 @@ | |||
35 | #include <plat/cpu.h> | 35 | #include <plat/cpu.h> |
36 | #include <plat/regs-irqtype.h> | 36 | #include <plat/regs-irqtype.h> |
37 | #include <plat/pm.h> | 37 | #include <plat/pm.h> |
38 | #include <plat/irq.h> | ||
39 | 38 | ||
40 | #define S3C_IRQTYPE_NONE 0 | 39 | #define S3C_IRQTYPE_NONE 0 |
41 | #define S3C_IRQTYPE_EINT 1 | 40 | #define S3C_IRQTYPE_EINT 1 |
@@ -176,8 +175,7 @@ static int s3c_irqext_type_set(void __iomem *gpcon_reg, | |||
176 | return 0; | 175 | return 0; |
177 | } | 176 | } |
178 | 177 | ||
179 | /* FIXME: make static when it's out of plat-samsung/irq.h */ | 178 | static int s3c_irqext_type(struct irq_data *data, unsigned int type) |
180 | int s3c_irqext_type(struct irq_data *data, unsigned int type) | ||
181 | { | 179 | { |
182 | void __iomem *extint_reg; | 180 | void __iomem *extint_reg; |
183 | void __iomem *gpcon_reg; | 181 | void __iomem *gpcon_reg; |
@@ -225,7 +223,7 @@ static int s3c_irqext0_type(struct irq_data *data, unsigned int type) | |||
225 | extint_offset, type); | 223 | extint_offset, type); |
226 | } | 224 | } |
227 | 225 | ||
228 | struct irq_chip s3c_irq_chip = { | 226 | static struct irq_chip s3c_irq_chip = { |
229 | .name = "s3c", | 227 | .name = "s3c", |
230 | .irq_ack = s3c_irq_ack, | 228 | .irq_ack = s3c_irq_ack, |
231 | .irq_mask = s3c_irq_mask, | 229 | .irq_mask = s3c_irq_mask, |
@@ -233,7 +231,7 @@ struct irq_chip s3c_irq_chip = { | |||
233 | .irq_set_wake = s3c_irq_wake | 231 | .irq_set_wake = s3c_irq_wake |
234 | }; | 232 | }; |
235 | 233 | ||
236 | struct irq_chip s3c_irq_level_chip = { | 234 | static struct irq_chip s3c_irq_level_chip = { |
237 | .name = "s3c-level", | 235 | .name = "s3c-level", |
238 | .irq_mask = s3c_irq_mask, | 236 | .irq_mask = s3c_irq_mask, |
239 | .irq_unmask = s3c_irq_unmask, | 237 | .irq_unmask = s3c_irq_unmask, |
diff --git a/arch/arm/mach-s3c24xx/mach-jive.c b/arch/arm/mach-s3c24xx/mach-jive.c index 54e83c1f780c..ca08d7df07f7 100644 --- a/arch/arm/mach-s3c24xx/mach-jive.c +++ b/arch/arm/mach-s3c24xx/mach-jive.c | |||
@@ -46,7 +46,6 @@ | |||
46 | #include <linux/mtd/nand_ecc.h> | 46 | #include <linux/mtd/nand_ecc.h> |
47 | #include <linux/mtd/partitions.h> | 47 | #include <linux/mtd/partitions.h> |
48 | 48 | ||
49 | #include <plat/s3c2412.h> | ||
50 | #include <plat/gpio-cfg.h> | 49 | #include <plat/gpio-cfg.h> |
51 | #include <plat/clock.h> | 50 | #include <plat/clock.h> |
52 | #include <plat/devs.h> | 51 | #include <plat/devs.h> |
@@ -54,6 +53,7 @@ | |||
54 | #include <plat/pm.h> | 53 | #include <plat/pm.h> |
55 | #include <linux/platform_data/usb-s3c2410_udc.h> | 54 | #include <linux/platform_data/usb-s3c2410_udc.h> |
56 | 55 | ||
56 | #include "common.h" | ||
57 | #include "s3c2412-power.h" | 57 | #include "s3c2412-power.h" |
58 | 58 | ||
59 | static struct map_desc jive_iodesc[] __initdata = { | 59 | static struct map_desc jive_iodesc[] __initdata = { |
diff --git a/arch/arm/mach-s3c24xx/mach-n30.c b/arch/arm/mach-s3c24xx/mach-n30.c index d9d04b240295..8017c0fc1729 100644 --- a/arch/arm/mach-s3c24xx/mach-n30.c +++ b/arch/arm/mach-s3c24xx/mach-n30.c | |||
@@ -48,7 +48,6 @@ | |||
48 | #include <plat/cpu.h> | 48 | #include <plat/cpu.h> |
49 | #include <plat/devs.h> | 49 | #include <plat/devs.h> |
50 | #include <linux/platform_data/mmc-s3cmci.h> | 50 | #include <linux/platform_data/mmc-s3cmci.h> |
51 | #include <plat/s3c2410.h> | ||
52 | #include <linux/platform_data/usb-s3c2410_udc.h> | 51 | #include <linux/platform_data/usb-s3c2410_udc.h> |
53 | 52 | ||
54 | #include "common.h" | 53 | #include "common.h" |
diff --git a/arch/arm/mach-s3c24xx/mach-nexcoder.c b/arch/arm/mach-s3c24xx/mach-nexcoder.c index a454e2461860..144b9f80c4a5 100644 --- a/arch/arm/mach-s3c24xx/mach-nexcoder.c +++ b/arch/arm/mach-s3c24xx/mach-nexcoder.c | |||
@@ -41,8 +41,6 @@ | |||
41 | #include <linux/platform_data/i2c-s3c2410.h> | 41 | #include <linux/platform_data/i2c-s3c2410.h> |
42 | 42 | ||
43 | #include <plat/gpio-cfg.h> | 43 | #include <plat/gpio-cfg.h> |
44 | #include <plat/s3c2410.h> | ||
45 | #include <plat/s3c244x.h> | ||
46 | #include <plat/clock.h> | 44 | #include <plat/clock.h> |
47 | #include <plat/devs.h> | 45 | #include <plat/devs.h> |
48 | #include <plat/cpu.h> | 46 | #include <plat/cpu.h> |
diff --git a/arch/arm/mach-s3c24xx/mach-otom.c b/arch/arm/mach-s3c24xx/mach-otom.c index 40a47d6c6a85..deb0ace585b0 100644 --- a/arch/arm/mach-s3c24xx/mach-otom.c +++ b/arch/arm/mach-s3c24xx/mach-otom.c | |||
@@ -33,7 +33,6 @@ | |||
33 | #include <plat/cpu.h> | 33 | #include <plat/cpu.h> |
34 | #include <plat/devs.h> | 34 | #include <plat/devs.h> |
35 | #include <plat/regs-serial.h> | 35 | #include <plat/regs-serial.h> |
36 | #include <plat/s3c2410.h> | ||
37 | 36 | ||
38 | #include "common.h" | 37 | #include "common.h" |
39 | #include "otom.h" | 38 | #include "otom.h" |
diff --git a/arch/arm/mach-s3c24xx/mach-qt2410.c b/arch/arm/mach-s3c24xx/mach-qt2410.c index 56175f0941b1..84c541602661 100644 --- a/arch/arm/mach-s3c24xx/mach-qt2410.c +++ b/arch/arm/mach-s3c24xx/mach-qt2410.c | |||
@@ -55,13 +55,13 @@ | |||
55 | #include <linux/platform_data/usb-s3c2410_udc.h> | 55 | #include <linux/platform_data/usb-s3c2410_udc.h> |
56 | #include <linux/platform_data/i2c-s3c2410.h> | 56 | #include <linux/platform_data/i2c-s3c2410.h> |
57 | 57 | ||
58 | #include <plat/common-smdk.h> | ||
59 | #include <plat/gpio-cfg.h> | 58 | #include <plat/gpio-cfg.h> |
60 | #include <plat/devs.h> | 59 | #include <plat/devs.h> |
61 | #include <plat/cpu.h> | 60 | #include <plat/cpu.h> |
62 | #include <plat/pm.h> | 61 | #include <plat/pm.h> |
63 | 62 | ||
64 | #include "common.h" | 63 | #include "common.h" |
64 | #include "common-smdk.h" | ||
65 | 65 | ||
66 | static struct map_desc qt2410_iodesc[] __initdata = { | 66 | static struct map_desc qt2410_iodesc[] __initdata = { |
67 | { 0xe0000000, __phys_to_pfn(S3C2410_CS3+0x01000000), SZ_1M, MT_DEVICE } | 67 | { 0xe0000000, __phys_to_pfn(S3C2410_CS3+0x01000000), SZ_1M, MT_DEVICE } |
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2410.c b/arch/arm/mach-s3c24xx/mach-smdk2410.c index e184bfa9613a..cd0b1635c47e 100644 --- a/arch/arm/mach-s3c24xx/mach-smdk2410.c +++ b/arch/arm/mach-s3c24xx/mach-smdk2410.c | |||
@@ -52,9 +52,8 @@ | |||
52 | #include <plat/devs.h> | 52 | #include <plat/devs.h> |
53 | #include <plat/cpu.h> | 53 | #include <plat/cpu.h> |
54 | 54 | ||
55 | #include <plat/common-smdk.h> | ||
56 | |||
57 | #include "common.h" | 55 | #include "common.h" |
56 | #include "common-smdk.h" | ||
58 | 57 | ||
59 | static struct map_desc smdk2410_iodesc[] __initdata = { | 58 | static struct map_desc smdk2410_iodesc[] __initdata = { |
60 | /* nothing here yet */ | 59 | /* nothing here yet */ |
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2413.c b/arch/arm/mach-s3c24xx/mach-smdk2413.c index 86d7847c9d45..79485907950f 100644 --- a/arch/arm/mach-s3c24xx/mach-smdk2413.c +++ b/arch/arm/mach-s3c24xx/mach-smdk2413.c | |||
@@ -41,13 +41,12 @@ | |||
41 | #include <linux/platform_data/i2c-s3c2410.h> | 41 | #include <linux/platform_data/i2c-s3c2410.h> |
42 | #include <mach/fb.h> | 42 | #include <mach/fb.h> |
43 | 43 | ||
44 | #include <plat/s3c2410.h> | ||
45 | #include <plat/s3c2412.h> | ||
46 | #include <plat/clock.h> | 44 | #include <plat/clock.h> |
47 | #include <plat/devs.h> | 45 | #include <plat/devs.h> |
48 | #include <plat/cpu.h> | 46 | #include <plat/cpu.h> |
49 | 47 | ||
50 | #include <plat/common-smdk.h> | 48 | #include "common.h" |
49 | #include "common-smdk.h" | ||
51 | 50 | ||
52 | static struct map_desc smdk2413_iodesc[] __initdata = { | 51 | static struct map_desc smdk2413_iodesc[] __initdata = { |
53 | }; | 52 | }; |
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2416.c b/arch/arm/mach-s3c24xx/mach-smdk2416.c index ebb2e61f3d07..037a5da343bd 100644 --- a/arch/arm/mach-s3c24xx/mach-smdk2416.c +++ b/arch/arm/mach-s3c24xx/mach-smdk2416.c | |||
@@ -42,7 +42,6 @@ | |||
42 | #include <linux/platform_data/leds-s3c24xx.h> | 42 | #include <linux/platform_data/leds-s3c24xx.h> |
43 | #include <linux/platform_data/i2c-s3c2410.h> | 43 | #include <linux/platform_data/i2c-s3c2410.h> |
44 | 44 | ||
45 | #include <plat/s3c2416.h> | ||
46 | #include <plat/gpio-cfg.h> | 45 | #include <plat/gpio-cfg.h> |
47 | #include <plat/clock.h> | 46 | #include <plat/clock.h> |
48 | #include <plat/devs.h> | 47 | #include <plat/devs.h> |
@@ -54,7 +53,8 @@ | |||
54 | 53 | ||
55 | #include <plat/fb.h> | 54 | #include <plat/fb.h> |
56 | 55 | ||
57 | #include <plat/common-smdk.h> | 56 | #include "common.h" |
57 | #include "common-smdk.h" | ||
58 | 58 | ||
59 | static struct map_desc smdk2416_iodesc[] __initdata = { | 59 | static struct map_desc smdk2416_iodesc[] __initdata = { |
60 | /* ISA IO Space map (memory space selected by A24) */ | 60 | /* ISA IO Space map (memory space selected by A24) */ |
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2440.c b/arch/arm/mach-s3c24xx/mach-smdk2440.c index 08cc38c8a4ae..29d31314e23c 100644 --- a/arch/arm/mach-s3c24xx/mach-smdk2440.c +++ b/arch/arm/mach-s3c24xx/mach-smdk2440.c | |||
@@ -38,15 +38,12 @@ | |||
38 | #include <mach/fb.h> | 38 | #include <mach/fb.h> |
39 | #include <linux/platform_data/i2c-s3c2410.h> | 39 | #include <linux/platform_data/i2c-s3c2410.h> |
40 | 40 | ||
41 | #include <plat/s3c2410.h> | ||
42 | #include <plat/s3c244x.h> | ||
43 | #include <plat/clock.h> | 41 | #include <plat/clock.h> |
44 | #include <plat/devs.h> | 42 | #include <plat/devs.h> |
45 | #include <plat/cpu.h> | 43 | #include <plat/cpu.h> |
46 | 44 | ||
47 | #include <plat/common-smdk.h> | ||
48 | |||
49 | #include "common.h" | 45 | #include "common.h" |
46 | #include "common-smdk.h" | ||
50 | 47 | ||
51 | static struct map_desc smdk2440_iodesc[] __initdata = { | 48 | static struct map_desc smdk2440_iodesc[] __initdata = { |
52 | /* ISA IO Space map (memory space selected by A24) */ | 49 | /* ISA IO Space map (memory space selected by A24) */ |
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2443.c b/arch/arm/mach-s3c24xx/mach-smdk2443.c index fc65d74d3c73..b3be4c4dc7bc 100644 --- a/arch/arm/mach-s3c24xx/mach-smdk2443.c +++ b/arch/arm/mach-s3c24xx/mach-smdk2443.c | |||
@@ -38,13 +38,12 @@ | |||
38 | #include <mach/fb.h> | 38 | #include <mach/fb.h> |
39 | #include <linux/platform_data/i2c-s3c2410.h> | 39 | #include <linux/platform_data/i2c-s3c2410.h> |
40 | 40 | ||
41 | #include <plat/s3c2410.h> | ||
42 | #include <plat/s3c2443.h> | ||
43 | #include <plat/clock.h> | 41 | #include <plat/clock.h> |
44 | #include <plat/devs.h> | 42 | #include <plat/devs.h> |
45 | #include <plat/cpu.h> | 43 | #include <plat/cpu.h> |
46 | 44 | ||
47 | #include <plat/common-smdk.h> | 45 | #include "common.h" |
46 | #include "common-smdk.h" | ||
48 | 47 | ||
49 | static struct map_desc smdk2443_iodesc[] __initdata = { | 48 | static struct map_desc smdk2443_iodesc[] __initdata = { |
50 | /* ISA IO Space map (memory space selected by A24) */ | 49 | /* ISA IO Space map (memory space selected by A24) */ |
diff --git a/arch/arm/mach-s3c24xx/mach-vstms.c b/arch/arm/mach-s3c24xx/mach-vstms.c index 3e2bfddc9df1..239129c2d8bc 100644 --- a/arch/arm/mach-s3c24xx/mach-vstms.c +++ b/arch/arm/mach-s3c24xx/mach-vstms.c | |||
@@ -41,12 +41,11 @@ | |||
41 | #include <linux/platform_data/i2c-s3c2410.h> | 41 | #include <linux/platform_data/i2c-s3c2410.h> |
42 | #include <linux/platform_data/mtd-nand-s3c2410.h> | 42 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
43 | 43 | ||
44 | #include <plat/s3c2410.h> | ||
45 | #include <plat/s3c2412.h> | ||
46 | #include <plat/clock.h> | 44 | #include <plat/clock.h> |
47 | #include <plat/devs.h> | 45 | #include <plat/devs.h> |
48 | #include <plat/cpu.h> | 46 | #include <plat/cpu.h> |
49 | 47 | ||
48 | #include "common.h" | ||
50 | 49 | ||
51 | static struct map_desc vstms_iodesc[] __initdata = { | 50 | static struct map_desc vstms_iodesc[] __initdata = { |
52 | }; | 51 | }; |
diff --git a/arch/arm/mach-s3c24xx/pm-s3c2412.c b/arch/arm/mach-s3c24xx/pm-s3c2412.c index 668a78a8b195..4c4bc1c83b77 100644 --- a/arch/arm/mach-s3c24xx/pm-s3c2412.c +++ b/arch/arm/mach-s3c24xx/pm-s3c2412.c | |||
@@ -29,7 +29,6 @@ | |||
29 | 29 | ||
30 | #include <plat/cpu.h> | 30 | #include <plat/cpu.h> |
31 | #include <plat/pm.h> | 31 | #include <plat/pm.h> |
32 | #include <plat/s3c2412.h> | ||
33 | 32 | ||
34 | #include "regs-dsc.h" | 33 | #include "regs-dsc.h" |
35 | #include "s3c2412-power.h" | 34 | #include "s3c2412-power.h" |
diff --git a/arch/arm/mach-s3c24xx/s3c2410.c b/arch/arm/mach-s3c24xx/s3c2410.c index 9ebef95da721..d850ea5adac2 100644 --- a/arch/arm/mach-s3c24xx/s3c2410.c +++ b/arch/arm/mach-s3c24xx/s3c2410.c | |||
@@ -37,7 +37,6 @@ | |||
37 | #include <mach/regs-clock.h> | 37 | #include <mach/regs-clock.h> |
38 | #include <plat/regs-serial.h> | 38 | #include <plat/regs-serial.h> |
39 | 39 | ||
40 | #include <plat/s3c2410.h> | ||
41 | #include <plat/cpu.h> | 40 | #include <plat/cpu.h> |
42 | #include <plat/devs.h> | 41 | #include <plat/devs.h> |
43 | #include <plat/clock.h> | 42 | #include <plat/clock.h> |
diff --git a/arch/arm/mach-s3c24xx/s3c2412.c b/arch/arm/mach-s3c24xx/s3c2412.c index 0d592159a5c3..0f864d4c97de 100644 --- a/arch/arm/mach-s3c24xx/s3c2412.c +++ b/arch/arm/mach-s3c24xx/s3c2412.c | |||
@@ -44,7 +44,6 @@ | |||
44 | #include <plat/pm.h> | 44 | #include <plat/pm.h> |
45 | #include <plat/regs-serial.h> | 45 | #include <plat/regs-serial.h> |
46 | #include <plat/regs-spi.h> | 46 | #include <plat/regs-spi.h> |
47 | #include <plat/s3c2412.h> | ||
48 | 47 | ||
49 | #include "common.h" | 48 | #include "common.h" |
50 | #include "regs-dsc.h" | 49 | #include "regs-dsc.h" |
diff --git a/arch/arm/mach-s3c24xx/s3c2416.c b/arch/arm/mach-s3c24xx/s3c2416.c index e30476db0295..b9c5d382dafb 100644 --- a/arch/arm/mach-s3c24xx/s3c2416.c +++ b/arch/arm/mach-s3c24xx/s3c2416.c | |||
@@ -50,7 +50,6 @@ | |||
50 | #include <plat/gpio-core.h> | 50 | #include <plat/gpio-core.h> |
51 | #include <plat/gpio-cfg.h> | 51 | #include <plat/gpio-cfg.h> |
52 | #include <plat/gpio-cfg-helpers.h> | 52 | #include <plat/gpio-cfg-helpers.h> |
53 | #include <plat/s3c2416.h> | ||
54 | #include <plat/devs.h> | 53 | #include <plat/devs.h> |
55 | #include <plat/cpu.h> | 54 | #include <plat/cpu.h> |
56 | #include <plat/sdhci.h> | 55 | #include <plat/sdhci.h> |
diff --git a/arch/arm/mach-s3c24xx/s3c2440.c b/arch/arm/mach-s3c24xx/s3c2440.c index 559e394e8989..5f9d6569475d 100644 --- a/arch/arm/mach-s3c24xx/s3c2440.c +++ b/arch/arm/mach-s3c24xx/s3c2440.c | |||
@@ -33,7 +33,6 @@ | |||
33 | 33 | ||
34 | #include <plat/devs.h> | 34 | #include <plat/devs.h> |
35 | #include <plat/cpu.h> | 35 | #include <plat/cpu.h> |
36 | #include <plat/s3c244x.h> | ||
37 | #include <plat/pm.h> | 36 | #include <plat/pm.h> |
38 | 37 | ||
39 | #include <plat/gpio-core.h> | 38 | #include <plat/gpio-core.h> |
diff --git a/arch/arm/mach-s3c24xx/s3c2442.c b/arch/arm/mach-s3c24xx/s3c2442.c index f732826c2359..6819961f6b19 100644 --- a/arch/arm/mach-s3c24xx/s3c2442.c +++ b/arch/arm/mach-s3c24xx/s3c2442.c | |||
@@ -44,7 +44,6 @@ | |||
44 | 44 | ||
45 | #include <plat/clock.h> | 45 | #include <plat/clock.h> |
46 | #include <plat/cpu.h> | 46 | #include <plat/cpu.h> |
47 | #include <plat/s3c244x.h> | ||
48 | #include <plat/pm.h> | 47 | #include <plat/pm.h> |
49 | 48 | ||
50 | #include <plat/gpio-core.h> | 49 | #include <plat/gpio-core.h> |
diff --git a/arch/arm/mach-s3c24xx/s3c2443.c b/arch/arm/mach-s3c24xx/s3c2443.c index 165b6a6b3daa..8328cd65bf3d 100644 --- a/arch/arm/mach-s3c24xx/s3c2443.c +++ b/arch/arm/mach-s3c24xx/s3c2443.c | |||
@@ -36,7 +36,6 @@ | |||
36 | #include <plat/gpio-core.h> | 36 | #include <plat/gpio-core.h> |
37 | #include <plat/gpio-cfg.h> | 37 | #include <plat/gpio-cfg.h> |
38 | #include <plat/gpio-cfg-helpers.h> | 38 | #include <plat/gpio-cfg-helpers.h> |
39 | #include <plat/s3c2443.h> | ||
40 | #include <plat/devs.h> | 39 | #include <plat/devs.h> |
41 | #include <plat/cpu.h> | 40 | #include <plat/cpu.h> |
42 | #include <plat/fb-core.h> | 41 | #include <plat/fb-core.h> |
diff --git a/arch/arm/mach-s3c24xx/s3c244x.c b/arch/arm/mach-s3c24xx/s3c244x.c index ad2671baa910..2a35edb67354 100644 --- a/arch/arm/mach-s3c24xx/s3c244x.c +++ b/arch/arm/mach-s3c24xx/s3c244x.c | |||
@@ -37,8 +37,6 @@ | |||
37 | #include <plat/regs-serial.h> | 37 | #include <plat/regs-serial.h> |
38 | #include <mach/regs-gpio.h> | 38 | #include <mach/regs-gpio.h> |
39 | 39 | ||
40 | #include <plat/s3c2410.h> | ||
41 | #include <plat/s3c244x.h> | ||
42 | #include <plat/clock.h> | 40 | #include <plat/clock.h> |
43 | #include <plat/devs.h> | 41 | #include <plat/devs.h> |
44 | #include <plat/cpu.h> | 42 | #include <plat/cpu.h> |
diff --git a/arch/arm/mach-s5pc100/common.h b/arch/arm/mach-s5pc100/common.h index 9fbd3ae2b401..c41f912e9e1f 100644 --- a/arch/arm/mach-s5pc100/common.h +++ b/arch/arm/mach-s5pc100/common.h | |||
@@ -20,18 +20,9 @@ void s5pc100_setup_clocks(void); | |||
20 | 20 | ||
21 | void s5pc100_restart(char mode, const char *cmd); | 21 | void s5pc100_restart(char mode, const char *cmd); |
22 | 22 | ||
23 | #ifdef CONFIG_CPU_S5PC100 | ||
24 | |||
25 | extern int s5pc100_init(void); | 23 | extern int s5pc100_init(void); |
26 | extern void s5pc100_map_io(void); | 24 | extern void s5pc100_map_io(void); |
27 | extern void s5pc100_init_clocks(int xtal); | 25 | extern void s5pc100_init_clocks(int xtal); |
28 | extern void s5pc100_init_uarts(struct s3c2410_uartcfg *cfg, int no); | 26 | extern void s5pc100_init_uarts(struct s3c2410_uartcfg *cfg, int no); |
29 | 27 | ||
30 | #else | ||
31 | #define s5pc100_init_clocks NULL | ||
32 | #define s5pc100_init_uarts NULL | ||
33 | #define s5pc100_map_io NULL | ||
34 | #define s5pc100_init NULL | ||
35 | #endif | ||
36 | |||
37 | #endif /* __ARCH_ARM_MACH_S5PC100_COMMON_H */ | 28 | #endif /* __ARCH_ARM_MACH_S5PC100_COMMON_H */ |
diff --git a/arch/arm/mach-s5pv210/common.h b/arch/arm/mach-s5pv210/common.h index 6ed2af5c7518..0a1cc0aef720 100644 --- a/arch/arm/mach-s5pv210/common.h +++ b/arch/arm/mach-s5pv210/common.h | |||
@@ -20,18 +20,9 @@ void s5pv210_setup_clocks(void); | |||
20 | 20 | ||
21 | void s5pv210_restart(char mode, const char *cmd); | 21 | void s5pv210_restart(char mode, const char *cmd); |
22 | 22 | ||
23 | #ifdef CONFIG_CPU_S5PV210 | ||
24 | |||
25 | extern int s5pv210_init(void); | 23 | extern int s5pv210_init(void); |
26 | extern void s5pv210_map_io(void); | 24 | extern void s5pv210_map_io(void); |
27 | extern void s5pv210_init_clocks(int xtal); | 25 | extern void s5pv210_init_clocks(int xtal); |
28 | extern void s5pv210_init_uarts(struct s3c2410_uartcfg *cfg, int no); | 26 | extern void s5pv210_init_uarts(struct s3c2410_uartcfg *cfg, int no); |
29 | 27 | ||
30 | #else | ||
31 | #define s5pv210_init_clocks NULL | ||
32 | #define s5pv210_init_uarts NULL | ||
33 | #define s5pv210_map_io NULL | ||
34 | #define s5pv210_init NULL | ||
35 | #endif | ||
36 | |||
37 | #endif /* __ARCH_ARM_MACH_S5PV210_COMMON_H */ | 28 | #endif /* __ARCH_ARM_MACH_S5PV210_COMMON_H */ |
diff --git a/arch/arm/mach-spear13xx/spear13xx.c b/arch/arm/mach-spear13xx/spear13xx.c index c7d2b4a8d8cc..25a10191b021 100644 --- a/arch/arm/mach-spear13xx/spear13xx.c +++ b/arch/arm/mach-spear13xx/spear13xx.c | |||
@@ -15,12 +15,12 @@ | |||
15 | 15 | ||
16 | #include <linux/amba/pl022.h> | 16 | #include <linux/amba/pl022.h> |
17 | #include <linux/clk.h> | 17 | #include <linux/clk.h> |
18 | #include <linux/clocksource.h> | ||
18 | #include <linux/dw_dmac.h> | 19 | #include <linux/dw_dmac.h> |
19 | #include <linux/err.h> | 20 | #include <linux/err.h> |
20 | #include <linux/of.h> | 21 | #include <linux/of.h> |
21 | #include <asm/hardware/cache-l2x0.h> | 22 | #include <asm/hardware/cache-l2x0.h> |
22 | #include <asm/mach/map.h> | 23 | #include <asm/mach/map.h> |
23 | #include <asm/smp_twd.h> | ||
24 | #include <mach/dma.h> | 24 | #include <mach/dma.h> |
25 | #include <mach/generic.h> | 25 | #include <mach/generic.h> |
26 | #include <mach/spear.h> | 26 | #include <mach/spear.h> |
@@ -179,5 +179,5 @@ void __init spear13xx_timer_init(void) | |||
179 | clk_put(pclk); | 179 | clk_put(pclk); |
180 | 180 | ||
181 | spear_setup_of_timer(); | 181 | spear_setup_of_timer(); |
182 | twd_local_timer_of_register(); | 182 | clocksource_of_init(); |
183 | } | 183 | } |
diff --git a/arch/arm/mach-ux500/timer.c b/arch/arm/mach-ux500/timer.c index a6af0b8732ba..d07bbe7f04a6 100644 --- a/arch/arm/mach-ux500/timer.c +++ b/arch/arm/mach-ux500/timer.c | |||
@@ -7,6 +7,7 @@ | |||
7 | #include <linux/io.h> | 7 | #include <linux/io.h> |
8 | #include <linux/errno.h> | 8 | #include <linux/errno.h> |
9 | #include <linux/clksrc-dbx500-prcmu.h> | 9 | #include <linux/clksrc-dbx500-prcmu.h> |
10 | #include <linux/clocksource.h> | ||
10 | #include <linux/of.h> | 11 | #include <linux/of.h> |
11 | #include <linux/of_address.h> | 12 | #include <linux/of_address.h> |
12 | #include <linux/platform_data/clocksource-nomadik-mtu.h> | 13 | #include <linux/platform_data/clocksource-nomadik-mtu.h> |
@@ -32,7 +33,7 @@ static void __init ux500_twd_init(void) | |||
32 | twd_local_timer = &u8500_twd_local_timer; | 33 | twd_local_timer = &u8500_twd_local_timer; |
33 | 34 | ||
34 | if (of_have_populated_dt()) | 35 | if (of_have_populated_dt()) |
35 | twd_local_timer_of_register(); | 36 | clocksource_of_init(); |
36 | else { | 37 | else { |
37 | err = twd_local_timer_register(twd_local_timer); | 38 | err = twd_local_timer_register(twd_local_timer); |
38 | if (err) | 39 | if (err) |
diff --git a/arch/arm/mach-vexpress/v2m.c b/arch/arm/mach-vexpress/v2m.c index 915683cb67d6..d0ad78998cb6 100644 --- a/arch/arm/mach-vexpress/v2m.c +++ b/arch/arm/mach-vexpress/v2m.c | |||
@@ -5,6 +5,7 @@ | |||
5 | #include <linux/amba/bus.h> | 5 | #include <linux/amba/bus.h> |
6 | #include <linux/amba/mmci.h> | 6 | #include <linux/amba/mmci.h> |
7 | #include <linux/io.h> | 7 | #include <linux/io.h> |
8 | #include <linux/clocksource.h> | ||
8 | #include <linux/smp.h> | 9 | #include <linux/smp.h> |
9 | #include <linux/init.h> | 10 | #include <linux/init.h> |
10 | #include <linux/irqchip.h> | 11 | #include <linux/irqchip.h> |
@@ -25,7 +26,6 @@ | |||
25 | #include <asm/arch_timer.h> | 26 | #include <asm/arch_timer.h> |
26 | #include <asm/mach-types.h> | 27 | #include <asm/mach-types.h> |
27 | #include <asm/sizes.h> | 28 | #include <asm/sizes.h> |
28 | #include <asm/smp_twd.h> | ||
29 | #include <asm/mach/arch.h> | 29 | #include <asm/mach/arch.h> |
30 | #include <asm/mach/map.h> | 30 | #include <asm/mach/map.h> |
31 | #include <asm/mach/time.h> | 31 | #include <asm/mach/time.h> |
@@ -435,6 +435,7 @@ static void __init v2m_dt_timer_init(void) | |||
435 | 435 | ||
436 | vexpress_clk_of_init(); | 436 | vexpress_clk_of_init(); |
437 | 437 | ||
438 | clocksource_of_init(); | ||
438 | do { | 439 | do { |
439 | node = of_find_compatible_node(node, NULL, "arm,sp804"); | 440 | node = of_find_compatible_node(node, NULL, "arm,sp804"); |
440 | } while (node && vexpress_get_site_by_node(node) != VEXPRESS_SITE_MB); | 441 | } while (node && vexpress_get_site_by_node(node) != VEXPRESS_SITE_MB); |
@@ -445,8 +446,7 @@ static void __init v2m_dt_timer_init(void) | |||
445 | irq_of_parse_and_map(node, 0)); | 446 | irq_of_parse_and_map(node, 0)); |
446 | } | 447 | } |
447 | 448 | ||
448 | if (arch_timer_of_register() != 0) | 449 | arch_timer_of_register(); |
449 | twd_local_timer_of_register(); | ||
450 | 450 | ||
451 | if (arch_timer_sched_clock_init() != 0) | 451 | if (arch_timer_sched_clock_init() != 0) |
452 | versatile_sched_clock_init(vexpress_get_24mhz_clock_base(), | 452 | versatile_sched_clock_init(vexpress_get_24mhz_clock_base(), |
diff --git a/arch/arm/plat-orion/Makefile b/arch/arm/plat-orion/Makefile index a82cecb84948..ad97400ba3ad 100644 --- a/arch/arm/plat-orion/Makefile +++ b/arch/arm/plat-orion/Makefile | |||
@@ -3,7 +3,11 @@ | |||
3 | # | 3 | # |
4 | ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include | 4 | ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include |
5 | 5 | ||
6 | obj-y += addr-map.o | 6 | obj-$(CONFIG_ARCH_MVEBU) += addr-map.o |
7 | obj-$(CONFIG_ARCH_KIRKWOOD) += addr-map.o | ||
8 | obj-$(CONFIG_ARCH_DOVE) += addr-map.o | ||
9 | obj-$(CONFIG_ARCH_ORION5X) += addr-map.o | ||
10 | obj-$(CONFIG_ARCH_MV78XX0) += addr-map.o | ||
7 | 11 | ||
8 | orion-gpio-$(CONFIG_GENERIC_GPIO) += gpio.o | 12 | orion-gpio-$(CONFIG_GENERIC_GPIO) += gpio.o |
9 | obj-$(CONFIG_PLAT_ORION_LEGACY) += irq.o pcie.o time.o common.o mpp.o | 13 | obj-$(CONFIG_PLAT_ORION_LEGACY) += irq.o pcie.o time.o common.o mpp.o |
diff --git a/arch/arm/plat-orion/pcie.c b/arch/arm/plat-orion/pcie.c index f20a321088a2..8b8c06d2e9c4 100644 --- a/arch/arm/plat-orion/pcie.c +++ b/arch/arm/plat-orion/pcie.c | |||
@@ -120,12 +120,14 @@ void __init orion_pcie_reset(void __iomem *base) | |||
120 | * BAR[0,2] -> disabled, BAR[1] -> covers all DRAM banks | 120 | * BAR[0,2] -> disabled, BAR[1] -> covers all DRAM banks |
121 | * WIN[0-3] -> DRAM bank[0-3] | 121 | * WIN[0-3] -> DRAM bank[0-3] |
122 | */ | 122 | */ |
123 | static void __init orion_pcie_setup_wins(void __iomem *base, | 123 | static void __init orion_pcie_setup_wins(void __iomem *base) |
124 | struct mbus_dram_target_info *dram) | ||
125 | { | 124 | { |
125 | const struct mbus_dram_target_info *dram; | ||
126 | u32 size; | 126 | u32 size; |
127 | int i; | 127 | int i; |
128 | 128 | ||
129 | dram = mv_mbus_dram_info(); | ||
130 | |||
129 | /* | 131 | /* |
130 | * First, disable and clear BARs and windows. | 132 | * First, disable and clear BARs and windows. |
131 | */ | 133 | */ |
@@ -150,7 +152,7 @@ static void __init orion_pcie_setup_wins(void __iomem *base, | |||
150 | */ | 152 | */ |
151 | size = 0; | 153 | size = 0; |
152 | for (i = 0; i < dram->num_cs; i++) { | 154 | for (i = 0; i < dram->num_cs; i++) { |
153 | struct mbus_dram_window *cs = dram->cs + i; | 155 | const struct mbus_dram_window *cs = dram->cs + i; |
154 | 156 | ||
155 | writel(cs->base & 0xffff0000, base + PCIE_WIN04_BASE_OFF(i)); | 157 | writel(cs->base & 0xffff0000, base + PCIE_WIN04_BASE_OFF(i)); |
156 | writel(0, base + PCIE_WIN04_REMAP_OFF(i)); | 158 | writel(0, base + PCIE_WIN04_REMAP_OFF(i)); |
@@ -184,7 +186,7 @@ void __init orion_pcie_setup(void __iomem *base) | |||
184 | /* | 186 | /* |
185 | * Point PCIe unit MBUS decode windows to DRAM space. | 187 | * Point PCIe unit MBUS decode windows to DRAM space. |
186 | */ | 188 | */ |
187 | orion_pcie_setup_wins(base, &orion_mbus_dram_info); | 189 | orion_pcie_setup_wins(base); |
188 | 190 | ||
189 | /* | 191 | /* |
190 | * Master + slave enable. | 192 | * Master + slave enable. |
diff --git a/arch/arm/plat-samsung/include/plat/irq.h b/arch/arm/plat-samsung/include/plat/irq.h deleted file mode 100644 index e21a89bc26c9..000000000000 --- a/arch/arm/plat-samsung/include/plat/irq.h +++ /dev/null | |||
@@ -1,116 +0,0 @@ | |||
1 | /* linux/arch/arm/plat-samsung/include/plat/irq.h | ||
2 | * | ||
3 | * Copyright (c) 2004-2005 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * Header file for S3C24XX CPU IRQ support | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #include <linux/io.h> | ||
14 | |||
15 | #include <mach/hardware.h> | ||
16 | #include <mach/regs-irq.h> | ||
17 | #include <mach/regs-gpio.h> | ||
18 | |||
19 | #define irqdbf(x...) | ||
20 | #define irqdbf2(x...) | ||
21 | |||
22 | #define EXTINT_OFF (IRQ_EINT4 - 4) | ||
23 | |||
24 | /* these are exported for arch/arm/mach-* usage */ | ||
25 | extern struct irq_chip s3c_irq_level_chip; | ||
26 | extern struct irq_chip s3c_irq_chip; | ||
27 | |||
28 | static inline void s3c_irqsub_mask(unsigned int irqno, | ||
29 | unsigned int parentbit, | ||
30 | int subcheck) | ||
31 | { | ||
32 | unsigned long mask; | ||
33 | unsigned long submask; | ||
34 | |||
35 | submask = __raw_readl(S3C2410_INTSUBMSK); | ||
36 | mask = __raw_readl(S3C2410_INTMSK); | ||
37 | |||
38 | submask |= (1UL << (irqno - IRQ_S3CUART_RX0)); | ||
39 | |||
40 | /* check to see if we need to mask the parent IRQ */ | ||
41 | |||
42 | if ((submask & subcheck) == subcheck) | ||
43 | __raw_writel(mask | parentbit, S3C2410_INTMSK); | ||
44 | |||
45 | /* write back masks */ | ||
46 | __raw_writel(submask, S3C2410_INTSUBMSK); | ||
47 | |||
48 | } | ||
49 | |||
50 | static inline void s3c_irqsub_unmask(unsigned int irqno, | ||
51 | unsigned int parentbit) | ||
52 | { | ||
53 | unsigned long mask; | ||
54 | unsigned long submask; | ||
55 | |||
56 | submask = __raw_readl(S3C2410_INTSUBMSK); | ||
57 | mask = __raw_readl(S3C2410_INTMSK); | ||
58 | |||
59 | submask &= ~(1UL << (irqno - IRQ_S3CUART_RX0)); | ||
60 | mask &= ~parentbit; | ||
61 | |||
62 | /* write back masks */ | ||
63 | __raw_writel(submask, S3C2410_INTSUBMSK); | ||
64 | __raw_writel(mask, S3C2410_INTMSK); | ||
65 | } | ||
66 | |||
67 | |||
68 | static inline void s3c_irqsub_maskack(unsigned int irqno, | ||
69 | unsigned int parentmask, | ||
70 | unsigned int group) | ||
71 | { | ||
72 | unsigned int bit = 1UL << (irqno - IRQ_S3CUART_RX0); | ||
73 | |||
74 | s3c_irqsub_mask(irqno, parentmask, group); | ||
75 | |||
76 | __raw_writel(bit, S3C2410_SUBSRCPND); | ||
77 | |||
78 | /* only ack parent if we've got all the irqs (seems we must | ||
79 | * ack, all and hope that the irq system retriggers ok when | ||
80 | * the interrupt goes off again) | ||
81 | */ | ||
82 | |||
83 | if (1) { | ||
84 | __raw_writel(parentmask, S3C2410_SRCPND); | ||
85 | __raw_writel(parentmask, S3C2410_INTPND); | ||
86 | } | ||
87 | } | ||
88 | |||
89 | static inline void s3c_irqsub_ack(unsigned int irqno, | ||
90 | unsigned int parentmask, | ||
91 | unsigned int group) | ||
92 | { | ||
93 | unsigned int bit = 1UL << (irqno - IRQ_S3CUART_RX0); | ||
94 | |||
95 | __raw_writel(bit, S3C2410_SUBSRCPND); | ||
96 | |||
97 | /* only ack parent if we've got all the irqs (seems we must | ||
98 | * ack, all and hope that the irq system retriggers ok when | ||
99 | * the interrupt goes off again) | ||
100 | */ | ||
101 | |||
102 | if (1) { | ||
103 | __raw_writel(parentmask, S3C2410_SRCPND); | ||
104 | __raw_writel(parentmask, S3C2410_INTPND); | ||
105 | } | ||
106 | } | ||
107 | |||
108 | /* exported for use in arch/arm/mach-s3c2410 */ | ||
109 | |||
110 | #ifdef CONFIG_PM | ||
111 | extern int s3c_irq_wake(struct irq_data *data, unsigned int state); | ||
112 | #else | ||
113 | #define s3c_irq_wake NULL | ||
114 | #endif | ||
115 | |||
116 | extern int s3c_irqext_type(struct irq_data *d, unsigned int type); | ||
diff --git a/arch/arm/plat-samsung/include/plat/s3c2410.h b/arch/arm/plat-samsung/include/plat/s3c2410.h deleted file mode 100644 index 55b0e5f51e97..000000000000 --- a/arch/arm/plat-samsung/include/plat/s3c2410.h +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | /* linux/arch/arm/plat-samsung/include/plat/s3c2410.h | ||
2 | * | ||
3 | * Copyright (c) 2004 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * Header file for s3c2410 machine directory | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | * | ||
12 | */ | ||
13 | |||
14 | #ifdef CONFIG_CPU_S3C2410 | ||
15 | |||
16 | extern int s3c2410_init(void); | ||
17 | extern int s3c2410a_init(void); | ||
18 | |||
19 | extern void s3c2410_map_io(void); | ||
20 | |||
21 | extern void s3c2410_init_uarts(struct s3c2410_uartcfg *cfg, int no); | ||
22 | |||
23 | extern void s3c2410_init_clocks(int xtal); | ||
24 | |||
25 | #else | ||
26 | #define s3c2410_init_clocks NULL | ||
27 | #define s3c2410_init_uarts NULL | ||
28 | #define s3c2410_map_io NULL | ||
29 | #define s3c2410_init NULL | ||
30 | #define s3c2410a_init NULL | ||
31 | #endif | ||
diff --git a/arch/arm/plat-samsung/include/plat/s3c2412.h b/arch/arm/plat-samsung/include/plat/s3c2412.h deleted file mode 100644 index cbae50ddacc8..000000000000 --- a/arch/arm/plat-samsung/include/plat/s3c2412.h +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | /* linux/arch/arm/plat-samsung/include/plat/s3c2412.h | ||
2 | * | ||
3 | * Copyright (c) 2006 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * Header file for s3c2412 cpu support | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifdef CONFIG_CPU_S3C2412 | ||
14 | |||
15 | extern int s3c2412_init(void); | ||
16 | |||
17 | extern void s3c2412_map_io(void); | ||
18 | |||
19 | extern void s3c2412_init_uarts(struct s3c2410_uartcfg *cfg, int no); | ||
20 | |||
21 | extern void s3c2412_init_clocks(int xtal); | ||
22 | |||
23 | extern int s3c2412_baseclk_add(void); | ||
24 | |||
25 | extern void s3c2412_restart(char mode, const char *cmd); | ||
26 | #else | ||
27 | #define s3c2412_init_clocks NULL | ||
28 | #define s3c2412_init_uarts NULL | ||
29 | #define s3c2412_map_io NULL | ||
30 | #define s3c2412_init NULL | ||
31 | #define s3c2412_restart NULL | ||
32 | #endif | ||
diff --git a/arch/arm/plat-samsung/include/plat/s3c2416.h b/arch/arm/plat-samsung/include/plat/s3c2416.h deleted file mode 100644 index f27399a3c68d..000000000000 --- a/arch/arm/plat-samsung/include/plat/s3c2416.h +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | /* linux/arch/arm/plat-samsung/include/plat/s3c2416.h | ||
2 | * | ||
3 | * Copyright (c) 2009 Yauhen Kharuzhy <jekhor@gmail.com> | ||
4 | * | ||
5 | * Header file for s3c2416 cpu support | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #ifdef CONFIG_CPU_S3C2416 | ||
13 | |||
14 | struct s3c2410_uartcfg; | ||
15 | |||
16 | extern int s3c2416_init(void); | ||
17 | |||
18 | extern void s3c2416_map_io(void); | ||
19 | |||
20 | extern void s3c2416_init_uarts(struct s3c2410_uartcfg *cfg, int no); | ||
21 | |||
22 | extern void s3c2416_init_clocks(int xtal); | ||
23 | |||
24 | extern int s3c2416_baseclk_add(void); | ||
25 | |||
26 | extern void s3c2416_restart(char mode, const char *cmd); | ||
27 | |||
28 | extern void s3c2416_init_irq(void); | ||
29 | extern struct syscore_ops s3c2416_irq_syscore_ops; | ||
30 | |||
31 | #else | ||
32 | #define s3c2416_init_clocks NULL | ||
33 | #define s3c2416_init_uarts NULL | ||
34 | #define s3c2416_map_io NULL | ||
35 | #define s3c2416_init NULL | ||
36 | #define s3c2416_restart NULL | ||
37 | #endif | ||
diff --git a/arch/arm/plat-samsung/include/plat/s3c2443.h b/arch/arm/plat-samsung/include/plat/s3c2443.h deleted file mode 100644 index 71b88ec48956..000000000000 --- a/arch/arm/plat-samsung/include/plat/s3c2443.h +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | /* linux/arch/arm/plat-samsung/include/plat/s3c2443.h | ||
2 | * | ||
3 | * Copyright (c) 2004-2005 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * Header file for s3c2443 cpu support | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifdef CONFIG_CPU_S3C2443 | ||
14 | |||
15 | struct s3c2410_uartcfg; | ||
16 | |||
17 | extern int s3c2443_init(void); | ||
18 | |||
19 | extern void s3c2443_map_io(void); | ||
20 | |||
21 | extern void s3c2443_init_uarts(struct s3c2410_uartcfg *cfg, int no); | ||
22 | |||
23 | extern void s3c2443_init_clocks(int xtal); | ||
24 | |||
25 | extern int s3c2443_baseclk_add(void); | ||
26 | |||
27 | extern void s3c2443_restart(char mode, const char *cmd); | ||
28 | |||
29 | extern void s3c2443_init_irq(void); | ||
30 | #else | ||
31 | #define s3c2443_init_clocks NULL | ||
32 | #define s3c2443_init_uarts NULL | ||
33 | #define s3c2443_map_io NULL | ||
34 | #define s3c2443_init NULL | ||
35 | #define s3c2443_restart NULL | ||
36 | #endif | ||
diff --git a/arch/arm/plat-samsung/include/plat/s3c244x.h b/arch/arm/plat-samsung/include/plat/s3c244x.h deleted file mode 100644 index ea0c961b7603..000000000000 --- a/arch/arm/plat-samsung/include/plat/s3c244x.h +++ /dev/null | |||
@@ -1,42 +0,0 @@ | |||
1 | /* linux/arch/arm/plat-samsung/include/plat/s3c244x.h | ||
2 | * | ||
3 | * Copyright (c) 2004-2005 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * Header file for S3C2440 and S3C2442 cpu support | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #if defined(CONFIG_CPU_S3C2440) || defined(CONFIG_CPU_S3C2442) | ||
14 | |||
15 | extern void s3c244x_map_io(void); | ||
16 | |||
17 | extern void s3c244x_init_uarts(struct s3c2410_uartcfg *cfg, int no); | ||
18 | |||
19 | extern void s3c244x_init_clocks(int xtal); | ||
20 | |||
21 | #else | ||
22 | #define s3c244x_init_clocks NULL | ||
23 | #define s3c244x_init_uarts NULL | ||
24 | #endif | ||
25 | |||
26 | #ifdef CONFIG_CPU_S3C2440 | ||
27 | extern int s3c2440_init(void); | ||
28 | |||
29 | extern void s3c2440_map_io(void); | ||
30 | #else | ||
31 | #define s3c2440_init NULL | ||
32 | #define s3c2440_map_io NULL | ||
33 | #endif | ||
34 | |||
35 | #ifdef CONFIG_CPU_S3C2442 | ||
36 | extern int s3c2442_init(void); | ||
37 | |||
38 | extern void s3c2442_map_io(void); | ||
39 | #else | ||
40 | #define s3c2442_init NULL | ||
41 | #define s3c2442_map_io NULL | ||
42 | #endif | ||
diff --git a/drivers/clocksource/bcm2835_timer.c b/drivers/clocksource/bcm2835_timer.c index 50c68fef944b..766611d29945 100644 --- a/drivers/clocksource/bcm2835_timer.c +++ b/drivers/clocksource/bcm2835_timer.c | |||
@@ -95,23 +95,13 @@ static irqreturn_t bcm2835_time_interrupt(int irq, void *dev_id) | |||
95 | } | 95 | } |
96 | } | 96 | } |
97 | 97 | ||
98 | static struct of_device_id bcm2835_time_match[] __initconst = { | 98 | static void __init bcm2835_timer_init(struct device_node *node) |
99 | { .compatible = "brcm,bcm2835-system-timer" }, | ||
100 | {} | ||
101 | }; | ||
102 | |||
103 | static void __init bcm2835_timer_init(void) | ||
104 | { | 99 | { |
105 | struct device_node *node; | ||
106 | void __iomem *base; | 100 | void __iomem *base; |
107 | u32 freq; | 101 | u32 freq; |
108 | int irq; | 102 | int irq; |
109 | struct bcm2835_timer *timer; | 103 | struct bcm2835_timer *timer; |
110 | 104 | ||
111 | node = of_find_matching_node(NULL, bcm2835_time_match); | ||
112 | if (!node) | ||
113 | panic("No bcm2835 timer node"); | ||
114 | |||
115 | base = of_iomap(node, 0); | 105 | base = of_iomap(node, 0); |
116 | if (!base) | 106 | if (!base) |
117 | panic("Can't remap registers"); | 107 | panic("Can't remap registers"); |
diff --git a/drivers/clocksource/clksrc-of.c b/drivers/clocksource/clksrc-of.c index bdabdaa8d00f..3ef11fba781c 100644 --- a/drivers/clocksource/clksrc-of.c +++ b/drivers/clocksource/clksrc-of.c | |||
@@ -26,10 +26,10 @@ void __init clocksource_of_init(void) | |||
26 | { | 26 | { |
27 | struct device_node *np; | 27 | struct device_node *np; |
28 | const struct of_device_id *match; | 28 | const struct of_device_id *match; |
29 | void (*init_func)(void); | 29 | void (*init_func)(struct device_node *); |
30 | 30 | ||
31 | for_each_matching_node_and_match(np, __clksrc_of_table, &match) { | 31 | for_each_matching_node_and_match(np, __clksrc_of_table, &match) { |
32 | init_func = match->data; | 32 | init_func = match->data; |
33 | init_func(); | 33 | init_func(np); |
34 | } | 34 | } |
35 | } | 35 | } |
diff --git a/drivers/clocksource/tegra20_timer.c b/drivers/clocksource/tegra20_timer.c index 0bde03feb095..2e4d8a666c36 100644 --- a/drivers/clocksource/tegra20_timer.c +++ b/drivers/clocksource/tegra20_timer.c | |||
@@ -154,29 +154,12 @@ static struct irqaction tegra_timer_irq = { | |||
154 | .dev_id = &tegra_clockevent, | 154 | .dev_id = &tegra_clockevent, |
155 | }; | 155 | }; |
156 | 156 | ||
157 | static const struct of_device_id timer_match[] __initconst = { | 157 | static void __init tegra20_init_timer(struct device_node *np) |
158 | { .compatible = "nvidia,tegra20-timer" }, | ||
159 | {} | ||
160 | }; | ||
161 | |||
162 | static const struct of_device_id rtc_match[] __initconst = { | ||
163 | { .compatible = "nvidia,tegra20-rtc" }, | ||
164 | {} | ||
165 | }; | ||
166 | |||
167 | static void __init tegra20_init_timer(void) | ||
168 | { | 158 | { |
169 | struct device_node *np; | ||
170 | struct clk *clk; | 159 | struct clk *clk; |
171 | unsigned long rate; | 160 | unsigned long rate; |
172 | int ret; | 161 | int ret; |
173 | 162 | ||
174 | np = of_find_matching_node(NULL, timer_match); | ||
175 | if (!np) { | ||
176 | pr_err("Failed to find timer DT node\n"); | ||
177 | BUG(); | ||
178 | } | ||
179 | |||
180 | timer_reg_base = of_iomap(np, 0); | 163 | timer_reg_base = of_iomap(np, 0); |
181 | if (!timer_reg_base) { | 164 | if (!timer_reg_base) { |
182 | pr_err("Can't map timer registers\n"); | 165 | pr_err("Can't map timer registers\n"); |
@@ -200,30 +183,6 @@ static void __init tegra20_init_timer(void) | |||
200 | 183 | ||
201 | of_node_put(np); | 184 | of_node_put(np); |
202 | 185 | ||
203 | np = of_find_matching_node(NULL, rtc_match); | ||
204 | if (!np) { | ||
205 | pr_err("Failed to find RTC DT node\n"); | ||
206 | BUG(); | ||
207 | } | ||
208 | |||
209 | rtc_base = of_iomap(np, 0); | ||
210 | if (!rtc_base) { | ||
211 | pr_err("Can't map RTC registers"); | ||
212 | BUG(); | ||
213 | } | ||
214 | |||
215 | /* | ||
216 | * rtc registers are used by read_persistent_clock, keep the rtc clock | ||
217 | * enabled | ||
218 | */ | ||
219 | clk = clk_get_sys("rtc-tegra", NULL); | ||
220 | if (IS_ERR(clk)) | ||
221 | pr_warn("Unable to get rtc-tegra clock\n"); | ||
222 | else | ||
223 | clk_prepare_enable(clk); | ||
224 | |||
225 | of_node_put(np); | ||
226 | |||
227 | switch (rate) { | 186 | switch (rate) { |
228 | case 12000000: | 187 | case 12000000: |
229 | timer_writel(0x000b, TIMERUS_USEC_CFG); | 188 | timer_writel(0x000b, TIMERUS_USEC_CFG); |
@@ -259,12 +218,34 @@ static void __init tegra20_init_timer(void) | |||
259 | tegra_clockevent.irq = tegra_timer_irq.irq; | 218 | tegra_clockevent.irq = tegra_timer_irq.irq; |
260 | clockevents_config_and_register(&tegra_clockevent, 1000000, | 219 | clockevents_config_and_register(&tegra_clockevent, 1000000, |
261 | 0x1, 0x1fffffff); | 220 | 0x1, 0x1fffffff); |
262 | #ifdef CONFIG_HAVE_ARM_TWD | 221 | } |
263 | twd_local_timer_of_register(); | 222 | CLOCKSOURCE_OF_DECLARE(tegra20_timer, "nvidia,tegra20-timer", tegra20_init_timer); |
264 | #endif | 223 | |
224 | static void __init tegra20_init_rtc(struct device_node *np) | ||
225 | { | ||
226 | struct clk *clk; | ||
227 | |||
228 | rtc_base = of_iomap(np, 0); | ||
229 | if (!rtc_base) { | ||
230 | pr_err("Can't map RTC registers"); | ||
231 | BUG(); | ||
232 | } | ||
233 | |||
234 | /* | ||
235 | * rtc registers are used by read_persistent_clock, keep the rtc clock | ||
236 | * enabled | ||
237 | */ | ||
238 | clk = clk_get_sys("rtc-tegra", NULL); | ||
239 | if (IS_ERR(clk)) | ||
240 | pr_warn("Unable to get rtc-tegra clock\n"); | ||
241 | else | ||
242 | clk_prepare_enable(clk); | ||
243 | |||
244 | of_node_put(np); | ||
245 | |||
265 | register_persistent_clock(NULL, tegra_read_persistent_clock); | 246 | register_persistent_clock(NULL, tegra_read_persistent_clock); |
266 | } | 247 | } |
267 | CLOCKSOURCE_OF_DECLARE(tegra20, "nvidia,tegra20-timer", tegra20_init_timer); | 248 | CLOCKSOURCE_OF_DECLARE(tegra20_rtc, "nvidia,tegra20-rtc", tegra20_init_rtc); |
268 | 249 | ||
269 | #ifdef CONFIG_PM | 250 | #ifdef CONFIG_PM |
270 | static u32 usec_config; | 251 | static u32 usec_config; |
diff --git a/drivers/clocksource/vt8500_timer.c b/drivers/clocksource/vt8500_timer.c index 8efc86b5b5dd..242255285597 100644 --- a/drivers/clocksource/vt8500_timer.c +++ b/drivers/clocksource/vt8500_timer.c | |||
@@ -129,22 +129,10 @@ static struct irqaction irq = { | |||
129 | .dev_id = &clockevent, | 129 | .dev_id = &clockevent, |
130 | }; | 130 | }; |
131 | 131 | ||
132 | static struct of_device_id vt8500_timer_ids[] = { | 132 | static void __init vt8500_timer_init(struct device_node *np) |
133 | { .compatible = "via,vt8500-timer" }, | ||
134 | { } | ||
135 | }; | ||
136 | |||
137 | static void __init vt8500_timer_init(void) | ||
138 | { | 133 | { |
139 | struct device_node *np; | ||
140 | int timer_irq; | 134 | int timer_irq; |
141 | 135 | ||
142 | np = of_find_matching_node(NULL, vt8500_timer_ids); | ||
143 | if (!np) { | ||
144 | pr_err("%s: Timer description missing from Device Tree\n", | ||
145 | __func__); | ||
146 | return; | ||
147 | } | ||
148 | regbase = of_iomap(np, 0); | 136 | regbase = of_iomap(np, 0); |
149 | if (!regbase) { | 137 | if (!regbase) { |
150 | pr_err("%s: Missing iobase description in Device Tree\n", | 138 | pr_err("%s: Missing iobase description in Device Tree\n", |
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index add1fd84fc4b..47aea33a0782 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c | |||
@@ -128,7 +128,7 @@ static inline void gic_set_base_accessor(struct gic_chip_data *data, | |||
128 | #else | 128 | #else |
129 | #define gic_data_dist_base(d) ((d)->dist_base.common_base) | 129 | #define gic_data_dist_base(d) ((d)->dist_base.common_base) |
130 | #define gic_data_cpu_base(d) ((d)->cpu_base.common_base) | 130 | #define gic_data_cpu_base(d) ((d)->cpu_base.common_base) |
131 | #define gic_set_base_accessor(d,f) | 131 | #define gic_set_base_accessor(d, f) |
132 | #endif | 132 | #endif |
133 | 133 | ||
134 | static inline void __iomem *gic_dist_base(struct irq_data *d) | 134 | static inline void __iomem *gic_dist_base(struct irq_data *d) |
@@ -821,7 +821,7 @@ void __init gic_init_bases(unsigned int gic_nr, int irq_start, | |||
821 | } | 821 | } |
822 | 822 | ||
823 | #ifdef CONFIG_OF | 823 | #ifdef CONFIG_OF |
824 | static int gic_cnt __initdata = 0; | 824 | static int gic_cnt __initdata; |
825 | 825 | ||
826 | int __init gic_of_init(struct device_node *node, struct device_node *parent) | 826 | int __init gic_of_init(struct device_node *node, struct device_node *parent) |
827 | { | 827 | { |
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c index 63fb265e0da6..8d6794cdf899 100644 --- a/drivers/mmc/host/s3cmci.c +++ b/drivers/mmc/host/s3cmci.c | |||
@@ -25,14 +25,93 @@ | |||
25 | 25 | ||
26 | #include <mach/dma.h> | 26 | #include <mach/dma.h> |
27 | 27 | ||
28 | #include <mach/regs-sdi.h> | ||
29 | |||
30 | #include <linux/platform_data/mmc-s3cmci.h> | 28 | #include <linux/platform_data/mmc-s3cmci.h> |
31 | 29 | ||
32 | #include "s3cmci.h" | 30 | #include "s3cmci.h" |
33 | 31 | ||
34 | #define DRIVER_NAME "s3c-mci" | 32 | #define DRIVER_NAME "s3c-mci" |
35 | 33 | ||
34 | #define S3C2410_SDICON (0x00) | ||
35 | #define S3C2410_SDIPRE (0x04) | ||
36 | #define S3C2410_SDICMDARG (0x08) | ||
37 | #define S3C2410_SDICMDCON (0x0C) | ||
38 | #define S3C2410_SDICMDSTAT (0x10) | ||
39 | #define S3C2410_SDIRSP0 (0x14) | ||
40 | #define S3C2410_SDIRSP1 (0x18) | ||
41 | #define S3C2410_SDIRSP2 (0x1C) | ||
42 | #define S3C2410_SDIRSP3 (0x20) | ||
43 | #define S3C2410_SDITIMER (0x24) | ||
44 | #define S3C2410_SDIBSIZE (0x28) | ||
45 | #define S3C2410_SDIDCON (0x2C) | ||
46 | #define S3C2410_SDIDCNT (0x30) | ||
47 | #define S3C2410_SDIDSTA (0x34) | ||
48 | #define S3C2410_SDIFSTA (0x38) | ||
49 | |||
50 | #define S3C2410_SDIDATA (0x3C) | ||
51 | #define S3C2410_SDIIMSK (0x40) | ||
52 | |||
53 | #define S3C2440_SDIDATA (0x40) | ||
54 | #define S3C2440_SDIIMSK (0x3C) | ||
55 | |||
56 | #define S3C2440_SDICON_SDRESET (1 << 8) | ||
57 | #define S3C2410_SDICON_SDIOIRQ (1 << 3) | ||
58 | #define S3C2410_SDICON_FIFORESET (1 << 1) | ||
59 | #define S3C2410_SDICON_CLOCKTYPE (1 << 0) | ||
60 | |||
61 | #define S3C2410_SDICMDCON_LONGRSP (1 << 10) | ||
62 | #define S3C2410_SDICMDCON_WAITRSP (1 << 9) | ||
63 | #define S3C2410_SDICMDCON_CMDSTART (1 << 8) | ||
64 | #define S3C2410_SDICMDCON_SENDERHOST (1 << 6) | ||
65 | #define S3C2410_SDICMDCON_INDEX (0x3f) | ||
66 | |||
67 | #define S3C2410_SDICMDSTAT_CRCFAIL (1 << 12) | ||
68 | #define S3C2410_SDICMDSTAT_CMDSENT (1 << 11) | ||
69 | #define S3C2410_SDICMDSTAT_CMDTIMEOUT (1 << 10) | ||
70 | #define S3C2410_SDICMDSTAT_RSPFIN (1 << 9) | ||
71 | |||
72 | #define S3C2440_SDIDCON_DS_WORD (2 << 22) | ||
73 | #define S3C2410_SDIDCON_TXAFTERRESP (1 << 20) | ||
74 | #define S3C2410_SDIDCON_RXAFTERCMD (1 << 19) | ||
75 | #define S3C2410_SDIDCON_BLOCKMODE (1 << 17) | ||
76 | #define S3C2410_SDIDCON_WIDEBUS (1 << 16) | ||
77 | #define S3C2410_SDIDCON_DMAEN (1 << 15) | ||
78 | #define S3C2410_SDIDCON_STOP (1 << 14) | ||
79 | #define S3C2440_SDIDCON_DATSTART (1 << 14) | ||
80 | |||
81 | #define S3C2410_SDIDCON_XFER_RXSTART (2 << 12) | ||
82 | #define S3C2410_SDIDCON_XFER_TXSTART (3 << 12) | ||
83 | |||
84 | #define S3C2410_SDIDCON_BLKNUM_MASK (0xFFF) | ||
85 | |||
86 | #define S3C2410_SDIDSTA_SDIOIRQDETECT (1 << 9) | ||
87 | #define S3C2410_SDIDSTA_FIFOFAIL (1 << 8) | ||
88 | #define S3C2410_SDIDSTA_CRCFAIL (1 << 7) | ||
89 | #define S3C2410_SDIDSTA_RXCRCFAIL (1 << 6) | ||
90 | #define S3C2410_SDIDSTA_DATATIMEOUT (1 << 5) | ||
91 | #define S3C2410_SDIDSTA_XFERFINISH (1 << 4) | ||
92 | #define S3C2410_SDIDSTA_TXDATAON (1 << 1) | ||
93 | #define S3C2410_SDIDSTA_RXDATAON (1 << 0) | ||
94 | |||
95 | #define S3C2440_SDIFSTA_FIFORESET (1 << 16) | ||
96 | #define S3C2440_SDIFSTA_FIFOFAIL (3 << 14) | ||
97 | #define S3C2410_SDIFSTA_TFDET (1 << 13) | ||
98 | #define S3C2410_SDIFSTA_RFDET (1 << 12) | ||
99 | #define S3C2410_SDIFSTA_COUNTMASK (0x7f) | ||
100 | |||
101 | #define S3C2410_SDIIMSK_RESPONSECRC (1 << 17) | ||
102 | #define S3C2410_SDIIMSK_CMDSENT (1 << 16) | ||
103 | #define S3C2410_SDIIMSK_CMDTIMEOUT (1 << 15) | ||
104 | #define S3C2410_SDIIMSK_RESPONSEND (1 << 14) | ||
105 | #define S3C2410_SDIIMSK_SDIOIRQ (1 << 12) | ||
106 | #define S3C2410_SDIIMSK_FIFOFAIL (1 << 11) | ||
107 | #define S3C2410_SDIIMSK_CRCSTATUS (1 << 10) | ||
108 | #define S3C2410_SDIIMSK_DATACRC (1 << 9) | ||
109 | #define S3C2410_SDIIMSK_DATATIMEOUT (1 << 8) | ||
110 | #define S3C2410_SDIIMSK_DATAFINISH (1 << 7) | ||
111 | #define S3C2410_SDIIMSK_TXFIFOHALF (1 << 4) | ||
112 | #define S3C2410_SDIIMSK_RXFIFOLAST (1 << 2) | ||
113 | #define S3C2410_SDIIMSK_RXFIFOHALF (1 << 0) | ||
114 | |||
36 | enum dbg_channels { | 115 | enum dbg_channels { |
37 | dbg_err = (1 << 0), | 116 | dbg_err = (1 << 0), |
38 | dbg_debug = (1 << 1), | 117 | dbg_debug = (1 << 1), |
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h index 27cfda427dd9..08ed5e19d8c6 100644 --- a/include/linux/clocksource.h +++ b/include/linux/clocksource.h | |||
@@ -340,6 +340,7 @@ extern void clocksource_of_init(void); | |||
340 | __used __section(__clksrc_of_table) \ | 340 | __used __section(__clksrc_of_table) \ |
341 | = { .compatible = compat, .data = fn }; | 341 | = { .compatible = compat, .data = fn }; |
342 | #else | 342 | #else |
343 | static inline void clocksource_of_init(void) {} | ||
343 | #define CLOCKSOURCE_OF_DECLARE(name, compat, fn) | 344 | #define CLOCKSOURCE_OF_DECLARE(name, compat, fn) |
344 | #endif | 345 | #endif |
345 | 346 | ||