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 UAPI_MSMB_ISPIF_H 20 #define UAPI_MSMB_ISPIF_H 21 #include <linux/types.h> 22 #include <linux/ioctl.h> 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #include <linux/videodev2.h> 25 #define CSID_VERSION_V20 0x02000011 26 #define CSID_VERSION_V22 0x02001000 27 #define CSID_VERSION_V30 0x30000000 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 #define CSID_VERSION_V3 0x30000000 30 enum msm_ispif_vfe_intf { 31 VFE0, 32 VFE1, 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 VFE_MAX 35 }; 36 #define VFE0_MASK (1 << VFE0) 37 #define VFE1_MASK (1 << VFE1) 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 enum msm_ispif_intftype { 40 PIX0, 41 RDI0, 42 PIX1, 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 RDI1, 45 RDI2, 46 INTF_MAX 47 }; 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 #define MAX_PARAM_ENTRIES (INTF_MAX * 2) 50 #define MAX_CID_CH 8 51 #define MAX_CID_CH_PARAM_ENTRY 3 52 #define PIX0_MASK (1 << PIX0) 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 #define PIX1_MASK (1 << PIX1) 55 #define RDI0_MASK (1 << RDI0) 56 #define RDI1_MASK (1 << RDI1) 57 #define RDI2_MASK (1 << RDI2) 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 enum msm_ispif_vc { 60 VC0, 61 VC1, 62 VC2, 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 VC3, 65 VC_MAX 66 }; 67 enum msm_ispif_cid { 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 CID0, 70 CID1, 71 CID2, 72 CID3, 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 CID4, 75 CID5, 76 CID6, 77 CID7, 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 CID8, 80 CID9, 81 CID10, 82 CID11, 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 CID12, 85 CID13, 86 CID14, 87 CID15, 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 CID_MAX 90 }; 91 enum msm_ispif_csid { 92 CSID0, 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 CSID1, 95 CSID2, 96 CSID3, 97 CSID_MAX 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 }; 100 enum msm_ispif_pixel_odd_even { 101 PIX_EVEN, 102 PIX_ODD 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 }; 105 enum msm_ispif_pixel_pack_mode { 106 PACK_BYTE, 107 PACK_PLAIN_PACK, 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 PACK_NV_P8, 110 PACK_NV_P16 111 }; 112 struct msm_ispif_pack_cfg { 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 int pixel_swap_en; 115 enum msm_ispif_pixel_odd_even even_odd_sel; 116 enum msm_ispif_pixel_pack_mode pack_mode; 117 }; 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 struct msm_ispif_params_entry { 120 enum msm_ispif_vfe_intf vfe_intf; 121 enum msm_ispif_intftype intftype; 122 int num_cids; 123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 enum msm_ispif_cid cids[MAX_CID_CH_PARAM_ENTRY]; 125 enum msm_ispif_csid csid; 126 int crop_enable; 127 uint16_t crop_start_pixel; 128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 uint16_t crop_end_pixel; 130 }; 131 struct msm_ispif_param_data_ext { 132 uint32_t num; 133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 struct msm_ispif_params_entry entries[MAX_PARAM_ENTRIES]; 135 struct msm_ispif_pack_cfg pack_cfg[CID_MAX]; 136 }; 137 struct msm_ispif_param_data { 138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 uint32_t num; 140 struct msm_ispif_params_entry entries[MAX_PARAM_ENTRIES]; 141 }; 142 struct msm_isp_info { 143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 uint32_t max_resolution; 145 uint32_t id; 146 uint32_t ver; 147 }; 148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 struct msm_ispif_vfe_info { 150 int num_vfe; 151 struct msm_isp_info info[VFE_MAX]; 152 }; 153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 enum ispif_cfg_type_t { 155 ISPIF_CLK_ENABLE, 156 ISPIF_CLK_DISABLE, 157 ISPIF_INIT, 158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 ISPIF_CFG, 160 ISPIF_START_FRAME_BOUNDARY, 161 ISPIF_RESTART_FRAME_BOUNDARY, 162 ISPIF_STOP_FRAME_BOUNDARY, 163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 ISPIF_STOP_IMMEDIATELY, 165 ISPIF_RELEASE, 166 ISPIF_ENABLE_REG_DUMP, 167 ISPIF_SET_VFE_INFO, 168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 ISPIF_CFG2, 170 }; 171 struct ispif_cfg_data { 172 enum ispif_cfg_type_t cfg_type; 173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 union { 175 int reg_dump; 176 uint32_t csid_version; 177 struct msm_ispif_vfe_info vfe_info; 178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 struct msm_ispif_param_data params; 180 }; 181 }; 182 struct ispif_cfg_data_ext { 183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 enum ispif_cfg_type_t cfg_type; 185 void * data; 186 uint32_t size; 187 }; 188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 #define ISPIF_RDI_PACK_MODE_SUPPORT 1 190 #define VIDIOC_MSM_ISPIF_CFG _IOWR('V', BASE_VIDIOC_PRIVATE, struct ispif_cfg_data) 191 #define VIDIOC_MSM_ISPIF_CFG_EXT _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct ispif_cfg_data_ext) 192 #endif 193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 195