summaryrefslogtreecommitdiff
path: root/linux/include/media/v4l2-int-device.h
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-08-30 15:20:39 +0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-08-30 15:20:39 +0300
commit64ce3bac21d613a4a6074d7768411113f6e342dd (patch)
tree08f584ebcacd725a04eb298e7c99d500e35e4958 /linux/include/media/v4l2-int-device.h
parent321bf23a60b8284799d4c482c2ecc461cacd7235 (diff)
downloadmediapointer-dvb-s2-64ce3bac21d613a4a6074d7768411113f6e342dd.tar.gz
mediapointer-dvb-s2-64ce3bac21d613a4a6074d7768411113f6e342dd.tar.bz2
V4L: Int if: Add BT.656 interface support.
From: Sakari Ailus <sakari.ailus@nokia.com> This patch adds BT.656 interface settings for [gs]_ifparm. Signed-off-by: Sakari Ailus <sakari.ailus@nokia.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/include/media/v4l2-int-device.h')
-rw-r--r--linux/include/media/v4l2-int-device.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/linux/include/media/v4l2-int-device.h b/linux/include/media/v4l2-int-device.h
index 861978deb..4e07707bd 100644
--- a/linux/include/media/v4l2-int-device.h
+++ b/linux/include/media/v4l2-int-device.h
@@ -99,11 +99,61 @@ int v4l2_int_ioctl_1(struct v4l2_int_device *d, int cmd, void *arg);
/* Slave interface type. */
enum v4l2_if_type {
+ /*
+ * Parallel 8-, 10- or 12-bit interface, used by for example
+ * on certain image sensors.
+ */
+ V4L2_IF_TYPE_BT656,
+};
+
+enum v4l2_if_type_bt656_mode {
+ /*
+ * Modes without Bt synchronisation codes. Separate
+ * synchronisation signal lines are used.
+ */
+ V4L2_IF_TYPE_BT656_MODE_NOBT_8BIT,
+ V4L2_IF_TYPE_BT656_MODE_NOBT_10BIT,
+ V4L2_IF_TYPE_BT656_MODE_NOBT_12BIT,
+ /*
+ * Use Bt synchronisation codes. The vertical and horizontal
+ * synchronisation is done based on synchronisation codes.
+ */
+ V4L2_IF_TYPE_BT656_MODE_BT_8BIT,
+ V4L2_IF_TYPE_BT656_MODE_BT_10BIT,
+};
+
+struct v4l2_if_type_bt656 {
+ /*
+ * 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;
+ enum v4l2_if_type_bt656_mode mode;
+ /* 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;
} u;
};