[PATCH 07/14] Add Samsung S3C CAMIF driver

Ben Dooks ben at fluff.org
Thu Mar 5 12:35:10 CET 2009


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 <werner at openmoko.org>
> 
> --- 
> 
> 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 <werner at openmoko.org>
> + *
> + * based on dev-hsmmc.c which is
> + *
> + * Copyright (c) 2008 Simtec Electronics
> + *	Ben Dooks <ben at simtec.co.uk>
> + *	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.




More information about the openmoko-kernel mailing list