Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 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 | ****************************************************************************/ |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 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> |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 25 | #define CSID_VERSION_V20 0x02000011 |
| 26 | #define CSID_VERSION_V22 0x02001000 |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 27 | #define CSID_VERSION_V30 0x30000000 |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 28 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 29 | #define CSID_VERSION_V3 0x30000000 |
| 30 | enum msm_ispif_vfe_intf { |
| 31 | VFE0, |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 32 | VFE1, |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 33 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 34 | VFE_MAX |
| 35 | }; |
| 36 | #define VFE0_MASK (1 << VFE0) |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 37 | #define VFE1_MASK (1 << VFE1) |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 38 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 39 | enum msm_ispif_intftype { |
| 40 | PIX0, |
| 41 | RDI0, |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 42 | PIX1, |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 43 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 44 | RDI1, |
| 45 | RDI2, |
| 46 | INTF_MAX |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 47 | }; |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 48 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 49 | #define MAX_PARAM_ENTRIES (INTF_MAX * 2) |
| 50 | #define MAX_CID_CH 8 |
| 51 | #define PIX0_MASK (1 << PIX0) |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 52 | #define PIX1_MASK (1 << PIX1) |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 53 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 54 | #define RDI0_MASK (1 << RDI0) |
| 55 | #define RDI1_MASK (1 << RDI1) |
| 56 | #define RDI2_MASK (1 << RDI2) |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 57 | enum msm_ispif_vc { |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 58 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 59 | VC0, |
| 60 | VC1, |
| 61 | VC2, |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 62 | VC3, |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 63 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 64 | VC_MAX |
| 65 | }; |
| 66 | enum msm_ispif_cid { |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 67 | CID0, |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 68 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 69 | CID1, |
| 70 | CID2, |
| 71 | CID3, |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 72 | CID4, |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 73 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 74 | CID5, |
| 75 | CID6, |
| 76 | CID7, |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 77 | CID8, |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 78 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 79 | CID9, |
| 80 | CID10, |
| 81 | CID11, |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 82 | CID12, |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 83 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 84 | CID13, |
| 85 | CID14, |
| 86 | CID15, |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 87 | CID_MAX |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 88 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 89 | }; |
| 90 | enum msm_ispif_csid { |
| 91 | CSID0, |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 92 | CSID1, |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 93 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 94 | CSID2, |
| 95 | CSID3, |
| 96 | CSID_MAX |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 97 | }; |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 98 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 99 | struct msm_ispif_params_entry { |
| 100 | enum msm_ispif_vfe_intf vfe_intf; |
| 101 | enum msm_ispif_intftype intftype; |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 102 | int num_cids; |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 103 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 104 | enum msm_ispif_cid cids[3]; |
| 105 | enum msm_ispif_csid csid; |
| 106 | int crop_enable; |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 107 | uint16_t crop_start_pixel; |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 108 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 109 | uint16_t crop_end_pixel; |
| 110 | }; |
| 111 | struct msm_ispif_param_data { |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 112 | uint32_t num; |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 113 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 114 | struct msm_ispif_params_entry entries[MAX_PARAM_ENTRIES]; |
| 115 | }; |
| 116 | struct msm_isp_info { |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 117 | uint32_t max_resolution; |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 118 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 119 | uint32_t id; |
| 120 | uint32_t ver; |
| 121 | }; |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 122 | struct msm_ispif_vfe_info { |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 123 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 124 | int num_vfe; |
| 125 | struct msm_isp_info info[VFE_MAX]; |
| 126 | }; |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 127 | enum ispif_cfg_type_t { |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 128 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 129 | ISPIF_CLK_ENABLE, |
| 130 | ISPIF_CLK_DISABLE, |
| 131 | ISPIF_INIT, |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 132 | ISPIF_CFG, |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 133 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 134 | ISPIF_START_FRAME_BOUNDARY, |
Zhijun He | 00948a6 | 2016-10-24 17:13:17 -0700 | [diff] [blame] | 135 | ISPIF_RECONFIG, |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 136 | ISPIF_STOP_FRAME_BOUNDARY, |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 137 | ISPIF_STOP_IMMEDIATELY, |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 138 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 139 | ISPIF_RELEASE, |
| 140 | ISPIF_ENABLE_REG_DUMP, |
| 141 | ISPIF_SET_VFE_INFO, |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 142 | }; |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 143 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 144 | struct ispif_cfg_data { |
| 145 | enum ispif_cfg_type_t cfg_type; |
| 146 | union { |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 147 | int reg_dump; |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 148 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 149 | uint32_t csid_version; |
| 150 | struct msm_ispif_vfe_info vfe_info; |
| 151 | struct msm_ispif_param_data params; |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 152 | }; |
Steve Pfetsch | 4e5a1b3 | 2016-05-10 16:47:20 -0700 | [diff] [blame] | 153 | /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 154 | }; |
| 155 | #define VIDIOC_MSM_ISPIF_CFG _IOWR('V', BASE_VIDIOC_PRIVATE, struct ispif_cfg_data) |
| 156 | #endif |
Patrick Tjin | 5d6a7fb | 2016-01-06 14:49:49 -0800 | [diff] [blame] | 157 | |