.resource       = cam_resources,
 };
 
+static inline void omap_init_camera(void)
+{
+       platform_device_register(&omap_cam_device);
+}
+
+#elif defined(CONFIG_VIDEO_OMAP3) || defined(CONFIG_VIDEO_OMAP3_MODULE)
+
+static struct resource cam_resources[] = {
+       {
+               .start          = OMAP34XX_CAMERA_BASE,
+               .end            = OMAP34XX_CAMERA_BASE + 0x1B70,
+               .flags          = IORESOURCE_MEM,
+       },
+       {
+               .start          = INT_34XX_CAM_IRQ,
+               .flags          = IORESOURCE_IRQ,
+       }
+};
+
+static struct platform_device omap_cam_device = {
+       .name           = "omap34xxcam",
+       .id             = -1,
+       .num_resources  = ARRAY_SIZE(cam_resources),
+       .resource       = cam_resources,
+};
+
 static inline void omap_init_camera(void)
 {
        platform_device_register(&omap_cam_device);
 
 #define OMAP2_CM_BASE                  OMAP3430_CM_BASE
 #define OMAP2_PRM_BASE                 OMAP3430_PRM_BASE
 #define OMAP2_VA_IC_BASE               IO_ADDRESS(OMAP34XX_IC_BASE)
+#define OMAP34XX_CAMERA_BASE           (L4_34XX_BASE + 0xBC000)
 
 #endif