/* ************************************************************************* * Rockchip driver for CIF ISP 1.0 * (Based on Intel driver for sofiaxxx) * * Copyright (C) 2015 Intel Mobile Communications GmbH * Copyright (C) 2016 Fuzhou Rockchip Electronics Co., Ltd. * * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. ************************************************************************* */ #ifndef _CIF_ISP10_IMG_SRC_H #define _CIF_ISP10_IMG_SRC_H struct cif_isp10_img_src; struct cif_isp10_strm_fmt_desc; struct cif_isp10_strm_fmt; struct cif_isp10_csi_config; enum cif_isp10_pix_fmt; struct cif_isp10_frm_intrvl; struct cif_isp10_img_src; struct pltfrm_soc_cfg; struct cif_isp10_img_src_ctrl { unsigned int id; int val; }; struct cif_isp10_img_src_ext_ctrl { int cnt; unsigned int class; struct cif_isp10_img_src_ctrl *ctrls; }; struct cif_isp10_img_src *cif_isp10_img_src_to_img_src( CIF_ISP10_PLTFRM_DEVICE dev, struct pltfrm_soc_cfg *soc_cfg); int cif_isp10_img_src_s_streaming( struct cif_isp10_img_src *img_src, bool enable); int cif_isp10_img_src_s_power( struct cif_isp10_img_src *img_src, bool on); int cif_isp10_img_src_enum_strm_fmts( struct cif_isp10_img_src *img_src, u32 index, struct cif_isp10_strm_fmt_desc *strm_fmt_desc); int cif_isp10_img_src_s_strm_fmt( struct cif_isp10_img_src *img_src, struct cif_isp10_strm_fmt *strm_fmt); int cif_isp10_img_src_g_ctrl( struct cif_isp10_img_src *img_src, int id, int *val); int cif_isp10_img_src_s_ctrl( struct cif_isp10_img_src *img_src, int id, int val); const char *cif_isp10_img_src_g_name( struct cif_isp10_img_src *img_src); int cif_isp10_img_src_s_ext_ctrls( struct cif_isp10_img_src *img_src, struct cif_isp10_img_src_ext_ctrl *ctrls); long cif_isp10_img_src_ioctl( struct cif_isp10_img_src *img_src, unsigned int cmd, void *arg); void *cif_isp10_img_src_g_img_src( struct cif_isp10_img_src *img_src); int cif_isp10_img_src_s_frame_interval( struct cif_isp10_img_src *img_src, struct cif_isp10_frm_intrvl *frm_intrvl); int cif_isp10_img_src_g_frame_interval( struct cif_isp10_img_src *img_src, struct cif_isp10_frm_intrvl *frm_intrvl); int cif_isp10_img_src_enum_frame_size( struct cif_isp10_img_src *img_src, void *fse); #endif