From: Sergio Aguirre <[EMAIL PROTECTED]>

OMAP: CAM: Add CSI2 changes to Camera driver

This adds CSI2 related changes to the main OMAP34xx camera driver.

Signed-off-by: Sergio Aguirre <[EMAIL PROTECTED]>
---
 drivers/media/video/omap34xxcam.c |    4 +++-
 drivers/media/video/omap34xxcam.h |   27 +++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 1 deletion(-)

Index: omapkernel/drivers/media/video/omap34xxcam.c
===================================================================
--- omapkernel.orig/drivers/media/video/omap34xxcam.c   2008-10-14 
18:51:51.000000000 -0500
+++ omapkernel/drivers/media/video/omap34xxcam.c        2008-10-14 
18:52:19.000000000 -0500
@@ -37,6 +37,7 @@
 #include "omap34xxcam.h"
 #include "isp/isph3a.h"
 #include "isp/isp_af.h"
+#include "isp/ispcsi2.h"
 
 #define OMAP34XXCAM_VERSION KERNEL_VERSION(0, 0, 0)
 
@@ -478,7 +479,8 @@
                 best_pix_in->width, best_pix_in->height,
                 best_pix_out.width, best_pix_out.height);
 
-       return isp_try_fmt_cap(best_pix_in, wanted_pix_out); }
+       return isp_try_fmt_cap(best_pix_in, wanted_pix_out);
+}
 
 static int s_pix_parm(struct omap34xxcam_videodev *vdev,
                      struct v4l2_pix_format *best_pix,
Index: omapkernel/drivers/media/video/omap34xxcam.h
===================================================================
--- omapkernel.orig/drivers/media/video/omap34xxcam.h   2008-10-14 
18:48:38.000000000 -0500
+++ omapkernel/drivers/media/video/omap34xxcam.h        2008-10-14 
18:52:19.000000000 -0500
@@ -45,6 +45,29 @@
 struct omap34xxcam_device;
 struct omap34xxcam_videodev;
 
+struct omap34xxcam_hw_csi2_lanes_data {
+       unsigned polarity:1;
+       unsigned position:3;
+};
+
+struct omap34xxcam_hw_csi2_lanes {
+       struct omap34xxcam_hw_csi2_lanes_data data[4];
+       struct omap34xxcam_hw_csi2_lanes_data clock;
+};
+
+struct omap34xxcam_hw_csi2_phy {
+       u8 ths_term;
+       u8 ths_settle;
+       u8 tclk_term;
+       unsigned tclk_miss:1;
+       u8 tclk_settle;
+};
+
+struct omap34xxcam_hw_csi2 {
+       struct omap34xxcam_hw_csi2_lanes lanes;
+       struct omap34xxcam_hw_csi2_phy phy;
+};
+
 struct omap34xxcam_sensor_config {
        int xclk;
        int sensor_isp;
@@ -68,11 +91,15 @@
        int dev_index; /* Index in omap34xxcam_sensors */
        int dev_minor; /* Video device minor number */
        int dev_type; /* OMAP34XXCAM_SLAVE_* */
+       int interface_type; /* Interface type */
        union {
                struct omap34xxcam_sensor_config sensor;
                struct omap34xxcam_lens_config lens;
                struct omap34xxcam_flash_config flash;
        } u;
+       union {
+               struct omap34xxcam_hw_csi2 hw_csi2;
+       } csi2;
 };
 
 /**
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to