aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/devices.c
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@pengutronix.de>2008-04-11 16:19:45 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-04-19 12:14:30 -0400
commit3f3acefb63dc70d767f730045ab7ebaa81938d77 (patch)
treeab81ca4991541a251c7e67b92e9098041d7c2f95 /arch/arm/mach-pxa/devices.c
parent0e623941bec7e80c97b076d346327b31ae17d84a (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.c32
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
571static 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
584static u64 pxa27x_dma_mask_camera = DMA_BIT_MASK(32);
585
586static 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
597void __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