On Thu, Mar 05, 2009 at 11:43:18AM +0800, Werner Almesberger wrote: > Add Samsung S3C camera interface driver. > Original code is from Samsung's BSP and was written for 2.6.21.
hmm, do you really need to say this, it looks like completely new code to me. > Only tested on S3C6410. > Signed-off-by: Werner Almesberger <[email protected]> > > --- > > Index: cam/arch/arm/plat-s3c/dev-camif.c > =================================================================== > --- /dev/null 1970-01-01 00:00:00.000000000 +0000 > +++ cam/arch/arm/plat-s3c/dev-camif.c 2009-03-03 19:06:20.000000000 +0800 > @@ -0,0 +1,64 @@ > +/* linux/arch/arm/plat-s3c/dev-camif.c > + * > + * Copyright 2009 Openmoko, Inc. > + * Werner Almesberger <[email protected]> > + * > + * based on dev-hsmmc.c which is > + * > + * Copyright (c) 2008 Simtec Electronics > + * Ben Dooks <[email protected]> > + * http://armlinux.simtec.co.uk/ > + * > + * S3C series device definition for camera interface devices > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > +*/ > + > +#include <linux/kernel.h> > +#include <linux/platform_device.h> > +#include <linux/mmc/host.h> > + > +#include <mach/map.h> > +#include <plat/devs.h> > +#include <plat/cpu.h> > + > + > +#define S3C6400_PA_CAMIF 0x78000000 > +#define S3C24XX_SZ_CAMIF (0x1000) > + > + > +static struct resource s3c_camif_resource[] = { > + [0] = { > + .start = S3C6400_PA_CAMIF, > + .end = S3C6400_PA_CAMIF + S3C24XX_SZ_CAMIF - 1, > + .flags = IORESOURCE_MEM, > + }, > + [1] = { > + .start = IRQ_CAMIF_C, > + .end = IRQ_CAMIF_C, > + .flags = IORESOURCE_IRQ, > + }, > + [2] = { > + .start = IRQ_CAMIF_P, > + .end = IRQ_CAMIF_P, > + .flags = IORESOURCE_IRQ, > + } > + > +}; > + > +static u64 s3c_device_camif_dmamask = 0xffffffffUL; > + > +struct platform_device s3c_device_camif = { > + .name = "s3c-camif", > + .id = -1, > + .num_resources = ARRAY_SIZE(s3c_camif_resource), > + .resource = s3c_camif_resource, > + .dev = { > + .dma_mask = &s3c_device_camif_dmamask, > + .coherent_dma_mask = 0xffffffffUL > + } > +}; > + > +EXPORT_SYMBOL(s3c_device_camif); > Index: cam/arch/arm/plat-s3c/Kconfig > =================================================================== > --- cam.orig/arch/arm/plat-s3c/Kconfig 2009-03-03 16:50:36.000000000 > +0800 > +++ cam/arch/arm/plat-s3c/Kconfig 2009-03-03 19:06:20.000000000 +0800 > @@ -193,4 +193,9 @@ > help > Compile in platform device definition for framebuffer > > +config S3C_DEV_CAMIF > + bool > + help > + Compile in platform device definitions for camera interface code > + > endif > Index: cam/arch/arm/plat-s3c/Makefile > =================================================================== > --- cam.orig/arch/arm/plat-s3c/Makefile 2009-03-03 16:50:36.000000000 > +0800 > +++ cam/arch/arm/plat-s3c/Makefile 2009-03-03 19:06:20.000000000 +0800 > @@ -35,6 +35,7 @@ > obj-y += dev-i2c0.o > obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o > obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o > +obj-$(CONFIG_S3C_DEV_CAMIF) += dev-camif.o > > obj-$(CONFIG_S3C_PWM) += pwm.o > obj-$(CONFIG_S3C_DMA) += dma.o > > -- > -- -- Ben Q: What's a light-year? A: One-third less calories than a regular year.
