lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame^] | 1 | /* |
| 2 | v4l2 chip identifiers header |
| 3 | |
| 4 | This header provides a list of chip identifiers that can be returned |
| 5 | through the VIDIOC_DBG_G_CHIP_IDENT ioctl. |
| 6 | |
| 7 | Copyright (C) 2007 Hans Verkuil <hverkuil@xs4all.nl> |
| 8 | |
| 9 | This program is free software; you can redistribute it and/or modify |
| 10 | it under the terms of the GNU General Public License as published by |
| 11 | the Free Software Foundation; either version 2 of the License, or |
| 12 | (at your option) any later version. |
| 13 | |
| 14 | This program is distributed in the hope that it will be useful, |
| 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 17 | GNU General Public License for more details. |
| 18 | |
| 19 | You should have received a copy of the GNU General Public License |
| 20 | along with this program; if not, write to the Free Software |
| 21 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 22 | */ |
| 23 | |
| 24 | #ifndef V4L2_CHIP_IDENT_H_ |
| 25 | #define V4L2_CHIP_IDENT_H_ |
| 26 | |
| 27 | /* VIDIOC_DBG_G_CHIP_IDENT: identifies the actual chip installed on the board */ |
| 28 | |
| 29 | /* KEEP THIS LIST ORDERED BY ID! |
| 30 | Otherwise it will be hard to see which ranges are already in use when |
| 31 | adding support to a new chip family. */ |
| 32 | enum { |
| 33 | /* general idents: reserved range 0-49 */ |
| 34 | V4L2_IDENT_NONE = 0, /* No chip matched */ |
| 35 | V4L2_IDENT_AMBIGUOUS = 1, /* Match too general, multiple chips matched */ |
| 36 | V4L2_IDENT_UNKNOWN = 2, /* Chip found, but cannot identify */ |
| 37 | |
| 38 | /* module tvaudio: reserved range 50-99 */ |
| 39 | V4L2_IDENT_TVAUDIO = 50, /* A tvaudio chip, unknown which it is exactly */ |
| 40 | |
| 41 | /* Sony IMX074 */ |
| 42 | V4L2_IDENT_IMX074 = 74, |
| 43 | |
| 44 | /* module saa7110: just ident 100 */ |
| 45 | V4L2_IDENT_SAA7110 = 100, |
| 46 | |
| 47 | /* module saa7115: reserved range 101-149 */ |
| 48 | V4L2_IDENT_SAA7111 = 101, |
| 49 | V4L2_IDENT_SAA7111A = 102, |
| 50 | V4L2_IDENT_SAA7113 = 103, |
| 51 | V4L2_IDENT_SAA7114 = 104, |
| 52 | V4L2_IDENT_SAA7115 = 105, |
| 53 | V4L2_IDENT_SAA7118 = 108, |
| 54 | |
| 55 | /* module saa7127: reserved range 150-199 */ |
| 56 | V4L2_IDENT_SAA7127 = 157, |
| 57 | V4L2_IDENT_SAA7129 = 159, |
| 58 | |
| 59 | /* module cx25840: reserved range 200-249 */ |
| 60 | V4L2_IDENT_CX25836 = 236, |
| 61 | V4L2_IDENT_CX25837 = 237, |
| 62 | V4L2_IDENT_CX25840 = 240, |
| 63 | V4L2_IDENT_CX25841 = 241, |
| 64 | V4L2_IDENT_CX25842 = 242, |
| 65 | V4L2_IDENT_CX25843 = 243, |
| 66 | |
| 67 | /* OmniVision sensors: reserved range 250-299 */ |
| 68 | V4L2_IDENT_OV7670 = 250, |
| 69 | V4L2_IDENT_OV7720 = 251, |
| 70 | V4L2_IDENT_OV7725 = 252, |
| 71 | V4L2_IDENT_OV7660 = 253, |
| 72 | V4L2_IDENT_OV9650 = 254, |
| 73 | V4L2_IDENT_OV9655 = 255, |
| 74 | V4L2_IDENT_SOI968 = 256, |
| 75 | V4L2_IDENT_OV9640 = 257, |
| 76 | V4L2_IDENT_OV6650 = 258, |
| 77 | V4L2_IDENT_OV2640 = 259, |
| 78 | V4L2_IDENT_OV9740 = 260, |
| 79 | V4L2_IDENT_OV5642 = 261, |
| 80 | |
| 81 | /* module saa7146: reserved range 300-309 */ |
| 82 | V4L2_IDENT_SAA7146 = 300, |
| 83 | |
| 84 | /* Conexant MPEG encoder/decoders: reserved range 400-420 */ |
| 85 | V4L2_IDENT_CX23418_843 = 403, /* Integrated A/V Decoder on the '418 */ |
| 86 | V4L2_IDENT_CX23415 = 415, |
| 87 | V4L2_IDENT_CX23416 = 416, |
| 88 | V4L2_IDENT_CX23417 = 417, |
| 89 | V4L2_IDENT_CX23418 = 418, |
| 90 | |
| 91 | /* module bt819: reserved range 810-819 */ |
| 92 | V4L2_IDENT_BT815A = 815, |
| 93 | V4L2_IDENT_BT817A = 817, |
| 94 | V4L2_IDENT_BT819A = 819, |
| 95 | |
| 96 | /* module au0828 */ |
| 97 | V4L2_IDENT_AU0828 = 828, |
| 98 | |
| 99 | /* module bt856: just ident 856 */ |
| 100 | V4L2_IDENT_BT856 = 856, |
| 101 | |
| 102 | /* module bt866: just ident 866 */ |
| 103 | V4L2_IDENT_BT866 = 866, |
| 104 | |
| 105 | /* module ks0127: reserved range 1120-1129 */ |
| 106 | V4L2_IDENT_KS0122S = 1122, |
| 107 | V4L2_IDENT_KS0127 = 1127, |
| 108 | V4L2_IDENT_KS0127B = 1128, |
| 109 | |
| 110 | /* module indycam: just ident 2000 */ |
| 111 | V4L2_IDENT_INDYCAM = 2000, |
| 112 | |
| 113 | /* module vp27smpx: just ident 2700 */ |
| 114 | V4L2_IDENT_VP27SMPX = 2700, |
| 115 | |
| 116 | /* module vpx3220: reserved range: 3210-3229 */ |
| 117 | V4L2_IDENT_VPX3214C = 3214, |
| 118 | V4L2_IDENT_VPX3216B = 3216, |
| 119 | V4L2_IDENT_VPX3220A = 3220, |
| 120 | |
| 121 | /* VX855 just ident 3409 */ |
| 122 | /* Other via devs could use 3314, 3324, 3327, 3336, 3364, 3353 */ |
| 123 | V4L2_IDENT_VIA_VX855 = 3409, |
| 124 | |
| 125 | /* module tvp5150 */ |
| 126 | V4L2_IDENT_TVP5150 = 5150, |
| 127 | |
| 128 | /* module saa5246a: just ident 5246 */ |
| 129 | V4L2_IDENT_SAA5246A = 5246, |
| 130 | |
| 131 | /* module saa5249: just ident 5249 */ |
| 132 | V4L2_IDENT_SAA5249 = 5249, |
| 133 | |
| 134 | /* module cs5345: just ident 5345 */ |
| 135 | V4L2_IDENT_CS5345 = 5345, |
| 136 | |
| 137 | /* module tea6415c: just ident 6415 */ |
| 138 | V4L2_IDENT_TEA6415C = 6415, |
| 139 | |
| 140 | /* module tea6420: just ident 6420 */ |
| 141 | V4L2_IDENT_TEA6420 = 6420, |
| 142 | |
| 143 | /* module saa6588: just ident 6588 */ |
| 144 | V4L2_IDENT_SAA6588 = 6588, |
| 145 | |
| 146 | /* module vs6624: just ident 6624 */ |
| 147 | V4L2_IDENT_VS6624 = 6624, |
| 148 | |
| 149 | /* module saa6752hs: reserved range 6750-6759 */ |
| 150 | V4L2_IDENT_SAA6752HS = 6752, |
| 151 | V4L2_IDENT_SAA6752HS_AC3 = 6753, |
| 152 | |
| 153 | /* modules tef6862: just ident 6862 */ |
| 154 | V4L2_IDENT_TEF6862 = 6862, |
| 155 | |
| 156 | /* module tvp7002: just ident 7002 */ |
| 157 | V4L2_IDENT_TVP7002 = 7002, |
| 158 | |
| 159 | /* module adv7170: just ident 7170 */ |
| 160 | V4L2_IDENT_ADV7170 = 7170, |
| 161 | |
| 162 | /* module adv7175: just ident 7175 */ |
| 163 | V4L2_IDENT_ADV7175 = 7175, |
| 164 | |
| 165 | /* module adv7180: just ident 7180 */ |
| 166 | V4L2_IDENT_ADV7180 = 7180, |
| 167 | |
| 168 | /* module adv7183: just ident 7183 */ |
| 169 | V4L2_IDENT_ADV7183 = 7183, |
| 170 | |
| 171 | /* module saa7185: just ident 7185 */ |
| 172 | V4L2_IDENT_SAA7185 = 7185, |
| 173 | |
| 174 | /* module saa7191: just ident 7191 */ |
| 175 | V4L2_IDENT_SAA7191 = 7191, |
| 176 | |
| 177 | /* module ths7303: just ident 7303 */ |
| 178 | V4L2_IDENT_THS7303 = 7303, |
| 179 | |
| 180 | /* module adv7343: just ident 7343 */ |
| 181 | V4L2_IDENT_ADV7343 = 7343, |
| 182 | |
| 183 | /* module saa7706h: just ident 7706 */ |
| 184 | V4L2_IDENT_SAA7706H = 7706, |
| 185 | |
| 186 | /* module mt9v011, just ident 8243 */ |
| 187 | V4L2_IDENT_MT9V011 = 8243, |
| 188 | |
| 189 | /* module wm8739: just ident 8739 */ |
| 190 | V4L2_IDENT_WM8739 = 8739, |
| 191 | |
| 192 | /* module wm8775: just ident 8775 */ |
| 193 | V4L2_IDENT_WM8775 = 8775, |
| 194 | |
| 195 | /* Marvell controllers starting at 8801 */ |
| 196 | V4L2_IDENT_CAFE = 8801, |
| 197 | V4L2_IDENT_ARMADA610 = 8802, |
| 198 | |
| 199 | /* AKM AK8813/AK8814 */ |
| 200 | V4L2_IDENT_AK8813 = 8813, |
| 201 | V4L2_IDENT_AK8814 = 8814, |
| 202 | |
| 203 | /* module cx23885 and cx25840 */ |
| 204 | V4L2_IDENT_CX23885 = 8850, |
| 205 | V4L2_IDENT_CX23885_AV = 8851, /* Integrated A/V decoder */ |
| 206 | V4L2_IDENT_CX23887 = 8870, |
| 207 | V4L2_IDENT_CX23887_AV = 8871, /* Integrated A/V decoder */ |
| 208 | V4L2_IDENT_CX23888 = 8880, |
| 209 | V4L2_IDENT_CX23888_AV = 8881, /* Integrated A/V decoder */ |
| 210 | V4L2_IDENT_CX23888_IR = 8882, /* Integrated infrared controller */ |
| 211 | |
| 212 | /* module tda9840: just ident 9840 */ |
| 213 | V4L2_IDENT_TDA9840 = 9840, |
| 214 | |
| 215 | /* module tw9910: just ident 9910 */ |
| 216 | V4L2_IDENT_TW9910 = 9910, |
| 217 | |
| 218 | /* module sn9c20x: just ident 10000 */ |
| 219 | V4L2_IDENT_SN9C20X = 10000, |
| 220 | |
| 221 | /* module cx231xx and cx25840 */ |
| 222 | V4L2_IDENT_CX2310X_AV = 23099, /* Integrated A/V decoder; not in '100 */ |
| 223 | V4L2_IDENT_CX23100 = 23100, |
| 224 | V4L2_IDENT_CX23101 = 23101, |
| 225 | V4L2_IDENT_CX23102 = 23102, |
| 226 | |
| 227 | /* module msp3400: reserved range 34000-34999 for msp34xx */ |
| 228 | V4L2_IDENT_MSPX4XX = 34000, /* generic MSPX4XX identifier, only |
| 229 | use internally (tveeprom.c). */ |
| 230 | |
| 231 | V4L2_IDENT_MSP3400B = 34002, |
| 232 | V4L2_IDENT_MSP3400C = 34003, |
| 233 | V4L2_IDENT_MSP3400D = 34004, |
| 234 | V4L2_IDENT_MSP3400G = 34007, |
| 235 | V4L2_IDENT_MSP3401G = 34017, |
| 236 | V4L2_IDENT_MSP3402G = 34027, |
| 237 | V4L2_IDENT_MSP3405D = 34054, |
| 238 | V4L2_IDENT_MSP3405G = 34057, |
| 239 | V4L2_IDENT_MSP3407D = 34074, |
| 240 | V4L2_IDENT_MSP3407G = 34077, |
| 241 | |
| 242 | V4L2_IDENT_MSP3410B = 34102, |
| 243 | V4L2_IDENT_MSP3410C = 34103, |
| 244 | V4L2_IDENT_MSP3410D = 34104, |
| 245 | V4L2_IDENT_MSP3410G = 34107, |
| 246 | V4L2_IDENT_MSP3411G = 34117, |
| 247 | V4L2_IDENT_MSP3412G = 34127, |
| 248 | V4L2_IDENT_MSP3415D = 34154, |
| 249 | V4L2_IDENT_MSP3415G = 34157, |
| 250 | V4L2_IDENT_MSP3417D = 34174, |
| 251 | V4L2_IDENT_MSP3417G = 34177, |
| 252 | |
| 253 | V4L2_IDENT_MSP3420G = 34207, |
| 254 | V4L2_IDENT_MSP3421G = 34217, |
| 255 | V4L2_IDENT_MSP3422G = 34227, |
| 256 | V4L2_IDENT_MSP3425G = 34257, |
| 257 | V4L2_IDENT_MSP3427G = 34277, |
| 258 | |
| 259 | V4L2_IDENT_MSP3430G = 34307, |
| 260 | V4L2_IDENT_MSP3431G = 34317, |
| 261 | V4L2_IDENT_MSP3435G = 34357, |
| 262 | V4L2_IDENT_MSP3437G = 34377, |
| 263 | |
| 264 | V4L2_IDENT_MSP3440G = 34407, |
| 265 | V4L2_IDENT_MSP3441G = 34417, |
| 266 | V4L2_IDENT_MSP3442G = 34427, |
| 267 | V4L2_IDENT_MSP3445G = 34457, |
| 268 | V4L2_IDENT_MSP3447G = 34477, |
| 269 | |
| 270 | V4L2_IDENT_MSP3450G = 34507, |
| 271 | V4L2_IDENT_MSP3451G = 34517, |
| 272 | V4L2_IDENT_MSP3452G = 34527, |
| 273 | V4L2_IDENT_MSP3455G = 34557, |
| 274 | V4L2_IDENT_MSP3457G = 34577, |
| 275 | |
| 276 | V4L2_IDENT_MSP3460G = 34607, |
| 277 | V4L2_IDENT_MSP3461G = 34617, |
| 278 | V4L2_IDENT_MSP3465G = 34657, |
| 279 | V4L2_IDENT_MSP3467G = 34677, |
| 280 | |
| 281 | /* module msp3400: reserved range 44000-44999 for msp44xx */ |
| 282 | V4L2_IDENT_MSP4400G = 44007, |
| 283 | V4L2_IDENT_MSP4408G = 44087, |
| 284 | V4L2_IDENT_MSP4410G = 44107, |
| 285 | V4L2_IDENT_MSP4418G = 44187, |
| 286 | V4L2_IDENT_MSP4420G = 44207, |
| 287 | V4L2_IDENT_MSP4428G = 44287, |
| 288 | V4L2_IDENT_MSP4440G = 44407, |
| 289 | V4L2_IDENT_MSP4448G = 44487, |
| 290 | V4L2_IDENT_MSP4450G = 44507, |
| 291 | V4L2_IDENT_MSP4458G = 44587, |
| 292 | |
| 293 | /* Micron CMOS sensor chips: 45000-45099 */ |
| 294 | V4L2_IDENT_MT9M001C12ST = 45000, |
| 295 | V4L2_IDENT_MT9M001C12STM = 45005, |
| 296 | V4L2_IDENT_MT9M111 = 45007, |
| 297 | V4L2_IDENT_MT9M112 = 45008, |
| 298 | V4L2_IDENT_MT9V022IX7ATC = 45010, /* No way to detect "normal" I77ATx */ |
| 299 | V4L2_IDENT_MT9V022IX7ATM = 45015, /* and "lead free" IA7ATx chips */ |
| 300 | V4L2_IDENT_MT9T031 = 45020, |
| 301 | V4L2_IDENT_MT9T111 = 45021, |
| 302 | V4L2_IDENT_MT9T112 = 45022, |
| 303 | V4L2_IDENT_MT9V111 = 45031, |
| 304 | V4L2_IDENT_MT9V112 = 45032, |
| 305 | |
| 306 | /* HV7131R CMOS sensor: just ident 46000 */ |
| 307 | V4L2_IDENT_HV7131R = 46000, |
| 308 | |
| 309 | /* Sharp RJ54N1CB0C, 0xCB0C = 51980 */ |
| 310 | V4L2_IDENT_RJ54N1CB0C = 51980, |
| 311 | |
| 312 | /* module m52790: just ident 52790 */ |
| 313 | V4L2_IDENT_M52790 = 52790, |
| 314 | |
| 315 | /* module cs53132a: just ident 53132 */ |
| 316 | V4L2_IDENT_CS53l32A = 53132, |
| 317 | |
| 318 | /* modules upd61151 MPEG2 encoder: just ident 54000 */ |
| 319 | V4L2_IDENT_UPD61161 = 54000, |
| 320 | /* modules upd61152 MPEG2 encoder with AC3: just ident 54001 */ |
| 321 | V4L2_IDENT_UPD61162 = 54001, |
| 322 | |
| 323 | /* module upd64031a: just ident 64031 */ |
| 324 | V4L2_IDENT_UPD64031A = 64031, |
| 325 | |
| 326 | /* module upd64083: just ident 64083 */ |
| 327 | V4L2_IDENT_UPD64083 = 64083, |
| 328 | |
| 329 | /* Don't just add new IDs at the end: KEEP THIS LIST ORDERED BY ID! */ |
| 330 | }; |
| 331 | |
| 332 | #endif |