aboutsummaryrefslogtreecommitdiffstats
path: root/include/video
diff options
context:
space:
mode:
authorSteve Longerbeam <slongerbeam@gmail.com>2014-08-19 13:52:40 -0400
committerPhilipp Zabel <p.zabel@pengutronix.de>2014-09-02 08:55:42 -0400
commit2ffd48f2e7ae06c3d7b2bcde9a0cb211d1a32468 (patch)
tree7969a203b7fa3c3733594aee34795b2a43e7bb16 /include/video
parentc2d670fd3b16304124162bef99313eaa289f2bc3 (diff)
gpu: ipu-v3: Add Camera Sensor Interface unit
Adds the Camera Sensor Interface (CSI) unit required for video capture. Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com> Removed the unused clk_get_rate in ipu_csi_init_interface and the ipu_csi_ccir_err_detection_enable/disable functions. Checkpatch cleanup. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'include/video')
-rw-r--r--include/video/imx-ipu-v3.h32
1 files changed, 30 insertions, 2 deletions
diff --git a/include/video/imx-ipu-v3.h b/include/video/imx-ipu-v3.h
index f80fe13b0d4d..6d254275192b 100644
--- a/include/video/imx-ipu-v3.h
+++ b/include/video/imx-ipu-v3.h
@@ -16,6 +16,7 @@
16#include <linux/videodev2.h> 16#include <linux/videodev2.h>
17#include <linux/bitmap.h> 17#include <linux/bitmap.h>
18#include <linux/fb.h> 18#include <linux/fb.h>
19#include <media/v4l2-mediabus.h>
19 20
20struct ipu_soc; 21struct ipu_soc;
21 22
@@ -61,6 +62,15 @@ struct ipu_di_signal_cfg {
61 u8 vsync_pin; 62 u8 vsync_pin;
62}; 63};
63 64
65/*
66 * Enumeration of CSI destinations
67 */
68enum ipu_csi_dest {
69 IPU_CSI_DEST_IDMAC, /* to memory via SMFC */
70 IPU_CSI_DEST_IC, /* to Image Converter */
71 IPU_CSI_DEST_VDIC, /* to VDIC */
72};
73
64enum ipu_color_space { 74enum ipu_color_space {
65 IPUV3_COLORSPACE_RGB, 75 IPUV3_COLORSPACE_RGB,
66 IPUV3_COLORSPACE_YUV, 76 IPUV3_COLORSPACE_YUV,
@@ -211,8 +221,26 @@ int ipu_dp_set_global_alpha(struct ipu_dp *dp, bool enable, u8 alpha,
211/* 221/*
212 * IPU CMOS Sensor Interface (csi) functions 222 * IPU CMOS Sensor Interface (csi) functions
213 */ 223 */
214int ipu_csi_enable(struct ipu_soc *ipu, int csi); 224struct ipu_csi;
215int ipu_csi_disable(struct ipu_soc *ipu, int csi); 225int ipu_csi_init_interface(struct ipu_csi *csi,
226 struct v4l2_mbus_config *mbus_cfg,
227 struct v4l2_mbus_framefmt *mbus_fmt);
228bool ipu_csi_is_interlaced(struct ipu_csi *csi);
229void ipu_csi_get_window(struct ipu_csi *csi, struct v4l2_rect *w);
230void ipu_csi_set_window(struct ipu_csi *csi, struct v4l2_rect *w);
231void ipu_csi_set_test_generator(struct ipu_csi *csi, bool active,
232 u32 r_value, u32 g_value, u32 b_value,
233 u32 pix_clk);
234int ipu_csi_set_mipi_datatype(struct ipu_csi *csi, u32 vc,
235 struct v4l2_mbus_framefmt *mbus_fmt);
236int ipu_csi_set_skip_smfc(struct ipu_csi *csi, u32 skip,
237 u32 max_ratio, u32 id);
238int ipu_csi_set_dest(struct ipu_csi *csi, enum ipu_csi_dest csi_dest);
239int ipu_csi_enable(struct ipu_csi *csi);
240int ipu_csi_disable(struct ipu_csi *csi);
241struct ipu_csi *ipu_csi_get(struct ipu_soc *ipu, int id);
242void ipu_csi_put(struct ipu_csi *csi);
243void ipu_csi_dump(struct ipu_csi *csi);
216 244
217/* 245/*
218 * IPU Sensor Multiple FIFO Controller (SMFC) functions 246 * IPU Sensor Multiple FIFO Controller (SMFC) functions