diff options
| author | Steve Longerbeam <slongerbeam@gmail.com> | 2014-08-19 13:52:40 -0400 |
|---|---|---|
| committer | Philipp Zabel <p.zabel@pengutronix.de> | 2014-09-02 08:55:42 -0400 |
| commit | 2ffd48f2e7ae06c3d7b2bcde9a0cb211d1a32468 (patch) | |
| tree | 7969a203b7fa3c3733594aee34795b2a43e7bb16 /include/video | |
| parent | c2d670fd3b16304124162bef99313eaa289f2bc3 (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.h | 32 |
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 | ||
| 20 | struct ipu_soc; | 21 | struct 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 | */ | ||
| 68 | enum 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 | |||
| 64 | enum ipu_color_space { | 74 | enum 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 | */ |
| 214 | int ipu_csi_enable(struct ipu_soc *ipu, int csi); | 224 | struct ipu_csi; |
| 215 | int ipu_csi_disable(struct ipu_soc *ipu, int csi); | 225 | int ipu_csi_init_interface(struct ipu_csi *csi, |
| 226 | struct v4l2_mbus_config *mbus_cfg, | ||
| 227 | struct v4l2_mbus_framefmt *mbus_fmt); | ||
| 228 | bool ipu_csi_is_interlaced(struct ipu_csi *csi); | ||
| 229 | void ipu_csi_get_window(struct ipu_csi *csi, struct v4l2_rect *w); | ||
| 230 | void ipu_csi_set_window(struct ipu_csi *csi, struct v4l2_rect *w); | ||
| 231 | void 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); | ||
| 234 | int ipu_csi_set_mipi_datatype(struct ipu_csi *csi, u32 vc, | ||
| 235 | struct v4l2_mbus_framefmt *mbus_fmt); | ||
| 236 | int ipu_csi_set_skip_smfc(struct ipu_csi *csi, u32 skip, | ||
| 237 | u32 max_ratio, u32 id); | ||
| 238 | int ipu_csi_set_dest(struct ipu_csi *csi, enum ipu_csi_dest csi_dest); | ||
| 239 | int ipu_csi_enable(struct ipu_csi *csi); | ||
| 240 | int ipu_csi_disable(struct ipu_csi *csi); | ||
| 241 | struct ipu_csi *ipu_csi_get(struct ipu_soc *ipu, int id); | ||
| 242 | void ipu_csi_put(struct ipu_csi *csi); | ||
| 243 | void 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 |
