summaryrefslogtreecommitdiffstats
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 @@
1From 739ec82561686ad0c5cc8befef3bcd74339d205e Mon Sep 17 00:00:00 2001
2From: Koen Kooi <k-kooi@ti.com>
3Date: Thu, 11 Feb 2010 21:34:00 +0100
4Subject: [PATCH 15/45] ISP: add some more from Leopard imaging patch
5
6---
7 drivers/media/video/isp/isppreview.c | 16 ++++++++-
8 include/media/v4l2-int-device.h | 58 ++++++++++++++++++++++++++++++++++
9 2 files changed, 72 insertions(+), 2 deletions(-)
10
11diff --git a/drivers/media/video/isp/isppreview.c b/drivers/media/video/isp/isppreview.c
12index 5494efc..85ee25d 100644
13--- a/drivers/media/video/isp/isppreview.c
14+++ b/drivers/media/video/isp/isppreview.c
15@@ -79,13 +79,26 @@ static struct ispprev_rgbtorgb flr_rgb2rgb = {
16 {0x0000, 0x0000, 0x0000}
17 };
18
19+static struct ispprev_rgbtorgb unity_rgb2rgb = {
20+ { /* RGB-RGB Matrix */
21+ {0x0100, 0x0000, 0x0000},
22+ {0x0000, 0x0100, 0x0000},
23+ {0x0000, 0x0000, 0x0100}
24+ }, /* RGB Offset */
25+ {0x0000, 0x0000, 0x0000}
26+};
27+
28 /* Default values in Office Flourescent Light for RGB to YUV Conversion*/
29 static struct ispprev_csc flr_prev_csc[] = {
30 {
31 { /* CSC Coef Matrix */
32- {66, 129, 25},
33+/* {66, 129, 25},
34 {-38, -75, 112},
35 {112, -94 , -18}
36+*/
37+ {0x04C, 0x098, 0x01C},
38+ {0x3D4, 0x3AC, 0x080},
39+ {0x080, 0x39E, 0x3EC}
40 }, /* CSC Offset */
41 {0x0, 0x0, 0x0}
42 },
43@@ -107,7 +120,6 @@ static struct ispprev_csc flr_prev_csc[] = {
44 }
45 };
46
47-
48 /* Default values in Office Flourescent Light for CFA Gradient*/
49 #define FLR_CFA_GRADTHRS_HORZ 0x28
50 #define FLR_CFA_GRADTHRS_VERT 0x28
51diff --git a/include/media/v4l2-int-device.h b/include/media/v4l2-int-device.h
52index ed32d3f..ce415ec 100644
53--- a/include/media/v4l2-int-device.h
54+++ b/include/media/v4l2-int-device.h
55@@ -113,6 +113,8 @@ enum v4l2_if_type {
56 * on certain image sensors.
57 */
58 V4L2_IF_TYPE_BT656,
59+ V4L2_IF_TYPE_YCbCr,
60+ V4L2_IF_TYPE_RAW,
61 };
62
63 enum v4l2_if_type_bt656_mode {
64@@ -159,10 +161,66 @@ struct v4l2_if_type_bt656 {
65 u32 clock_curr;
66 };
67
68+struct v4l2_if_type_ycbcr {
69+ /*
70+ * 0: Frame begins when vsync is high.
71+ * 1: Frame begins when vsync changes from low to high.
72+ */
73+ unsigned frame_start_on_rising_vs:1;
74+ /* Use Bt synchronisation codes for sync correction. */
75+ unsigned bt_sync_correct:1;
76+ /* Swap every two adjacent image data elements. */
77+ unsigned swap:1;
78+ /* Inverted latch clock polarity from slave. */
79+ unsigned latch_clk_inv:1;
80+ /* Hs polarity. 0 is active high, 1 active low. */
81+ unsigned nobt_hs_inv:1;
82+ /* Vs polarity. 0 is active high, 1 active low. */
83+ unsigned nobt_vs_inv:1;
84+ /* Minimum accepted bus clock for slave (in Hz). */
85+ u32 clock_min;
86+ /* Maximum accepted bus clock for slave. */
87+ u32 clock_max;
88+ /*
89+ * Current wish of the slave. May only change in response to
90+ * ioctls that affect image capture.
91+ */
92+ u32 clock_curr;
93+};
94+
95+struct v4l2_if_type_raw {
96+ /*
97+ * 0: Frame begins when vsync is high.
98+ * 1: Frame begins when vsync changes from low to high.
99+ */
100+ unsigned frame_start_on_rising_vs:1;
101+ /* Use Bt synchronisation codes for sync correction. */
102+ unsigned bt_sync_correct:1;
103+ /* Swap every two adjacent image data elements. */
104+ unsigned swap:1;
105+ /* Inverted latch clock polarity from slave. */
106+ unsigned latch_clk_inv:1;
107+ /* Hs polarity. 0 is active high, 1 active low. */
108+ unsigned nobt_hs_inv:1;
109+ /* Vs polarity. 0 is active high, 1 active low. */
110+ unsigned nobt_vs_inv:1;
111+ /* Minimum accepted bus clock for slave (in Hz). */
112+ u32 clock_min;
113+ /* Maximum accepted bus clock for slave. */
114+ u32 clock_max;
115+ /*
116+ * Current wish of the slave. May only change in response to
117+ * ioctls that affect image capture.
118+ */
119+ u32 clock_curr;
120+};
121+
122 struct v4l2_ifparm {
123 enum v4l2_if_type if_type;
124 union {
125 struct v4l2_if_type_bt656 bt656;
126+ struct v4l2_if_type_ycbcr ycbcr;
127+ struct v4l2_if_type_raw raw;
128 } u;
129 };
130
131--
1321.6.6.1
133