aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/pxa3xx.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-pxa/pxa3xx.c')
-rw-r--r--arch/arm/mach-pxa/pxa3xx.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c
index dffb7e813d98..1827d3ce2d5b 100644
--- a/arch/arm/mach-pxa/pxa3xx.c
+++ b/arch/arm/mach-pxa/pxa3xx.c
@@ -40,6 +40,8 @@
40#define PECR_IE(n) ((1 << ((n) * 2)) << 28) 40#define PECR_IE(n) ((1 << ((n) * 2)) << 28)
41#define PECR_IS(n) ((1 << ((n) * 2)) << 29) 41#define PECR_IS(n) ((1 << ((n) * 2)) << 29)
42 42
43extern void __init pxa_dt_irq_init(int (*fn)(struct irq_data *, unsigned int));
44
43static DEFINE_PXA3_CKEN(pxa3xx_ffuart, FFUART, 14857000, 1); 45static DEFINE_PXA3_CKEN(pxa3xx_ffuart, FFUART, 14857000, 1);
44static DEFINE_PXA3_CKEN(pxa3xx_btuart, BTUART, 14857000, 1); 46static DEFINE_PXA3_CKEN(pxa3xx_btuart, BTUART, 14857000, 1);
45static DEFINE_PXA3_CKEN(pxa3xx_stuart, STUART, 14857000, 1); 47static DEFINE_PXA3_CKEN(pxa3xx_stuart, STUART, 14857000, 1);
@@ -382,7 +384,7 @@ static void __init pxa_init_ext_wakeup_irq(int (*fn)(struct irq_data *,
382 pxa_ext_wakeup_chip.irq_set_wake = fn; 384 pxa_ext_wakeup_chip.irq_set_wake = fn;
383} 385}
384 386
385void __init pxa3xx_init_irq(void) 387static void __init __pxa3xx_init_irq(void)
386{ 388{
387 /* enable CP6 access */ 389 /* enable CP6 access */
388 u32 value; 390 u32 value;
@@ -390,10 +392,21 @@ void __init pxa3xx_init_irq(void)
390 value |= (1 << 6); 392 value |= (1 << 6);
391 __asm__ __volatile__("mcr p15, 0, %0, c15, c1, 0\n": :"r"(value)); 393 __asm__ __volatile__("mcr p15, 0, %0, c15, c1, 0\n": :"r"(value));
392 394
393 pxa_init_irq(56, pxa3xx_set_wake);
394 pxa_init_ext_wakeup_irq(pxa3xx_set_wake); 395 pxa_init_ext_wakeup_irq(pxa3xx_set_wake);
395} 396}
396 397
398void __init pxa3xx_init_irq(void)
399{
400 __pxa3xx_init_irq();
401 pxa_init_irq(56, pxa3xx_set_wake);
402}
403
404void __init pxa3xx_dt_init_irq(void)
405{
406 __pxa3xx_init_irq();
407 pxa_dt_irq_init(pxa3xx_set_wake);
408}
409
397static struct map_desc pxa3xx_io_desc[] __initdata = { 410static struct map_desc pxa3xx_io_desc[] __initdata = {
398 { /* Mem Ctl */ 411 { /* Mem Ctl */
399 .virtual = (unsigned long)SMEMC_VIRT, 412 .virtual = (unsigned long)SMEMC_VIRT,