diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2011-10-13 13:17:18 -0400 |
---|---|---|
committer | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2011-11-28 09:50:38 -0500 |
commit | cfa5a1fe7e65bacdee59d5df60a9f44b0c030532 (patch) | |
tree | 9b1f7ec23974b3176e47b4163a0b938e73e105a8 /arch/arm/mach-at91 | |
parent | eab5fd67d6d144ae9877a3de307714836bd1fbf0 (diff) |
ARM: at91: add ioremap_registers entry point to soc setup
this will allow to ioremap the register of the PIT, PMC and others
and make the code soc independent
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Diffstat (limited to 'arch/arm/mach-at91')
-rw-r--r-- | arch/arm/mach-at91/at91cap9.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91rm9200.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9260.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9261.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9263.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9g45.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9rl.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-at91/setup.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/soc.h | 1 |
9 files changed, 38 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/at91cap9.c b/arch/arm/mach-at91/at91cap9.c index fe00dceba0af..36872070afef 100644 --- a/arch/arm/mach-at91/at91cap9.c +++ b/arch/arm/mach-at91/at91cap9.c | |||
@@ -333,6 +333,10 @@ static void __init at91cap9_map_io(void) | |||
333 | at91_init_sram(0, AT91CAP9_SRAM_BASE, AT91CAP9_SRAM_SIZE); | 333 | at91_init_sram(0, AT91CAP9_SRAM_BASE, AT91CAP9_SRAM_SIZE); |
334 | } | 334 | } |
335 | 335 | ||
336 | static void __init at91cap9_ioremap_registers(void) | ||
337 | { | ||
338 | } | ||
339 | |||
336 | static void __init at91cap9_initialize(void) | 340 | static void __init at91cap9_initialize(void) |
337 | { | 341 | { |
338 | at91_arch_reset = at91cap9_reset; | 342 | at91_arch_reset = at91cap9_reset; |
@@ -394,6 +398,7 @@ static unsigned int at91cap9_default_irq_priority[NR_AIC_IRQS] __initdata = { | |||
394 | struct at91_init_soc __initdata at91cap9_soc = { | 398 | struct at91_init_soc __initdata at91cap9_soc = { |
395 | .map_io = at91cap9_map_io, | 399 | .map_io = at91cap9_map_io, |
396 | .default_irq_priority = at91cap9_default_irq_priority, | 400 | .default_irq_priority = at91cap9_default_irq_priority, |
401 | .ioremap_registers = at91cap9_ioremap_registers, | ||
397 | .register_clocks = at91cap9_register_clocks, | 402 | .register_clocks = at91cap9_register_clocks, |
398 | .init = at91cap9_initialize, | 403 | .init = at91cap9_initialize, |
399 | }; | 404 | }; |
diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c index 8ce86751c2e2..c67d50c9ea20 100644 --- a/arch/arm/mach-at91/at91rm9200.c +++ b/arch/arm/mach-at91/at91rm9200.c | |||
@@ -307,6 +307,10 @@ static void __init at91rm9200_map_io(void) | |||
307 | iotable_init(at91rm9200_io_desc, ARRAY_SIZE(at91rm9200_io_desc)); | 307 | iotable_init(at91rm9200_io_desc, ARRAY_SIZE(at91rm9200_io_desc)); |
308 | } | 308 | } |
309 | 309 | ||
310 | static void __init at91rm9200_ioremap_registers(void) | ||
311 | { | ||
312 | } | ||
313 | |||
310 | static void __init at91rm9200_initialize(void) | 314 | static void __init at91rm9200_initialize(void) |
311 | { | 315 | { |
312 | at91_arch_reset = at91rm9200_reset; | 316 | at91_arch_reset = at91rm9200_reset; |
@@ -366,6 +370,7 @@ static unsigned int at91rm9200_default_irq_priority[NR_AIC_IRQS] __initdata = { | |||
366 | struct at91_init_soc __initdata at91rm9200_soc = { | 370 | struct at91_init_soc __initdata at91rm9200_soc = { |
367 | .map_io = at91rm9200_map_io, | 371 | .map_io = at91rm9200_map_io, |
368 | .default_irq_priority = at91rm9200_default_irq_priority, | 372 | .default_irq_priority = at91rm9200_default_irq_priority, |
373 | .ioremap_registers = at91rm9200_ioremap_registers, | ||
369 | .register_clocks = at91rm9200_register_clocks, | 374 | .register_clocks = at91rm9200_register_clocks, |
370 | .init = at91rm9200_initialize, | 375 | .init = at91rm9200_initialize, |
371 | }; | 376 | }; |
diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c index 1e9c79f5a6ed..0e549284b127 100644 --- a/arch/arm/mach-at91/at91sam9260.c +++ b/arch/arm/mach-at91/at91sam9260.c | |||
@@ -325,6 +325,10 @@ static void __init at91sam9260_map_io(void) | |||
325 | } | 325 | } |
326 | } | 326 | } |
327 | 327 | ||
328 | static void __init at91sam9260_ioremap_registers(void) | ||
329 | { | ||
330 | } | ||
331 | |||
328 | static void __init at91sam9260_initialize(void) | 332 | static void __init at91sam9260_initialize(void) |
329 | { | 333 | { |
330 | at91_arch_reset = at91sam9_alt_reset; | 334 | at91_arch_reset = at91sam9_alt_reset; |
@@ -381,6 +385,7 @@ static unsigned int at91sam9260_default_irq_priority[NR_AIC_IRQS] __initdata = { | |||
381 | struct at91_init_soc __initdata at91sam9260_soc = { | 385 | struct at91_init_soc __initdata at91sam9260_soc = { |
382 | .map_io = at91sam9260_map_io, | 386 | .map_io = at91sam9260_map_io, |
383 | .default_irq_priority = at91sam9260_default_irq_priority, | 387 | .default_irq_priority = at91sam9260_default_irq_priority, |
388 | .ioremap_registers = at91sam9260_ioremap_registers, | ||
384 | .register_clocks = at91sam9260_register_clocks, | 389 | .register_clocks = at91sam9260_register_clocks, |
385 | .init = at91sam9260_initialize, | 390 | .init = at91sam9260_initialize, |
386 | }; | 391 | }; |
diff --git a/arch/arm/mach-at91/at91sam9261.c b/arch/arm/mach-at91/at91sam9261.c index 574aa6b6a78b..dde831814737 100644 --- a/arch/arm/mach-at91/at91sam9261.c +++ b/arch/arm/mach-at91/at91sam9261.c | |||
@@ -285,6 +285,10 @@ static void __init at91sam9261_map_io(void) | |||
285 | at91_init_sram(0, AT91SAM9261_SRAM_BASE, AT91SAM9261_SRAM_SIZE); | 285 | at91_init_sram(0, AT91SAM9261_SRAM_BASE, AT91SAM9261_SRAM_SIZE); |
286 | } | 286 | } |
287 | 287 | ||
288 | static void __init at91sam9261_ioremap_registers(void) | ||
289 | { | ||
290 | } | ||
291 | |||
288 | static void __init at91sam9261_initialize(void) | 292 | static void __init at91sam9261_initialize(void) |
289 | { | 293 | { |
290 | at91_arch_reset = at91sam9_alt_reset; | 294 | at91_arch_reset = at91sam9_alt_reset; |
@@ -341,6 +345,7 @@ static unsigned int at91sam9261_default_irq_priority[NR_AIC_IRQS] __initdata = { | |||
341 | struct at91_init_soc __initdata at91sam9261_soc = { | 345 | struct at91_init_soc __initdata at91sam9261_soc = { |
342 | .map_io = at91sam9261_map_io, | 346 | .map_io = at91sam9261_map_io, |
343 | .default_irq_priority = at91sam9261_default_irq_priority, | 347 | .default_irq_priority = at91sam9261_default_irq_priority, |
348 | .ioremap_registers = at91sam9261_ioremap_registers, | ||
344 | .register_clocks = at91sam9261_register_clocks, | 349 | .register_clocks = at91sam9261_register_clocks, |
345 | .init = at91sam9261_initialize, | 350 | .init = at91sam9261_initialize, |
346 | }; | 351 | }; |
diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c index dee0ed7d88e4..fc442dd0753c 100644 --- a/arch/arm/mach-at91/at91sam9263.c +++ b/arch/arm/mach-at91/at91sam9263.c | |||
@@ -303,6 +303,10 @@ static void __init at91sam9263_map_io(void) | |||
303 | at91_init_sram(1, AT91SAM9263_SRAM1_BASE, AT91SAM9263_SRAM1_SIZE); | 303 | at91_init_sram(1, AT91SAM9263_SRAM1_BASE, AT91SAM9263_SRAM1_SIZE); |
304 | } | 304 | } |
305 | 305 | ||
306 | static void __init at91sam9263_ioremap_registers(void) | ||
307 | { | ||
308 | } | ||
309 | |||
306 | static void __init at91sam9263_initialize(void) | 310 | static void __init at91sam9263_initialize(void) |
307 | { | 311 | { |
308 | at91_arch_reset = at91sam9_alt_reset; | 312 | at91_arch_reset = at91sam9_alt_reset; |
@@ -358,6 +362,7 @@ static unsigned int at91sam9263_default_irq_priority[NR_AIC_IRQS] __initdata = { | |||
358 | struct at91_init_soc __initdata at91sam9263_soc = { | 362 | struct at91_init_soc __initdata at91sam9263_soc = { |
359 | .map_io = at91sam9263_map_io, | 363 | .map_io = at91sam9263_map_io, |
360 | .default_irq_priority = at91sam9263_default_irq_priority, | 364 | .default_irq_priority = at91sam9263_default_irq_priority, |
365 | .ioremap_registers = at91sam9263_ioremap_registers, | ||
361 | .register_clocks = at91sam9263_register_clocks, | 366 | .register_clocks = at91sam9263_register_clocks, |
362 | .init = at91sam9263_initialize, | 367 | .init = at91sam9263_initialize, |
363 | }; | 368 | }; |
diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c index 404d70cececb..56282b26a5a2 100644 --- a/arch/arm/mach-at91/at91sam9g45.c +++ b/arch/arm/mach-at91/at91sam9g45.c | |||
@@ -338,6 +338,10 @@ static void __init at91sam9g45_map_io(void) | |||
338 | init_consistent_dma_size(SZ_4M); | 338 | init_consistent_dma_size(SZ_4M); |
339 | } | 339 | } |
340 | 340 | ||
341 | static void __init at91sam9g45_ioremap_registers(void) | ||
342 | { | ||
343 | } | ||
344 | |||
341 | static void __init at91sam9g45_initialize(void) | 345 | static void __init at91sam9g45_initialize(void) |
342 | { | 346 | { |
343 | at91_arch_reset = at91sam9g45_reset; | 347 | at91_arch_reset = at91sam9g45_reset; |
@@ -393,6 +397,7 @@ static unsigned int at91sam9g45_default_irq_priority[NR_AIC_IRQS] __initdata = { | |||
393 | struct at91_init_soc __initdata at91sam9g45_soc = { | 397 | struct at91_init_soc __initdata at91sam9g45_soc = { |
394 | .map_io = at91sam9g45_map_io, | 398 | .map_io = at91sam9g45_map_io, |
395 | .default_irq_priority = at91sam9g45_default_irq_priority, | 399 | .default_irq_priority = at91sam9g45_default_irq_priority, |
400 | .ioremap_registers = at91sam9g45_ioremap_registers, | ||
396 | .register_clocks = at91sam9g45_register_clocks, | 401 | .register_clocks = at91sam9g45_register_clocks, |
397 | .init = at91sam9g45_initialize, | 402 | .init = at91sam9g45_initialize, |
398 | }; | 403 | }; |
diff --git a/arch/arm/mach-at91/at91sam9rl.c b/arch/arm/mach-at91/at91sam9rl.c index c4004e21d805..29dae9b275b0 100644 --- a/arch/arm/mach-at91/at91sam9rl.c +++ b/arch/arm/mach-at91/at91sam9rl.c | |||
@@ -290,6 +290,10 @@ static void __init at91sam9rl_map_io(void) | |||
290 | at91_init_sram(0, AT91SAM9RL_SRAM_BASE, sram_size); | 290 | at91_init_sram(0, AT91SAM9RL_SRAM_BASE, sram_size); |
291 | } | 291 | } |
292 | 292 | ||
293 | static void __init at91sam9rl_ioremap_registers(void) | ||
294 | { | ||
295 | } | ||
296 | |||
293 | static void __init at91sam9rl_initialize(void) | 297 | static void __init at91sam9rl_initialize(void) |
294 | { | 298 | { |
295 | at91_arch_reset = at91sam9_alt_reset; | 299 | at91_arch_reset = at91sam9_alt_reset; |
@@ -345,6 +349,7 @@ static unsigned int at91sam9rl_default_irq_priority[NR_AIC_IRQS] __initdata = { | |||
345 | struct at91_init_soc __initdata at91sam9rl_soc = { | 349 | struct at91_init_soc __initdata at91sam9rl_soc = { |
346 | .map_io = at91sam9rl_map_io, | 350 | .map_io = at91sam9rl_map_io, |
347 | .default_irq_priority = at91sam9rl_default_irq_priority, | 351 | .default_irq_priority = at91sam9rl_default_irq_priority, |
352 | .ioremap_registers = at91sam9rl_ioremap_registers, | ||
348 | .register_clocks = at91sam9rl_register_clocks, | 353 | .register_clocks = at91sam9rl_register_clocks, |
349 | .init = at91sam9rl_initialize, | 354 | .init = at91sam9rl_initialize, |
350 | }; | 355 | }; |
diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c index aa64294c7db3..63b3ac2595b7 100644 --- a/arch/arm/mach-at91/setup.c +++ b/arch/arm/mach-at91/setup.c | |||
@@ -287,6 +287,8 @@ void __init at91_map_io(void) | |||
287 | 287 | ||
288 | void __init at91_initialize(unsigned long main_clock) | 288 | void __init at91_initialize(unsigned long main_clock) |
289 | { | 289 | { |
290 | at91_boot_soc.ioremap_registers(); | ||
291 | |||
290 | /* Init clock subsystem */ | 292 | /* Init clock subsystem */ |
291 | at91_clock_init(main_clock); | 293 | at91_clock_init(main_clock); |
292 | 294 | ||
diff --git a/arch/arm/mach-at91/soc.h b/arch/arm/mach-at91/soc.h index 21ed8816e6f7..4588ae6f7acd 100644 --- a/arch/arm/mach-at91/soc.h +++ b/arch/arm/mach-at91/soc.h | |||
@@ -7,6 +7,7 @@ | |||
7 | struct at91_init_soc { | 7 | struct at91_init_soc { |
8 | unsigned int *default_irq_priority; | 8 | unsigned int *default_irq_priority; |
9 | void (*map_io)(void); | 9 | void (*map_io)(void); |
10 | void (*ioremap_registers)(void); | ||
10 | void (*register_clocks)(void); | 11 | void (*register_clocks)(void); |
11 | void (*init)(void); | 12 | void (*init)(void); |
12 | }; | 13 | }; |