aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/linux/linux-omap-psp-2.6.32/0011-board-omap3beagle-update-omap34xxcam-to-more-recent-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/linux/linux-omap-psp-2.6.32/0011-board-omap3beagle-update-omap34xxcam-to-more-recent-.patch')
-rw-r--r--recipes/linux/linux-omap-psp-2.6.32/0011-board-omap3beagle-update-omap34xxcam-to-more-recent-.patch84
1 files changed, 84 insertions, 0 deletions
diff --git a/recipes/linux/linux-omap-psp-2.6.32/0011-board-omap3beagle-update-omap34xxcam-to-more-recent-.patch b/recipes/linux/linux-omap-psp-2.6.32/0011-board-omap3beagle-update-omap34xxcam-to-more-recent-.patch
new file mode 100644
index 0000000000..d9a217e2fd
--- /dev/null
+++ b/recipes/linux/linux-omap-psp-2.6.32/0011-board-omap3beagle-update-omap34xxcam-to-more-recent-.patch
@@ -0,0 +1,84 @@
+From 726b0f76bf60f71af9a53842c028ebad62c5c2db Mon Sep 17 00:00:00 2001
+From: Koen Kooi <k-kooi@ti.com>
+Date: Thu, 11 Feb 2010 22:59:19 +0100
+Subject: [PATCH 11/45] board-omap3beagle: update omap34xxcam to more recent v4l-int-device-api
+
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 20 +++++++++++---------
+ 1 files changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 91d835a..d09a676 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -461,6 +461,7 @@ static struct isp_interface_config mt9t111_if_config = {
+ .strobe = 0x0,
+ .prestrobe = 0x0,
+ .shutter = 0x0,
++ .wait_hs_vs = 2,
+ .u.par.par_bridge = 0x1,
+ .u.par.par_clk_pol = 0x0,
+ };
+@@ -513,14 +514,13 @@ static int mt9t111_ifparm(struct v4l2_ifparm *p)
+ return 0;
+ }
+
+-#if defined(CONFIG_VIDEO_OMAP3_CAM) || defined(CONFIG_VIDEO_OMAP3_CAM_MODULE)
++#if defined(CONFIG_VIDEO_OMAP3)
+ static struct omap34xxcam_hw_config mt9t111_decoder_hwc = {
+ .dev_index = 0,
+ .dev_minor = 0,
+ .dev_type = OMAP34XXCAM_SLAVE_SENSOR,
+- .u.sensor.xclk = OMAP34XXCAM_XCLK_NONE,
+ .u.sensor.sensor_isp = 1,
+-};
++ .u.sensor.capture_mem = PAGE_ALIGN(2048*1536*2*4),};
+ #endif
+
+ /**
+@@ -530,16 +530,16 @@ static struct omap34xxcam_hw_config mt9t111_decoder_hwc = {
+ *
+ * @return result of operation - 0 is success
+ */
+-static int mt9t111_set_prv_data(void *priv)
++static int mt9t111_set_prv_data(struct v4l2_int_device *s, void *priv)
+ {
+-#if defined(CONFIG_VIDEO_OMAP3_CAM) || defined(CONFIG_VIDEO_OMAP3_CAM_MODULE)
++#if defined(CONFIG_VIDEO_OMAP3)
+ struct omap34xxcam_hw_config *hwc = priv;
+
+ if (priv == NULL)
+ return -EINVAL;
+
+ hwc->u.sensor.sensor_isp = mt9t111_decoder_hwc.u.sensor.sensor_isp;
+- hwc->u.sensor.xclk = mt9t111_decoder_hwc.u.sensor.xclk;
++ hwc->u.sensor.capture_mem = mt9t111_decoder_hwc.u.sensor.capture_mem;
+ hwc->dev_index = mt9t111_decoder_hwc.dev_index;
+ hwc->dev_minor = mt9t111_decoder_hwc.dev_minor;
+ hwc->dev_type = mt9t111_decoder_hwc.dev_type;
+@@ -556,8 +556,10 @@ static int mt9t111_set_prv_data(void *priv)
+ *
+ * @return result of operation - 0 is success
+ */
+-static int mt9t111_power_set(enum v4l2_power power)
++static int mt9t111_power_set(struct v4l2_int_device *s, enum v4l2_power power)
+ {
++ struct omap34xxcam_videodev *vdev = s->u.slave->master->priv;
++
+ switch (power) {
+ case V4L2_POWER_OFF:
+ /* Disable mux for TVP5146 decoder data path */
+@@ -573,8 +575,8 @@ static int mt9t111_power_set(enum v4l2_power power)
+ // if (omap3evmdc_set_mux(MUX_CAMERA_SENSOR, ENABLE_MUX))
+ // return -ENODEV;
+
+-#if defined(CONFIG_VIDEO_OMAP3_CAM) || defined(CONFIG_VIDEO_OMAP3_CAM_MODULE)
+- isp_configure_interface(&mt9t111_if_config);
++#if defined(CONFIG_VIDEO_OMAP3)
++ isp_configure_interface(vdev->cam->isp, &mt9t111_if_config);
+ #endif
+ break;
+
+--
+1.6.6.1
+