aboutsummaryrefslogtreecommitdiffstats
path: root/include/media
diff options
context:
space:
mode:
authorKassey Li <ygli@marvell.com>2011-04-07 14:01:29 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-05-20 12:00:41 -0300
commitee1b6f4bf3aa827b0daf65d7441e75212604b1c9 (patch)
tree3c22262d97e71391e71c7a464affbcd10835b8de /include/media
parent64149deb6a9ec35cc8a3ac3e7b5bc19d4a79ff44 (diff)
downloadkernel_samsung_smdk4412-ee1b6f4bf3aa827b0daf65d7441e75212604b1c9.zip
kernel_samsung_smdk4412-ee1b6f4bf3aa827b0daf65d7441e75212604b1c9.tar.gz
kernel_samsung_smdk4412-ee1b6f4bf3aa827b0daf65d7441e75212604b1c9.tar.bz2
[media] V4L: soc-camera: add MIPI bus flags
Signed-off-by: Kassey Lee <ygli@marvell.com> Signed-off-by: Qing Xu <qingx@marvell.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r--include/media/soc_camera.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h
index 844cd09..238bd33 100644
--- a/include/media/soc_camera.h
+++ b/include/media/soc_camera.h
@@ -109,6 +109,12 @@ struct soc_camera_host_ops {
#define SOCAM_SENSOR_INVERT_HSYNC (1 << 2)
#define SOCAM_SENSOR_INVERT_VSYNC (1 << 3)
#define SOCAM_SENSOR_INVERT_DATA (1 << 4)
+#define SOCAM_MIPI_1LANE (1 << 5)
+#define SOCAM_MIPI_2LANE (1 << 6)
+#define SOCAM_MIPI_3LANE (1 << 7)
+#define SOCAM_MIPI_4LANE (1 << 8)
+#define SOCAM_MIPI (SOCAM_MIPI_1LANE | SOCAM_MIPI_2LANE | \
+ SOCAM_MIPI_3LANE | SOCAM_MIPI_4LANE)
struct i2c_board_info;
struct regulator_bulk_data;
@@ -273,6 +279,7 @@ static inline unsigned long soc_camera_bus_param_compatible(
unsigned long camera_flags, unsigned long bus_flags)
{
unsigned long common_flags, hsync, vsync, pclk, data, buswidth, mode;
+ unsigned long mipi;
common_flags = camera_flags & bus_flags;
@@ -282,8 +289,9 @@ static inline unsigned long soc_camera_bus_param_compatible(
data = common_flags & (SOCAM_DATA_ACTIVE_HIGH | SOCAM_DATA_ACTIVE_LOW);
mode = common_flags & (SOCAM_MASTER | SOCAM_SLAVE);
buswidth = common_flags & SOCAM_DATAWIDTH_MASK;
+ mipi = common_flags & SOCAM_MIPI;
- return (!hsync || !vsync || !pclk || !data || !mode || !buswidth) ? 0 :
+ return ((!hsync || !vsync || !pclk || !data || !mode || !buswidth) && !mipi) ? 0 :
common_flags;
}