diff options
Diffstat (limited to 'linux/arch/arm/mach-pxa')
-rw-r--r-- | linux/arch/arm/mach-pxa/devices.c | 16 | ||||
-rw-r--r-- | linux/arch/arm/mach-pxa/pcm990-baseboard.c | 50 |
2 files changed, 36 insertions, 30 deletions
diff --git a/linux/arch/arm/mach-pxa/devices.c b/linux/arch/arm/mach-pxa/devices.c index 84489dc51..c77a4f753 100644 --- a/linux/arch/arm/mach-pxa/devices.c +++ b/linux/arch/arm/mach-pxa/devices.c @@ -4,6 +4,7 @@ #include <linux/platform_device.h> #include <linux/dma-mapping.h> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27) #include <asm/arch/gpio.h> #include <asm/arch/udc.h> #include <asm/arch/pxafb.h> @@ -17,6 +18,21 @@ #include <asm/arch/camera.h> #include <asm/arch/audio.h> #include <asm/arch/pxa3xx_nand.h> +#else +#include <mach/gpio.h> +#include <mach/udc.h> +#include <mach/pxafb.h> +#include <mach/mmc.h> +#include <mach/irda.h> +#include <mach/i2c.h> +#include <mach/mfp-pxa27x.h> +#include <mach/ohci.h> +#include <mach/pxa27x_keypad.h> +#include <mach/pxa2xx_spi.h> +#include <mach/camera.h> +#include <mach/audio.h> +#include <mach/pxa3xx_nand.h> +#endif #include "devices.h" #include "generic.h" diff --git a/linux/arch/arm/mach-pxa/pcm990-baseboard.c b/linux/arch/arm/mach-pxa/pcm990-baseboard.c index 30023b00e..e8eb8cbc3 100644 --- a/linux/arch/arm/mach-pxa/pcm990-baseboard.c +++ b/linux/arch/arm/mach-pxa/pcm990-baseboard.c @@ -22,16 +22,24 @@ #include <linux/irq.h> #include <linux/platform_device.h> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27) #include <linux/ide.h> +#endif #include <linux/i2c.h> #include <linux/pwm_backlight.h> #include <media/soc_camera.h> #include <asm/gpio.h> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27) #include <asm/arch/i2c.h> #include <asm/arch/camera.h> +#else +#include <mach/i2c.h> +#include <mach/camera.h> +#endif #include <asm/mach/map.h> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27) #include <asm/arch/pxa-regs.h> #include <asm/arch/audio.h> #include <asm/arch/mmc.h> @@ -39,6 +47,15 @@ #include <asm/arch/pcm990_baseboard.h> #include <asm/arch/pxafb.h> #include <asm/arch/mfp-pxa27x.h> +#else +#include <mach/pxa-regs.h> +#include <mach/audio.h> +#include <mach/mmc.h> +#include <mach/ohci.h> +#include <mach/pcm990_baseboard.h> +#include <mach/pxafb.h> +#include <mach/mfp-pxa27x.h> +#endif #include "devices.h" #include "generic.h" @@ -263,8 +280,7 @@ static void pcm990_irq_handler(unsigned int irq, struct irq_desc *desc) GPIO_bit(PCM990_CTRL_INT_IRQ_GPIO); if (likely(pending)) { irq = PCM027_IRQ(0) + __ffs(pending); - desc = irq_desc + irq; - desc_handle_irq(irq, desc); + generic_handle_irq(irq); } pending = (~PCM990_INTSETCLR) & pcm990_irq_enabled; } while (pending); @@ -329,36 +345,10 @@ static struct pxamci_platform_data pcm990_mci_platform_data = { .exit = pcm990_mci_exit, }; -/* - * init OHCI hardware to work with - * - * Note: Only USB port 1 (host only) is connected - * - * GPIO88 (USBHPWR#1): overcurrent in, overcurrent when low - * GPIO89 (USBHPEN#1): power-on out, on when low - */ -static int pcm990_ohci_init(struct device *dev) -{ - /* - * disable USB port 2 and 3 - * power sense is active low - */ - UHCHR = ((UHCHR) | UHCHR_PCPL | UHCHR_PSPL | UHCHR_SSEP2 | - UHCHR_SSEP3) & ~(UHCHR_SSEP1 | UHCHR_SSE); - /* - * wait 10ms after Power on - * overcurrent per port - * power switch per port - */ - UHCRHDA = (5<<24) | (1<<11) | (1<<8); /* FIXME: Required? */ - - return 0; -} - static struct pxaohci_platform_data pcm990_ohci_platform_data = { .port_mode = PMM_PERPORT_MODE, - .init = pcm990_ohci_init, - .exit = NULL, + .flags = ENABLE_PORT1 | POWER_CONTROL_LOW | POWER_SENSE_LOW, + .power_on_delay = 10, }; /* |