diff -urN -X ../dontdiff linux-2.6.11-rc3-bk7/include/asm-arm/arch-s3c2410/irqs.h linux-2.6.11-rc3-bk7-bjd1/include/asm-arm/arch-s3c2410/irqs.h
--- linux-2.6.11-rc3-bk7/include/asm-arm/arch-s3c2410/irqs.h	2004-10-18 22:53:10.000000000 +0100
+++ linux-2.6.11-rc3-bk7-bjd1/include/asm-arm/arch-s3c2410/irqs.h	2005-02-10 17:41:08.000000000 +0000
@@ -11,6 +11,7 @@
  *  12-May-2003 BJD  Created file
  *  08-Jan-2003 BJD  Linux 2.6.0 version, moved BAST bits out
  *  12-Mar-2004 BJD  Fixed bug in header protection
+ *  10-Feb-2005 BJD  Added camera IRQ from guillaume.gourat@nexvision.tv
  */
 
 
@@ -35,7 +36,8 @@
 #define IRQ_EINT3      S3C2410_IRQ(3)
 #define IRQ_EINT4t7    S3C2410_IRQ(4)	    /* 20 */
 #define IRQ_EINT8t23   S3C2410_IRQ(5)
-#define IRQ_RESERVED6  S3C2410_IRQ(6)
+#define IRQ_RESERVED6  S3C2410_IRQ(6)		/* for s3c2410 */
+#define IRQ_CAM        S3C2410_IRQ(6)		/* for s3c2440 */
 #define IRQ_BATT_FLT   S3C2410_IRQ(7)
 #define IRQ_TICK       S3C2410_IRQ(8)	    /* 24 */
 #define IRQ_WDT	       S3C2410_IRQ(9)
diff -urN -X ../dontdiff linux-2.6.11-rc3-bk7/include/asm-arm/arch-s3c2410/map.h linux-2.6.11-rc3-bk7-bjd1/include/asm-arm/arch-s3c2410/map.h
--- linux-2.6.11-rc3-bk7/include/asm-arm/arch-s3c2410/map.h	2004-10-18 22:55:06.000000000 +0100
+++ linux-2.6.11-rc3-bk7-bjd1/include/asm-arm/arch-s3c2410/map.h	2005-02-10 17:35:15.000000000 +0000
@@ -12,6 +12,7 @@
  * Changelog:
  *  12-May-2003 BJD  Created file
  *  06-Jan-2003 BJD  Linux 2.6.0 version, moved bast specifics out
+ *  10-Feb-2005 BJD  Added CAMIF definition from guillaume.gourat@nexvision.tv
 */
 
 #ifndef __ASM_ARCH_MAP_H
@@ -124,6 +125,10 @@
 #define S3C2410_PA_SDI	   (0x5A000000)
 #define S3C2410_SZ_SDI	   SZ_1M
 
+/* CAMIF */
+#define S3C2440_PA_CAMIF   (0x4F000000)
+#define S3C2440_SZ_CAMIF   SZ_1M
+
 /* ISA style IO, for each machine to sort out mappings for, if it
  * implements it. We reserve two 16M regions for ISA.
  */
diff -urN -X ../dontdiff linux-2.6.11-rc3-bk7/arch/arm/mach-s3c2410/devs.c linux-2.6.11-rc3-bk7-bjd1/arch/arm/mach-s3c2410/devs.c
--- linux-2.6.11-rc3-bk7/arch/arm/mach-s3c2410/devs.c	2005-01-04 10:57:48.000000000 +0000
+++ linux-2.6.11-rc3-bk7-bjd1/arch/arm/mach-s3c2410/devs.c	2005-02-10 17:39:56.000000000 +0000
@@ -10,6 +10,7 @@
  * published by the Free Software Foundation.
  *
  * Modifications:
+ *     10-Feb-2005 BJD  Added camera from guillaume.gourat@nexvision.tv
  *     29-Aug-2004 BJD  Added timers 0 through 3
  *     29-Aug-2004 BJD  Changed index of devices we only have one of to -1
  *     21-Aug-2004 BJD  Added IRQ_TICK to RTC resources
@@ -446,3 +447,38 @@
 };
 
 EXPORT_SYMBOL(s3c_device_timer3);
+
+#ifdef CONFIG_CPU_S3C2440
+
+/* Camif Controller */
+
+static struct resource s3c_camif_resource[] = {
+	[0] = {
+		.start = S3C2440_PA_CAMIF,
+		.end   = S3C2440_PA_CAMIF + S3C2440_SZ_CAMIF,
+		.flags = IORESOURCE_MEM,
+	},
+	[1] = {
+		.start = IRQ_CAM,
+		.end   = IRQ_CAM,
+		.flags = IORESOURCE_IRQ,
+	}
+
+};
+
+static u64 s3c_device_camif_dmamask = 0xffffffffUL;
+
+struct platform_device s3c_device_camif = {
+	.name		  = "s3c2440-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);
+
+#endif // CONFIG_CPU_S32440
diff -urN -X ../dontdiff linux-2.6.11-rc3-bk7/arch/arm/mach-s3c2410/devs.h linux-2.6.11-rc3-bk7-bjd1/arch/arm/mach-s3c2410/devs.h
--- linux-2.6.11-rc3-bk7/arch/arm/mach-s3c2410/devs.h	2004-10-18 22:53:07.000000000 +0100
+++ linux-2.6.11-rc3-bk7-bjd1/arch/arm/mach-s3c2410/devs.h	2005-02-10 17:40:27.000000000 +0000
@@ -12,7 +12,11 @@
  * Modifications:
  *      18-Aug-2004 BJD  Created initial version
  *	27-Aug-2004 BJD  Added timers 0 through 3
+ *	10-Feb-2005 BJD	 Added camera from guillaume.gourat@nexvision.tv
 */
+#include <linux/config.h>
+
+extern struct platform_device *s3c24xx_uart_devs[];
 
 extern struct platform_device s3c_device_usb;
 extern struct platform_device s3c_device_lcd;
@@ -34,3 +38,11 @@
 extern struct platform_device s3c_device_timer3;
 
 extern struct platform_device s3c_device_usbgadget;
+
+/* s3c2440 specific devices */
+
+#ifdef CONFIG_CPU_S3C2440
+
+extern struct platform_device s3c_device_camif;
+
+#endif
