pxa3xx.c (2290c0d06d82faee87b1ab2d9d4f7bf81ef64379) | pxa3xx.c (157d2644cb0c1e71a18baaffca56d2b1d0ebf10f) |
---|---|
1/* 2 * linux/arch/arm/mach-pxa/pxa3xx.c 3 * 4 * code specific to pxa3xx aka Monahans 5 * 6 * Copyright (C) 2006 Marvell International Ltd. 7 * 8 * 2007-09-02: eric miao <eric.miao@marvell.com> --- 11 unchanged lines hidden (view full) --- 20#include <linux/irq.h> 21#include <linux/io.h> 22#include <linux/syscore_ops.h> 23#include <linux/i2c/pxa-i2c.h> 24 25#include <asm/mach/map.h> 26#include <asm/suspend.h> 27#include <mach/hardware.h> | 1/* 2 * linux/arch/arm/mach-pxa/pxa3xx.c 3 * 4 * code specific to pxa3xx aka Monahans 5 * 6 * Copyright (C) 2006 Marvell International Ltd. 7 * 8 * 2007-09-02: eric miao <eric.miao@marvell.com> --- 11 unchanged lines hidden (view full) --- 20#include <linux/irq.h> 21#include <linux/io.h> 22#include <linux/syscore_ops.h> 23#include <linux/i2c/pxa-i2c.h> 24 25#include <asm/mach/map.h> 26#include <asm/suspend.h> 27#include <mach/hardware.h> |
28#include <mach/gpio-pxa.h> | |
29#include <mach/pxa3xx-regs.h> 30#include <mach/reset.h> 31#include <mach/ohci.h> 32#include <mach/pm.h> 33#include <mach/dma.h> 34#include <mach/smemc.h> 35 36#include "generic.h" --- 323 unchanged lines hidden (view full) --- 360static struct irq_chip pxa_ext_wakeup_chip = { 361 .name = "WAKEUP", 362 .irq_ack = pxa_ack_ext_wakeup, 363 .irq_mask = pxa_mask_ext_wakeup, 364 .irq_unmask = pxa_unmask_ext_wakeup, 365 .irq_set_type = pxa_set_ext_wakeup_type, 366}; 367 | 28#include <mach/pxa3xx-regs.h> 29#include <mach/reset.h> 30#include <mach/ohci.h> 31#include <mach/pm.h> 32#include <mach/dma.h> 33#include <mach/smemc.h> 34 35#include "generic.h" --- 323 unchanged lines hidden (view full) --- 359static struct irq_chip pxa_ext_wakeup_chip = { 360 .name = "WAKEUP", 361 .irq_ack = pxa_ack_ext_wakeup, 362 .irq_mask = pxa_mask_ext_wakeup, 363 .irq_unmask = pxa_unmask_ext_wakeup, 364 .irq_set_type = pxa_set_ext_wakeup_type, 365}; 366 |
368static void __init pxa_init_ext_wakeup_irq(set_wake_t fn) | 367static void __init pxa_init_ext_wakeup_irq(int (*fn)(struct irq_data *, 368 unsigned int)) |
369{ 370 int irq; 371 372 for (irq = IRQ_WAKEUP0; irq <= IRQ_WAKEUP1; irq++) { 373 irq_set_chip_and_handler(irq, &pxa_ext_wakeup_chip, 374 handle_edge_irq); 375 set_irq_flags(irq, IRQF_VALID); 376 } --- 6 unchanged lines hidden (view full) --- 383 /* enable CP6 access */ 384 u32 value; 385 __asm__ __volatile__("mrc p15, 0, %0, c15, c1, 0\n": "=r"(value)); 386 value |= (1 << 6); 387 __asm__ __volatile__("mcr p15, 0, %0, c15, c1, 0\n": :"r"(value)); 388 389 pxa_init_irq(56, pxa3xx_set_wake); 390 pxa_init_ext_wakeup_irq(pxa3xx_set_wake); | 369{ 370 int irq; 371 372 for (irq = IRQ_WAKEUP0; irq <= IRQ_WAKEUP1; irq++) { 373 irq_set_chip_and_handler(irq, &pxa_ext_wakeup_chip, 374 handle_edge_irq); 375 set_irq_flags(irq, IRQF_VALID); 376 } --- 6 unchanged lines hidden (view full) --- 383 /* enable CP6 access */ 384 u32 value; 385 __asm__ __volatile__("mrc p15, 0, %0, c15, c1, 0\n": "=r"(value)); 386 value |= (1 << 6); 387 __asm__ __volatile__("mcr p15, 0, %0, c15, c1, 0\n": :"r"(value)); 388 389 pxa_init_irq(56, pxa3xx_set_wake); 390 pxa_init_ext_wakeup_irq(pxa3xx_set_wake); |
391 pxa_init_gpio(IRQ_GPIO_2_x, 2, 127, NULL); | |
392} 393 394static struct map_desc pxa3xx_io_desc[] __initdata = { 395 { /* Mem Ctl */ 396 .virtual = (unsigned long)SMEMC_VIRT, 397 .pfn = __phys_to_pfn(PXA3XX_SMEMC_BASE), 398 .length = 0x00200000, 399 .type = MT_DEVICE --- 12 unchanged lines hidden (view full) --- 412 */ 413 414void __init pxa3xx_set_i2c_power_info(struct i2c_pxa_platform_data *info) 415{ 416 pxa_register_device(&pxa3xx_device_i2c_power, info); 417} 418 419static struct platform_device *devices[] __initdata = { | 391} 392 393static struct map_desc pxa3xx_io_desc[] __initdata = { 394 { /* Mem Ctl */ 395 .virtual = (unsigned long)SMEMC_VIRT, 396 .pfn = __phys_to_pfn(PXA3XX_SMEMC_BASE), 397 .length = 0x00200000, 398 .type = MT_DEVICE --- 12 unchanged lines hidden (view full) --- 411 */ 412 413void __init pxa3xx_set_i2c_power_info(struct i2c_pxa_platform_data *info) 414{ 415 pxa_register_device(&pxa3xx_device_i2c_power, info); 416} 417 418static struct platform_device *devices[] __initdata = { |
419 &pxa_device_gpio, |
|
420 &pxa27x_device_udc, 421 &pxa_device_pmu, 422 &pxa_device_i2s, 423 &pxa_device_asoc_ssp1, 424 &pxa_device_asoc_ssp2, 425 &pxa_device_asoc_ssp3, 426 &pxa_device_asoc_ssp4, 427 &pxa_device_asoc_platform, --- 45 unchanged lines hidden --- | 420 &pxa27x_device_udc, 421 &pxa_device_pmu, 422 &pxa_device_i2s, 423 &pxa_device_asoc_ssp1, 424 &pxa_device_asoc_ssp2, 425 &pxa_device_asoc_ssp3, 426 &pxa_device_asoc_ssp4, 427 &pxa_device_asoc_platform, --- 45 unchanged lines hidden --- |