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.


Reply via email to