Home | History | Annotate | Download | only in media
      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