summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRaman Tunik <r.tunik@sam-solutions.net>2013-03-27 10:09:47 -0500
committerJustin Waters <justin.waters@timesys.com>2013-11-07 12:19:26 -0500
commit0cb87312dbd2feb29e09e8dd0492bf7447f3aae3 (patch)
tree00ca18e5f9159e05d8f34e86660abbbf344f4847 /include
parent2bfd86efd767ff59a694864f78766cf9ed9268ef (diff)
Added mt9p031 camera sensor support
Signed-off-by: Christian Hemp <c.hemp@phytec.de>
Diffstat (limited to 'include')
-rw-r--r--include/media/mt9p031.h19
-rw-r--r--include/media/soc_camera.h15
-rw-r--r--include/media/v4l2-chip-ident.h1
3 files changed, 28 insertions, 7 deletions
diff --git a/include/media/mt9p031.h b/include/media/mt9p031.h
new file mode 100644
index 000000000000..12ead5e54238
--- /dev/null
+++ b/include/media/mt9p031.h
@@ -0,0 +1,19 @@
+#ifndef _MEDIA_MT9P031_H
+#define _MEDIA_MT9P031_H
+
+struct v4l2_subdev;
+
+enum {
+ MT9P031_COLOR_VERSION,
+ MT9P031_MONOCHROME_VERSION,
+};
+
+struct mt9p031_platform_data {
+ int (*set_clock)(struct v4l2_subdev *subdev, unsigned int rate);
+ int (*reset)(struct v4l2_subdev *subdev, int active);
+ u32 ext_freq; /* input frequency to the mt9p031 for PLL dividers */
+ u32 target_freq; /* frequency target for the PLL */
+ int version; /* MT9P031_COLOR_VERSION or MT9P031_MONOCHROME_VERSION */
+};
+
+#endif
diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h
index 238bd334fd83..68520c6611eb 100644
--- a/include/media/soc_camera.h
+++ b/include/media/soc_camera.h
@@ -264,16 +264,17 @@ static inline struct v4l2_queryctrl const *soc_camera_find_qctrl(
#define SOCAM_DATAWIDTH_8 (1 << 7)
#define SOCAM_DATAWIDTH_9 (1 << 8)
#define SOCAM_DATAWIDTH_10 (1 << 9)
-#define SOCAM_DATAWIDTH_15 (1 << 10)
-#define SOCAM_DATAWIDTH_16 (1 << 11)
-#define SOCAM_PCLK_SAMPLE_RISING (1 << 12)
-#define SOCAM_PCLK_SAMPLE_FALLING (1 << 13)
-#define SOCAM_DATA_ACTIVE_HIGH (1 << 14)
-#define SOCAM_DATA_ACTIVE_LOW (1 << 15)
+#define SOCAM_DATAWIDTH_12 (1 << 10)
+#define SOCAM_DATAWIDTH_15 (1 << 11)
+#define SOCAM_DATAWIDTH_16 (1 << 12)
+#define SOCAM_PCLK_SAMPLE_RISING (1 << 13)
+#define SOCAM_PCLK_SAMPLE_FALLING (1 << 14)
+#define SOCAM_DATA_ACTIVE_HIGH (1 << 15)
+#define SOCAM_DATA_ACTIVE_LOW (1 << 16)
#define SOCAM_DATAWIDTH_MASK (SOCAM_DATAWIDTH_4 | SOCAM_DATAWIDTH_8 | \
SOCAM_DATAWIDTH_9 | SOCAM_DATAWIDTH_10 | \
- SOCAM_DATAWIDTH_15 | SOCAM_DATAWIDTH_16)
+ SOCAM_DATAWIDTH_12 | SOCAM_DATAWIDTH_15 | SOCAM_DATAWIDTH_16)
static inline unsigned long soc_camera_bus_param_compatible(
unsigned long camera_flags, unsigned long bus_flags)
diff --git a/include/media/v4l2-chip-ident.h b/include/media/v4l2-chip-ident.h
index 4c3a89cbb491..f0f0d5b8ea37 100644
--- a/include/media/v4l2-chip-ident.h
+++ b/include/media/v4l2-chip-ident.h
@@ -298,6 +298,7 @@ enum {
V4L2_IDENT_MT9T112 = 45022,
V4L2_IDENT_MT9V111 = 45031,
V4L2_IDENT_MT9V112 = 45032,
+ V4L2_IDENT_MT9P031 = 45033,
/* HV7131R CMOS sensor: just ident 46000 */
V4L2_IDENT_HV7131R = 46000,