diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-02-05 17:46:25 +0000 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-02-05 17:46:25 +0000 |
commit | c6568fd43197352eb4c82e1271717a835af9fc27 (patch) | |
tree | af22371fa04ff55ec5f42e7b6e2f15317e7309b2 /linux/arch/arm/mach-pxa | |
parent | 5fa2b467c8f690078304940a302769c272842893 (diff) | |
download | mediapointer-dvb-s2-c6568fd43197352eb4c82e1271717a835af9fc27.tar.gz mediapointer-dvb-s2-c6568fd43197352eb4c82e1271717a835af9fc27.tar.bz2 |
V4L2 soc_camera driver for PXA27x processors
From: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
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 for the first time it supports the
V4L2 API.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/arch/arm/mach-pxa')
-rw-r--r-- | linux/arch/arm/mach-pxa/devices.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/linux/arch/arm/mach-pxa/devices.c b/linux/arch/arm/mach-pxa/devices.c index bfccb80ac..3838aabdf 100644 --- a/linux/arch/arm/mach-pxa/devices.c +++ b/linux/arch/arm/mach-pxa/devices.c @@ -11,6 +11,7 @@ #include <asm/arch/irda.h> #include <asm/arch/i2c.h> #include <asm/arch/ohci.h> +#include <asm/arch/camera.h> #include "devices.h" @@ -540,6 +541,37 @@ struct platform_device pxa27x_device_ssp3 = { .resource = pxa27x_resource_ssp3, .num_resources = ARRAY_SIZE(pxa27x_resource_ssp3), }; + +static struct resource pxa27x_resource_camera[] = { + [0] = { + .start = 0x50000000, + .end = 0x50000fff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_CAMERA, + .end = IRQ_CAMERA, + .flags = IORESOURCE_IRQ, + }, +}; + +static u64 pxa27x_dma_mask_camera = DMA_BIT_MASK(32); + +static struct platform_device pxa27x_device_camera = { + .name = "pxa27x-camera", + .id = 0, /* This is used to put cameras on this interface */ + .dev = { + .dma_mask = &pxa27x_dma_mask_camera, + .coherent_dma_mask = 0xffffffff, + }, + .num_resources = ARRAY_SIZE(pxa27x_resource_camera), + .resource = pxa27x_resource_camera, +}; + +void __init pxa_set_camera_info(struct pxacamera_platform_data *info) +{ + pxa_register_device(&pxa27x_device_camera, info); +} #endif /* CONFIG_PXA27x || CONFIG_PXA3xx */ #ifdef CONFIG_PXA3xx |