msmb_isp.h revision 19909838ad2d0452db0e96acdf0e1c2d522a6512
13c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/****************************************************************************
23c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ****************************************************************************
33c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***
43c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***   This header was automatically generated from a Linux kernel header
53c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***   of the same name, to make information necessary for userspace to
63c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***   call into the kernel available to libc.  It contains only constants,
73c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***   structures, and macros generated from the original header, and thus,
83c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***   contains no copyrightable information.
93c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***
103c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***   To edit the content of this header, modify the corresponding
113c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***   source file (e.g. under external/kernel-headers/original/) then
123c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***   run bionic/libc/kernel/tools/update_all.py
133c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***
143c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***   Any manual change here will be lost the next time this script will
153c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***   be run. You've been warned!
163c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ***
173c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ****************************************************************************
183c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ****************************************************************************/
193c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#ifndef __MSMB_ISP__
203c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define __MSMB_ISP__
213c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#include <linux/videodev2.h>
223c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define MAX_PLANES_PER_STREAM 3
233c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
243c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define MAX_NUM_STREAM 7
253c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_VERSION_46 46
263c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_VERSION_44 44
273c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_VERSION_40 40
283c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
293c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_VERSION_32 32
303c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_NATIVE_BUF_BIT (0x10000 << 0)
313c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP0_BIT (0x10000 << 1)
323c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP1_BIT (0x10000 << 2)
333c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
343c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_META_CHANNEL_BIT (0x10000 << 3)
353c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_SCRATCH_BUF_BIT (0x10000 << 4)
363c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_STATS_STREAM_BIT 0x80000000
373c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_cfg_cmd_list;
383c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
393c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum ISP_START_PIXEL_PATTERN {
403c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_BAYER_RGRGRG,
413c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_BAYER_GRGRGR,
423c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_BAYER_BGBGBG,
433c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
443c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_BAYER_GBGBGB,
453c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_YUV_YCbYCr,
463c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_YUV_YCrYCb,
473c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_YUV_CbYCrY,
483c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
493c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_YUV_CrYCbY,
503c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_PIX_PATTERN_MAX
513c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
523c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_plane_fmt {
533c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
543c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang Y_PLANE,
553c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CB_PLANE,
563c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CR_PLANE,
573c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CRCB_PLANE,
583c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
593c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CBCR_PLANE,
603c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_PLANE_FMT_MAX
613c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
623c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_input_src {
633c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
643c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_PIX_0,
653c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_RAW_0,
663c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_RAW_1,
673c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_RAW_2,
683c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
693c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_SRC_MAX,
703c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
713c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_axi_stream_src {
723c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang PIX_ENCODER,
733c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
743c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang PIX_VIEWFINDER,
753c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang PIX_VIDEO,
763c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CAMIF_RAW,
773c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang IDEAL_RAW,
783c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
793c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang RDI_INTF_0,
803c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang RDI_INTF_1,
813c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang RDI_INTF_2,
823c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_AXI_SRC_MAX
833c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
843c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
853c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_frame_skip_pattern {
863c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang NO_SKIP,
873c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_2FRAME,
883c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
893c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_3FRAME,
903c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_4FRAME,
913c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_5FRAME,
923c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_6FRAME,
933c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
943c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_7FRAME,
953c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_8FRAME,
963c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_16FRAME,
973c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_32FRAME,
983c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
993c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang SKIP_ALL,
1003c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MAX_SKIP,
1013c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
1023c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_camif_input {
1033c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1043c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CAMIF_DISABLED,
1053c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CAMIF_PAD_REG_INPUT,
1063c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CAMIF_MIDDI_INPUT,
1073c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CAMIF_MIPI_INPUT,
1083c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1093c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
1103c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_camif_cfg {
1113c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t lines_per_frame;
1123c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t pixels_per_line;
1133c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1143c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t first_pixel;
1153c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t last_pixel;
1163c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t first_line;
1173c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t last_line;
1183c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1193c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t epoch_line0;
1203c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t epoch_line1;
1213c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_camif_input camif_input;
1223c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
1233c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1243c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_inputmux {
1253c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CAMIF,
1263c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang TESTGEN,
1273c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EXTERNAL_READ,
1283c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1293c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
1303c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_stats_composite_group {
1313c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang STATS_COMPOSITE_GRP_NONE,
1323c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang STATS_COMPOSITE_GRP_1,
1333c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1343c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang STATS_COMPOSITE_GRP_2,
1353c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang STATS_COMPOSITE_GRP_MAX,
1363c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
1373c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_pix_cfg {
1383c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1393c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_camif_cfg camif_cfg;
1403c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_inputmux input_mux;
1413c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum ISP_START_PIXEL_PATTERN pixel_pattern;
1423c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t input_format;
1433c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1443c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
1453c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_rdi_cfg {
1463c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t cid;
1473c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t frame_based;
1483c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1493c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
1503c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_input_cfg {
1513c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang union {
1523c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_pix_cfg pix_cfg;
1533c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1543c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_rdi_cfg rdi_cfg;
1553c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang } d;
1563c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_input_src input_src;
1573c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t input_pix_clk;
1583c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1593c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
1603c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_plane_cfg {
1613c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_width;
1623c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_height;
1633c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1643c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_stride;
1653c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_scan_lines;
1663c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_plane_format;
1673c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t plane_addr_offset;
1683c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1693c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t csid_src;
1703c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t rdi_cid;
1713c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
1723c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_stream_request_cmd {
1733c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1743c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t session_id;
1753c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_id;
1763c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t vt_enable;
1773c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_format;
1783c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1793c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_axi_stream_src stream_src;
1803c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_axi_plane_cfg plane_cfg[MAX_PLANES_PER_STREAM];
1813c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t burst_count;
1823c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t hfr_mode;
1833c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1843c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t frame_base;
1853c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t init_frame_drop;
1863c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_frame_skip_pattern frame_skip_pattern;
1873c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t buf_divert;
1883c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1893c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t axi_stream_handle;
1903c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t controllable_output;
1913c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
1923c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_stream_release_cmd {
1933c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1943c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_handle;
1953c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
1963c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_axi_stream_cmd {
1973c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang STOP_STREAM,
1983c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1993c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang START_STREAM,
2003c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang STOP_IMMEDIATELY,
2013c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
2023c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_stream_cfg_cmd {
2033c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2043c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t num_streams;
2053c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_handle[MAX_NUM_STREAM];
2063c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_axi_stream_cmd cmd;
2073c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
2083c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2093c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_axi_stream_update_type {
2103c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ENABLE_STREAM_BUF_DIVERT,
2113c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang DISABLE_STREAM_BUF_DIVERT,
2123c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang UPDATE_STREAM_FRAMEDROP_PATTERN,
2133c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2143c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang UPDATE_STREAM_AXI_CONFIG,
2153c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang UPDATE_STREAM_REQUEST_FRAMES,
21619909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang UPDATE_STREAM_ADD_BUFQ,
21719909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang UPDATE_STREAM_REMOVE_BUFQ,
21819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2193c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
2203c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_iommu_type {
2213c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang IOMMU_ATTACH,
2223c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang IOMMU_DETACH,
22319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2243c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
2253c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_stream_cfg_update_info {
2263c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_handle;
2273c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_format;
2283c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
22919909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang uint32_t user_stream_id;
23019909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang uint8_t need_divert;
23119909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang enum msm_vfe_frame_skip_pattern skip_pattern;
2323c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_axi_plane_cfg plane_cfg[MAX_PLANES_PER_STREAM];
23319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2343c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
2353c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_stream_update_cmd {
2363c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t num_streams;
2373c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_axi_stream_update_type update_type;
23819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2393c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_axi_stream_cfg_update_info update_info[MAX_NUM_STREAM];
2403c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
2413c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_smmu_attach_cmd {
2423c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t security_mode;
24319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2443c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t iommu_attach_mode;
2453c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
2463c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_isp_stats_type {
2473c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_AEC,
24819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2493c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_AF,
2503c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_AWB,
2513c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_RS,
2523c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_CS,
25319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2543c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_IHIST,
2553c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_SKIN,
2563c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_BG,
2573c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_BF,
25819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2593c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_BE,
2603c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_BHIST,
2613c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_BF_SCALE,
2623c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_HDR_BE,
26319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2643c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_HDR_BHIST,
2653c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_MAX
2663c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
2673c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_stats_stream_request_cmd {
26819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2693c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t session_id;
2703c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_id;
2713c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_isp_stats_type stats_type;
2723c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t composite_flag;
27319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2743c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t framedrop_pattern;
2753c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t irq_subsample_pattern;
2763c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t buffer_offset;
2773c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_handle;
27819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2793c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
2803c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_stats_stream_release_cmd {
2813c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_handle;
2823c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
28319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2843c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_stats_stream_cfg_cmd {
2853c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t num_streams;
2863c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_handle[MSM_ISP_STATS_MAX];
2873c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t enable;
28819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2893c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
2903c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_reg_cfg_type {
2913c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_WRITE,
2923c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_WRITE_MB,
29319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2943c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_READ,
2953c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_CFG_MASK,
2963c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_WRITE_DMI_16BIT,
2973c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_WRITE_DMI_32BIT,
29819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2993c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_WRITE_DMI_64BIT,
3003c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_READ_DMI_16BIT,
3013c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_READ_DMI_32BIT,
3023c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_READ_DMI_64BIT,
30319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3043c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang GET_MAX_CLK_RATE,
3053c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang GET_ISP_ID,
3063c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
3073c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_cfg_cmd2 {
30819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3093c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint16_t num_cfg;
3103c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint16_t cmd_len;
3113c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang void __user *cfg_data;
3123c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang void __user *cfg_cmd;
31319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3143c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
3153c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_cfg_cmd_list {
3163c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_cfg_cmd2 cfg_cmd;
3173c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_cfg_cmd_list *next;
31819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3193c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t next_size;
3203c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
3213c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_reg_rw_info {
3223c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t reg_offset;
32319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3243c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t cmd_data_offset;
3253c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t len;
3263c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
3273c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_reg_mask_info {
32819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3293c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t reg_offset;
3303c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t mask;
3313c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t val;
3323c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
33319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3343c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_reg_dmi_info {
3353c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t hi_tbl_offset;
3363c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t lo_tbl_offset;
3373c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t len;
33819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3393c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
3403c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_reg_cfg_cmd {
3413c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang union {
3423c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_reg_rw_info rw_info;
34319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3443c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_reg_mask_info mask_info;
3453c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_reg_dmi_info dmi_info;
3463c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang } u;
3473c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_reg_cfg_type cmd_type;
34819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3493c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
3503c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_isp_buf_type {
3513c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_PRIVATE_BUF,
3523c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_SHARE_BUF,
35319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3543c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MAX_ISP_BUF_TYPE,
3553c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
3563c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_buf_request {
3573c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t session_id;
35819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3593c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_id;
3603c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t num_buf;
3613c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t handle;
3623c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_isp_buf_type buf_type;
36319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3643c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
3653c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_qbuf_plane {
3663c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t addr;
3673c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t offset;
36819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3693c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
3703c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_qbuf_buffer {
3713c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_isp_qbuf_plane planes[MAX_PLANES_PER_STREAM];
3723c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t num_planes;
37319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3743c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
3753c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_qbuf_info {
3763c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t handle;
3773c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang int32_t buf_idx;
37819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3793c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_isp_qbuf_buffer buffer;
3803c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t dirty_buf;
3813c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
3823c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_src_state {
38319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3843c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_input_src input_src;
3853c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t src_active;
3863c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
3873c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_isp_event_idx {
38819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3893c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_REG_UPDATE = 0,
3903c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_START_ACK = 1,
3913c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_STOP_ACK = 2,
3923c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_IRQ_VIOLATION = 3,
39319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3943c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_WM_BUS_OVERFLOW = 4,
3953c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_STATS_OVERFLOW = 5,
3963c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_CAMIF_ERROR = 6,
3973c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_BUF_DONE = 9,
39819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3993c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_EVENT_MAX = 10
4003c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
4013c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_OFFSET 8
4023c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_BASE (V4L2_EVENT_PRIVATE_START)
40319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4043c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_BUF_EVENT_BASE (ISP_EVENT_BASE + (1 << ISP_EVENT_OFFSET))
4053c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_STATS_EVENT_BASE (ISP_EVENT_BASE + (2 << ISP_EVENT_OFFSET))
4063c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_SOF_EVENT_BASE (ISP_EVENT_BASE + (3 << ISP_EVENT_OFFSET))
4073c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EOF_EVENT_BASE (ISP_EVENT_BASE + (4 << ISP_EVENT_OFFSET))
40819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4093c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_REG_UPDATE (ISP_EVENT_BASE + ISP_REG_UPDATE)
4103c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_START_ACK (ISP_EVENT_BASE + ISP_START_ACK)
4113c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_STOP_ACK (ISP_EVENT_BASE + ISP_STOP_ACK)
4123c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_IRQ_VIOLATION (ISP_EVENT_BASE + ISP_IRQ_VIOLATION)
41319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4143c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_WM_BUS_OVERFLOW (ISP_EVENT_BASE + ISP_WM_BUS_OVERFLOW)
4153c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_STATS_OVERFLOW (ISP_EVENT_BASE + ISP_STATS_OVERFLOW)
4163c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_CAMIF_ERROR (ISP_EVENT_BASE + ISP_CAMIF_ERROR)
4173c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_SOF (ISP_SOF_EVENT_BASE)
41819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4193c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_EOF (ISP_EOF_EVENT_BASE)
4203c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_BUF_DONE (ISP_EVENT_BASE + ISP_BUF_DONE)
4213c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_BUF_DIVERT (ISP_BUF_EVENT_BASE)
4223c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_STATS_NOTIFY (ISP_STATS_EVENT_BASE)
42319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4243c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_COMP_STATS_NOTIFY (ISP_EVENT_STATS_NOTIFY + MSM_ISP_STATS_MAX)
4253c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_buf_event {
4263c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t session_id;
4273c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_id;
42819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4293c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t handle;
4303c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_format;
4313c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang int8_t buf_idx;
4323c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
43319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4343c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_stats_event {
4353c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stats_mask;
4363c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t stats_buf_idxs[MSM_ISP_STATS_MAX];
4373c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
43819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4393c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_stream_ack {
4403c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t session_id;
4413c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_id;
4423c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t handle;
44319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4443c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
4453c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_event_data {
4463c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct timeval timestamp;
4473c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct timeval mono_timestamp;
44819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4493c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_input_src input_intf;
4503c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t frame_id;
4513c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang union {
4523c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_isp_stats_event stats;
45319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4543c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_isp_buf_event buf_done;
4553c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang } u;
4563c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang};
4573c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QBGGR8 v4l2_fourcc('Q', 'B', 'G', '8')
45819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4593c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QGBRG8 v4l2_fourcc('Q', 'G', 'B', '8')
4603c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QGRBG8 v4l2_fourcc('Q', 'G', 'R', '8')
4613c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QRGGB8 v4l2_fourcc('Q', 'R', 'G', '8')
4623c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QBGGR10 v4l2_fourcc('Q', 'B', 'G', '0')
46319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4643c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QGBRG10 v4l2_fourcc('Q', 'G', 'B', '0')
4653c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QGRBG10 v4l2_fourcc('Q', 'G', 'R', '0')
4663c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QRGGB10 v4l2_fourcc('Q', 'R', 'G', '0')
4673c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QBGGR12 v4l2_fourcc('Q', 'B', 'G', '2')
46819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4693c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QGBRG12 v4l2_fourcc('Q', 'G', 'B', '2')
4703c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QGRBG12 v4l2_fourcc('Q', 'G', 'R', '2')
4713c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QRGGB12 v4l2_fourcc('Q', 'R', 'G', '2')
4723c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_NV14 v4l2_fourcc('N', 'V', '1', '4')
47319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4743c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_NV41 v4l2_fourcc('N', 'V', '4', '1')
4753c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_META v4l2_fourcc('Q', 'M', 'E', 'T')
4763c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_VFE_REG_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_vfe_cfg_cmd2)
4773c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_REQUEST_BUF   _IOWR('V', BASE_VIDIOC_PRIVATE+1, struct msm_isp_buf_request)
47819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4793c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_ENQUEUE_BUF   _IOWR('V', BASE_VIDIOC_PRIVATE+2, struct msm_isp_qbuf_info)
4803c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_RELEASE_BUF   _IOWR('V', BASE_VIDIOC_PRIVATE+3, struct msm_isp_buf_request)
4813c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_REQUEST_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+4, struct msm_vfe_axi_stream_request_cmd)
4823c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_CFG_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+5, struct msm_vfe_axi_stream_cfg_cmd)
48319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4843c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_RELEASE_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+6, struct msm_vfe_axi_stream_release_cmd)
4853c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_INPUT_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE+7, struct msm_vfe_input_cfg)
4863c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_SET_SRC_STATE   _IOWR('V', BASE_VIDIOC_PRIVATE+8, struct msm_vfe_axi_src_state)
4873c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_REQUEST_STATS_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+9,   struct msm_vfe_stats_stream_request_cmd)
48819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4893c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_CFG_STATS_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+10, struct msm_vfe_stats_stream_cfg_cmd)
4903c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_RELEASE_STATS_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+11,   struct msm_vfe_stats_stream_release_cmd)
4913c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_UPDATE_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+13, struct msm_vfe_axi_stream_update_cmd)
4923c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_VFE_REG_LIST_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE+14, struct msm_vfe_cfg_cmd_list)
49319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4943c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_SMMU_ATTACH   _IOWR('V', BASE_VIDIOC_PRIVATE+15, struct msm_vfe_smmu_attach_cmd)
4953c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#endif
496