diff options
author | Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> | 2008-04-11 16:19:45 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-04-19 12:14:30 -0400 |
commit | 3f3acefb63dc70d767f730045ab7ebaa81938d77 (patch) | |
tree | ab81ca4991541a251c7e67b92e9098041d7c2f95 /arch/arm/mach-pxa/devices.c | |
parent | 0e623941bec7e80c97b076d346327b31ae17d84a (diff) |
[ARM] pxa: V4L2 soc_camera driver for PXA270
This patch adds a driver for the Quick Capture Interface on the PXA270.
It is based on the original driver from Intel, but has been re-worked
multiple times since then, now it also supports the V4L2 API.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/devices.c')
-rw-r--r-- | arch/arm/mach-pxa/devices.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index 3665e242f1f9..d6c05b6eab35 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <asm/arch/i2c.h> | 12 | #include <asm/arch/i2c.h> |
13 | #include <asm/arch/ohci.h> | 13 | #include <asm/arch/ohci.h> |
14 | #include <asm/arch/pxa27x_keypad.h> | 14 | #include <asm/arch/pxa27x_keypad.h> |
15 | #include <asm/arch/camera.h> | ||
15 | 16 | ||
16 | #include "devices.h" | 17 | #include "devices.h" |
17 | 18 | ||
@@ -566,6 +567,37 @@ struct platform_device pxa27x_device_ssp3 = { | |||
566 | .resource = pxa27x_resource_ssp3, | 567 | .resource = pxa27x_resource_ssp3, |
567 | .num_resources = ARRAY_SIZE(pxa27x_resource_ssp3), | 568 | .num_resources = ARRAY_SIZE(pxa27x_resource_ssp3), |
568 | }; | 569 | }; |
570 | |||
571 | static struct resource pxa27x_resource_camera[] = { | ||
572 | [0] = { | ||
573 | .start = 0x50000000, | ||
574 | .end = 0x50000fff, | ||
575 | .flags = IORESOURCE_MEM, | ||
576 | }, | ||
577 | [1] = { | ||
578 | .start = IRQ_CAMERA, | ||
579 | .end = IRQ_CAMERA, | ||
580 | .flags = IORESOURCE_IRQ, | ||
581 | }, | ||
582 | }; | ||
583 | |||
584 | static u64 pxa27x_dma_mask_camera = DMA_BIT_MASK(32); | ||
585 | |||
586 | static struct platform_device pxa27x_device_camera = { | ||
587 | .name = "pxa27x-camera", | ||
588 | .id = 0, /* This is used to put cameras on this interface */ | ||
589 | .dev = { | ||
590 | .dma_mask = &pxa27x_dma_mask_camera, | ||
591 | .coherent_dma_mask = 0xffffffff, | ||
592 | }, | ||
593 | .num_resources = ARRAY_SIZE(pxa27x_resource_camera), | ||
594 | .resource = pxa27x_resource_camera, | ||
595 | }; | ||
596 | |||
597 | void __init pxa_set_camera_info(struct pxacamera_platform_data *info) | ||
598 | { | ||
599 | pxa_register_device(&pxa27x_device_camera, info); | ||
600 | } | ||
569 | #endif /* CONFIG_PXA27x || CONFIG_PXA3xx */ | 601 | #endif /* CONFIG_PXA27x || CONFIG_PXA3xx */ |
570 | 602 | ||
571 | #ifdef CONFIG_PXA3xx | 603 | #ifdef CONFIG_PXA3xx |