aboutsummaryrefslogtreecommitdiffstats
path: root/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0015-ISP-add-some-more-from-Leopard-imaging-patch.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0015-ISP-add-some-more-from-Leopard-imaging-patch.patch')
-rw-r--r--extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0015-ISP-add-some-more-from-Leopard-imaging-patch.patch133
1 files changed, 133 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0015-ISP-add-some-more-from-Leopard-imaging-patch.patch b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0015-ISP-add-some-more-from-Leopard-imaging-patch.patch
new file mode 100644
index 00000000..f8030bbd
--- /dev/null
+++ b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0015-ISP-add-some-more-from-Leopard-imaging-patch.patch
@@ -0,0 +1,133 @@
+From 739ec82561686ad0c5cc8befef3bcd74339d205e Mon Sep 17 00:00:00 2001
+From: Koen Kooi <k-kooi@ti.com>
+Date: Thu, 11 Feb 2010 21:34:00 +0100
+Subject: [PATCH 15/45] ISP: add some more from Leopard imaging patch
+
+---
+ drivers/media/video/isp/isppreview.c | 16 ++++++++-
+ include/media/v4l2-int-device.h | 58 ++++++++++++++++++++++++++++++++++
+ 2 files changed, 72 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/media/video/isp/isppreview.c b/drivers/media/video/isp/isppreview.c
+index 5494efc..85ee25d 100644
+--- a/drivers/media/video/isp/isppreview.c
++++ b/drivers/media/video/isp/isppreview.c
+@@ -79,13 +79,26 @@ static struct ispprev_rgbtorgb flr_rgb2rgb = {
+ {0x0000, 0x0000, 0x0000}
+ };
+
++static struct ispprev_rgbtorgb unity_rgb2rgb = {
++ { /* RGB-RGB Matrix */
++ {0x0100, 0x0000, 0x0000},
++ {0x0000, 0x0100, 0x0000},
++ {0x0000, 0x0000, 0x0100}
++ }, /* RGB Offset */
++ {0x0000, 0x0000, 0x0000}
++};
++
+ /* Default values in Office Flourescent Light for RGB to YUV Conversion*/
+ static struct ispprev_csc flr_prev_csc[] = {
+ {
+ { /* CSC Coef Matrix */
+- {66, 129, 25},
++/* {66, 129, 25},
+ {-38, -75, 112},
+ {112, -94 , -18}
++*/
++ {0x04C, 0x098, 0x01C},
++ {0x3D4, 0x3AC, 0x080},
++ {0x080, 0x39E, 0x3EC}
+ }, /* CSC Offset */
+ {0x0, 0x0, 0x0}
+ },
+@@ -107,7 +120,6 @@ static struct ispprev_csc flr_prev_csc[] = {
+ }
+ };
+
+-
+ /* Default values in Office Flourescent Light for CFA Gradient*/
+ #define FLR_CFA_GRADTHRS_HORZ 0x28
+ #define FLR_CFA_GRADTHRS_VERT 0x28
+diff --git a/include/media/v4l2-int-device.h b/include/media/v4l2-int-device.h
+index ed32d3f..ce415ec 100644
+--- a/include/media/v4l2-int-device.h
++++ b/include/media/v4l2-int-device.h
+@@ -113,6 +113,8 @@ enum v4l2_if_type {
+ * on certain image sensors.
+ */
+ V4L2_IF_TYPE_BT656,
++ V4L2_IF_TYPE_YCbCr,
++ V4L2_IF_TYPE_RAW,
+ };
+
+ enum v4l2_if_type_bt656_mode {
+@@ -159,10 +161,66 @@ struct v4l2_if_type_bt656 {
+ u32 clock_curr;
+ };
+
++struct v4l2_if_type_ycbcr {
++ /*
++ * 0: Frame begins when vsync is high.
++ * 1: Frame begins when vsync changes from low to high.
++ */
++ unsigned frame_start_on_rising_vs:1;
++ /* Use Bt synchronisation codes for sync correction. */
++ unsigned bt_sync_correct:1;
++ /* Swap every two adjacent image data elements. */
++ unsigned swap:1;
++ /* Inverted latch clock polarity from slave. */
++ unsigned latch_clk_inv:1;
++ /* Hs polarity. 0 is active high, 1 active low. */
++ unsigned nobt_hs_inv:1;
++ /* Vs polarity. 0 is active high, 1 active low. */
++ unsigned nobt_vs_inv:1;
++ /* Minimum accepted bus clock for slave (in Hz). */
++ u32 clock_min;
++ /* Maximum accepted bus clock for slave. */
++ u32 clock_max;
++ /*
++ * Current wish of the slave. May only change in response to
++ * ioctls that affect image capture.
++ */
++ u32 clock_curr;
++};
++
++struct v4l2_if_type_raw {
++ /*
++ * 0: Frame begins when vsync is high.
++ * 1: Frame begins when vsync changes from low to high.
++ */
++ unsigned frame_start_on_rising_vs:1;
++ /* Use Bt synchronisation codes for sync correction. */
++ unsigned bt_sync_correct:1;
++ /* Swap every two adjacent image data elements. */
++ unsigned swap:1;
++ /* Inverted latch clock polarity from slave. */
++ unsigned latch_clk_inv:1;
++ /* Hs polarity. 0 is active high, 1 active low. */
++ unsigned nobt_hs_inv:1;
++ /* Vs polarity. 0 is active high, 1 active low. */
++ unsigned nobt_vs_inv:1;
++ /* Minimum accepted bus clock for slave (in Hz). */
++ u32 clock_min;
++ /* Maximum accepted bus clock for slave. */
++ u32 clock_max;
++ /*
++ * Current wish of the slave. May only change in response to
++ * ioctls that affect image capture.
++ */
++ u32 clock_curr;
++};
++
+ struct v4l2_ifparm {
+ enum v4l2_if_type if_type;
+ union {
+ struct v4l2_if_type_bt656 bt656;
++ struct v4l2_if_type_ycbcr ycbcr;
++ struct v4l2_if_type_raw raw;
+ } u;
+ };
+
+--
+1.6.6.1
+