1/**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19#ifndef MSM_CAM_ISPIF_H 20#define MSM_CAM_ISPIF_H 21#define CSID_VERSION_V20 0x02000011 22#define CSID_VERSION_V22 0x02001000 23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24#define CSID_VERSION_V30 0x30000000 25#define CSID_VERSION_V3 0x30000000 26enum msm_ispif_vfe_intf { 27 VFE0, 28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 VFE1, 30 VFE_MAX 31}; 32#define VFE0_MASK (1 << VFE0) 33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34#define VFE1_MASK (1 << VFE1) 35enum msm_ispif_intftype { 36 PIX0, 37 RDI0, 38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 PIX1, 40 RDI1, 41 RDI2, 42 INTF_MAX 43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44}; 45#define MAX_PARAM_ENTRIES (INTF_MAX * 2) 46#define PIX0_MASK (1 << PIX0) 47#define PIX1_MASK (1 << PIX1) 48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49#define RDI0_MASK (1 << RDI0) 50#define RDI1_MASK (1 << RDI1) 51#define RDI2_MASK (1 << RDI2) 52enum msm_ispif_vc { 53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 VC0, 55 VC1, 56 VC2, 57 VC3, 58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 VC_MAX 60}; 61enum msm_ispif_cid { 62 CID0, 63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 CID1, 65 CID2, 66 CID3, 67 CID4, 68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 CID5, 70 CID6, 71 CID7, 72 CID8, 73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 CID9, 75 CID10, 76 CID11, 77 CID12, 78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 CID13, 80 CID14, 81 CID15, 82 CID_MAX 83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84}; 85enum msm_ispif_csid { 86 CSID0, 87 CSID1, 88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 CSID2, 90 CSID3, 91 CSID_MAX 92}; 93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94struct msm_ispif_params_entry { 95 enum msm_ispif_vfe_intf vfe_intf; 96 enum msm_ispif_intftype intftype; 97 int num_cids; 98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 enum msm_ispif_cid cids[3]; 100 enum msm_ispif_csid csid; 101 int crop_enable; 102 uint16_t crop_start_pixel; 103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 uint16_t crop_end_pixel; 105}; 106struct msm_ispif_param_data { 107 uint32_t num; 108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 struct msm_ispif_params_entry entries[MAX_PARAM_ENTRIES]; 110}; 111struct msm_isp_info { 112 uint32_t max_resolution; 113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 uint32_t id; 115 uint32_t ver; 116}; 117struct msm_ispif_vfe_info { 118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 int num_vfe; 120 struct msm_isp_info info[VFE_MAX]; 121}; 122enum ispif_cfg_type_t { 123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 ISPIF_CLK_ENABLE, 125 ISPIF_CLK_DISABLE, 126 ISPIF_INIT, 127 ISPIF_CFG, 128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 ISPIF_START_FRAME_BOUNDARY, 130 ISPIF_STOP_FRAME_BOUNDARY, 131 ISPIF_STOP_IMMEDIATELY, 132 ISPIF_RELEASE, 133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 ISPIF_ENABLE_REG_DUMP, 135 ISPIF_SET_VFE_INFO, 136}; 137struct ispif_cfg_data { 138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 enum ispif_cfg_type_t cfg_type; 140 union { 141 int reg_dump; 142 uint32_t csid_version; 143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 struct msm_ispif_vfe_info vfe_info; 145 struct msm_ispif_param_data params; 146 }; 147}; 148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149#define VIDIOC_MSM_ISPIF_CFG _IOWR('V', BASE_VIDIOC_PRIVATE, struct ispif_cfg_data) 150#endif 151