aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2011-10-13 13:17:18 -0400
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2011-11-28 09:50:38 -0500
commitcfa5a1fe7e65bacdee59d5df60a9f44b0c030532 (patch)
tree9b1f7ec23974b3176e47b4163a0b938e73e105a8 /arch/arm/mach-at91
parenteab5fd67d6d144ae9877a3de307714836bd1fbf0 (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.c5
-rw-r--r--arch/arm/mach-at91/at91rm9200.c5
-rw-r--r--arch/arm/mach-at91/at91sam9260.c5
-rw-r--r--arch/arm/mach-at91/at91sam9261.c5
-rw-r--r--arch/arm/mach-at91/at91sam9263.c5
-rw-r--r--arch/arm/mach-at91/at91sam9g45.c5
-rw-r--r--arch/arm/mach-at91/at91sam9rl.c5
-rw-r--r--arch/arm/mach-at91/setup.c2
-rw-r--r--arch/arm/mach-at91/soc.h1
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
336static void __init at91cap9_ioremap_registers(void)
337{
338}
339
336static void __init at91cap9_initialize(void) 340static 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 = {
394struct at91_init_soc __initdata at91cap9_soc = { 398struct 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
310static void __init at91rm9200_ioremap_registers(void)
311{
312}
313
310static void __init at91rm9200_initialize(void) 314static 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 = {
366struct at91_init_soc __initdata at91rm9200_soc = { 370struct 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
328static void __init at91sam9260_ioremap_registers(void)
329{
330}
331
328static void __init at91sam9260_initialize(void) 332static 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 = {
381struct at91_init_soc __initdata at91sam9260_soc = { 385struct 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
288static void __init at91sam9261_ioremap_registers(void)
289{
290}
291
288static void __init at91sam9261_initialize(void) 292static 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 = {
341struct at91_init_soc __initdata at91sam9261_soc = { 345struct 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
306static void __init at91sam9263_ioremap_registers(void)
307{
308}
309
306static void __init at91sam9263_initialize(void) 310static 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 = {
358struct at91_init_soc __initdata at91sam9263_soc = { 362struct 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
341static void __init at91sam9g45_ioremap_registers(void)
342{
343}
344
341static void __init at91sam9g45_initialize(void) 345static 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 = {
393struct at91_init_soc __initdata at91sam9g45_soc = { 397struct 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
293static void __init at91sam9rl_ioremap_registers(void)
294{
295}
296
293static void __init at91sam9rl_initialize(void) 297static 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 = {
345struct at91_init_soc __initdata at91sam9rl_soc = { 349struct 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
288void __init at91_initialize(unsigned long main_clock) 288void __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 @@
7struct at91_init_soc { 7struct 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};