1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Support for mt9m114 Camera Sensor. 4 * 5 * Copyright (c) 2010 Intel Corporation. All Rights Reserved. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License version 9 * 2 as published by the Free Software Foundation. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * 17 */ 18 19 #ifndef __A1040_H__ 20 #define __A1040_H__ 21 22 #include <linux/kernel.h> 23 #include <linux/types.h> 24 #include <linux/i2c.h> 25 #include <linux/delay.h> 26 #include <linux/videodev2.h> 27 #include <linux/spinlock.h> 28 #include <media/v4l2-subdev.h> 29 #include <media/v4l2-device.h> 30 #include <media/v4l2-ctrls.h> 31 #include <linux/v4l2-mediabus.h> 32 #include <media/media-entity.h> 33 #include "../include/linux/atomisp_platform.h" 34 #include "../include/linux/atomisp.h" 35 36 #define V4L2_IDENT_MT9M114 8245 37 38 #define MT9P111_REV3 39 #define FULLINISUPPORT 40 41 /* #defines for register writes and register array processing */ 42 #define MISENSOR_8BIT 1 43 #define MISENSOR_16BIT 2 44 #define MISENSOR_32BIT 4 45 46 #define MISENSOR_FWBURST0 0x80 47 #define MISENSOR_FWBURST1 0x81 48 #define MISENSOR_FWBURST4 0x84 49 #define MISENSOR_FWBURST 0x88 50 51 #define MISENSOR_TOK_TERM 0xf000 /* terminating token for reg list */ 52 #define MISENSOR_TOK_DELAY 0xfe00 /* delay token for reg list */ 53 #define MISENSOR_TOK_FWLOAD 0xfd00 /* token indicating load FW */ 54 #define MISENSOR_TOK_POLL 0xfc00 /* token indicating poll instruction */ 55 #define MISENSOR_TOK_RMW 0x0010 /* RMW operation */ 56 #define MISENSOR_TOK_MASK 0xfff0 57 #define MISENSOR_AWB_STEADY BIT(0) /* awb steady */ 58 #define MISENSOR_AE_READY BIT(3) /* ae status ready */ 59 60 /* mask to set sensor read_mode via misensor_rmw_reg */ 61 #define MISENSOR_R_MODE_MASK 0x0330 62 /* mask to set sensor vert_flip and horz_mirror */ 63 #define MISENSOR_VFLIP_MASK 0x0002 64 #define MISENSOR_HFLIP_MASK 0x0001 65 #define MISENSOR_FLIP_EN 1 66 #define MISENSOR_FLIP_DIS 0 67 68 /* bits set to set sensor read_mode via misensor_rmw_reg */ 69 #define MISENSOR_SKIPPING_SET 0x0011 70 #define MISENSOR_SUMMING_SET 0x0033 71 #define MISENSOR_NORMAL_SET 0x0000 72 73 /* sensor register that control sensor read-mode and mirror */ 74 #define MISENSOR_READ_MODE 0xC834 75 /* sensor ae-track status register */ 76 #define MISENSOR_AE_TRACK_STATUS 0xA800 77 /* sensor awb status register */ 78 #define MISENSOR_AWB_STATUS 0xAC00 79 /* sensor coarse integration time register */ 80 #define MISENSOR_COARSE_INTEGRATION_TIME 0xC83C 81 82 /* registers */ 83 #define REG_SW_RESET 0x301A 84 #define REG_SW_STREAM 0xDC00 85 #define REG_SCCB_CTRL 0x3100 86 #define REG_SC_CMMN_CHIP_ID 0x0000 87 #define REG_V_START 0xc800 /* 16bits */ 88 #define REG_H_START 0xc802 /* 16bits */ 89 #define REG_V_END 0xc804 /* 16bits */ 90 #define REG_H_END 0xc806 /* 16bits */ 91 #define REG_PIXEL_CLK 0xc808 /* 32bits */ 92 #define REG_TIMING_VTS 0xc812 /* 16bits */ 93 #define REG_TIMING_HTS 0xc814 /* 16bits */ 94 #define REG_WIDTH 0xC868 /* 16bits */ 95 #define REG_HEIGHT 0xC86A /* 16bits */ 96 #define REG_EXPO_COARSE 0x3012 /* 16bits */ 97 #define REG_EXPO_FINE 0x3014 /* 16bits */ 98 #define REG_GAIN 0x305E 99 #define REG_ANALOGGAIN 0x305F 100 #define REG_ADDR_ACESSS 0x098E /* logical_address_access */ 101 #define REG_COMM_Register 0x0080 /* command_register */ 102 103 #define SENSOR_DETECTED 1 104 #define SENSOR_NOT_DETECTED 0 105 106 #define I2C_RETRY_COUNT 5 107 #define MSG_LEN_OFFSET 2 108 109 #ifndef MIPI_CONTROL 110 #define MIPI_CONTROL 0x3400 /* MIPI_Control */ 111 #endif 112 113 /* GPIO pin on Moorestown */ 114 #define GPIO_SCLK_25 44 115 #define GPIO_STB_PIN 47 116 117 #define GPIO_STDBY_PIN 49 /* ab:new */ 118 #define GPIO_RESET_PIN 50 119 120 /* System control register for Aptina A-1040SOC*/ 121 #define MT9M114_PID 0x0 122 123 /* MT9P111_DEVICE_ID */ 124 #define MT9M114_MOD_ID 0x2481 125 126 #define MT9M114_FINE_INTG_TIME_MIN 0 127 #define MT9M114_FINE_INTG_TIME_MAX_MARGIN 0 128 #define MT9M114_COARSE_INTG_TIME_MIN 1 129 #define MT9M114_COARSE_INTG_TIME_MAX_MARGIN 6 130 131 /* ulBPat; */ 132 133 #define MT9M114_BPAT_RGRGGBGB BIT(0) 134 #define MT9M114_BPAT_GRGRBGBG BIT(1) 135 #define MT9M114_BPAT_GBGBRGRG BIT(2) 136 #define MT9M114_BPAT_BGBGGRGR BIT(3) 137 138 #define MT9M114_FOCAL_LENGTH_NUM 208 /*2.08mm*/ 139 #define MT9M114_FOCAL_LENGTH_DEM 100 140 #define MT9M114_F_NUMBER_DEFAULT_NUM 24 141 #define MT9M114_F_NUMBER_DEM 10 142 #define MT9M114_WAIT_STAT_TIMEOUT 100 143 #define MT9M114_FLICKER_MODE_50HZ 1 144 #define MT9M114_FLICKER_MODE_60HZ 2 145 /* 146 * focal length bits definition: 147 * bits 31-16: numerator, bits 15-0: denominator 148 */ 149 #define MT9M114_FOCAL_LENGTH_DEFAULT 0xD00064 150 151 /* 152 * current f-number bits definition: 153 * bits 31-16: numerator, bits 15-0: denominator 154 */ 155 #define MT9M114_F_NUMBER_DEFAULT 0x18000a 156 157 /* 158 * f-number range bits definition: 159 * bits 31-24: max f-number numerator 160 * bits 23-16: max f-number denominator 161 * bits 15-8: min f-number numerator 162 * bits 7-0: min f-number denominator 163 */ 164 #define MT9M114_F_NUMBER_RANGE 0x180a180a 165 166 /* Supported resolutions */ 167 enum { 168 MT9M114_RES_736P, 169 MT9M114_RES_864P, 170 MT9M114_RES_960P, 171 }; 172 173 #define MT9M114_RES_960P_SIZE_H 1296 174 #define MT9M114_RES_960P_SIZE_V 976 175 #define MT9M114_RES_720P_SIZE_H 1280 176 #define MT9M114_RES_720P_SIZE_V 720 177 #define MT9M114_RES_576P_SIZE_H 1024 178 #define MT9M114_RES_576P_SIZE_V 576 179 #define MT9M114_RES_480P_SIZE_H 768 180 #define MT9M114_RES_480P_SIZE_V 480 181 #define MT9M114_RES_VGA_SIZE_H 640 182 #define MT9M114_RES_VGA_SIZE_V 480 183 #define MT9M114_RES_QVGA_SIZE_H 320 184 #define MT9M114_RES_QVGA_SIZE_V 240 185 #define MT9M114_RES_QCIF_SIZE_H 176 186 #define MT9M114_RES_QCIF_SIZE_V 144 187 188 #define MT9M114_RES_720_480p_768_SIZE_H 736 189 #define MT9M114_RES_720_480p_768_SIZE_V 496 190 #define MT9M114_RES_736P_SIZE_H 1296 191 #define MT9M114_RES_736P_SIZE_V 736 192 #define MT9M114_RES_864P_SIZE_H 1296 193 #define MT9M114_RES_864P_SIZE_V 864 194 #define MT9M114_RES_976P_SIZE_H 1296 195 #define MT9M114_RES_976P_SIZE_V 976 196 197 #define MT9M114_BIN_FACTOR_MAX 3 198 199 #define MT9M114_DEFAULT_FIRST_EXP 0x10 200 #define MT9M114_MAX_FIRST_EXP 0x302 201 202 /* completion status polling requirements, usage based on Aptina .INI Rev2 */ 203 enum poll_reg { 204 NO_POLLING, 205 PRE_POLLING, 206 POST_POLLING, 207 }; 208 209 /* 210 * struct misensor_reg - MI sensor register format 211 * @length: length of the register 212 * @reg: 16-bit offset to register 213 * @val: 8/16/32-bit register value 214 * Define a structure for sensor register initialization values 215 */ 216 struct misensor_reg { 217 u32 length; 218 u32 reg; 219 u32 val; /* value or for read/mod/write, AND mask */ 220 u32 val2; /* optional; for rmw, OR mask */ 221 }; 222 223 /* 224 * struct misensor_fwreg - Firmware burst command 225 * @type: FW burst or 8/16 bit register 226 * @addr: 16-bit offset to register or other values depending on type 227 * @valx: data value for burst (or other commands) 228 * 229 * Define a structure for sensor register initialization values 230 */ 231 struct misensor_fwreg { 232 u32 type; /* type of value, register or FW burst string */ 233 u32 addr; /* target address */ 234 u32 val0; 235 u32 val1; 236 u32 val2; 237 u32 val3; 238 u32 val4; 239 u32 val5; 240 u32 val6; 241 u32 val7; 242 }; 243 244 struct regval_list { 245 u16 reg_num; 246 u8 value; 247 }; 248 249 struct mt9m114_device { 250 struct v4l2_subdev sd; 251 struct media_pad pad; 252 struct v4l2_mbus_framefmt format; 253 254 struct camera_sensor_platform_data *platform_data; 255 struct mutex input_lock; /* serialize sensor's ioctl */ 256 struct v4l2_ctrl_handler ctrl_handler; 257 int real_model_id; 258 int nctx; 259 int power; 260 261 unsigned int bus_width; 262 unsigned int mode; 263 unsigned int field_inv; 264 unsigned int field_sel; 265 unsigned int ycseq; 266 unsigned int conv422; 267 unsigned int bpat; 268 unsigned int hpol; 269 unsigned int vpol; 270 unsigned int edge; 271 unsigned int bls; 272 unsigned int gamma; 273 unsigned int cconv; 274 unsigned int res; 275 unsigned int dwn_sz; 276 unsigned int blc; 277 unsigned int agc; 278 unsigned int awb; 279 unsigned int aec; 280 /* extension SENSOR version 2 */ 281 unsigned int cie_profile; 282 283 /* extension SENSOR version 3 */ 284 unsigned int flicker_freq; 285 286 /* extension SENSOR version 4 */ 287 unsigned int smia_mode; 288 unsigned int mipi_mode; 289 290 /* Add name here to load shared library */ 291 unsigned int type; 292 293 /*Number of MIPI lanes*/ 294 unsigned int mipi_lanes; 295 /*WA for low light AE*/ 296 unsigned int first_exp; 297 unsigned int first_gain; 298 unsigned int first_diggain; 299 char name[32]; 300 301 u8 lightfreq; 302 u8 streamon; 303 }; 304 305 struct mt9m114_format_struct { 306 u8 *desc; 307 u32 pixelformat; 308 struct regval_list *regs; 309 }; 310 311 struct mt9m114_res_struct { 312 u8 *desc; 313 int res; 314 int width; 315 int height; 316 int fps; 317 int skip_frames; 318 bool used; 319 struct regval_list *regs; 320 u16 pixels_per_line; 321 u16 lines_per_frame; 322 u8 bin_factor_x; 323 u8 bin_factor_y; 324 u8 bin_mode; 325 }; 326 327 /* 2 bytes used for address: 256 bytes total */ 328 #define MT9M114_MAX_WRITE_BUF_SIZE 254 329 struct mt9m114_write_buffer { 330 u16 addr; 331 u8 data[MT9M114_MAX_WRITE_BUF_SIZE]; 332 }; 333 334 struct mt9m114_write_ctrl { 335 int index; 336 struct mt9m114_write_buffer buffer; 337 }; 338 339 /* 340 * Modes supported by the mt9m114 driver. 341 * Please, keep them in ascending order. 342 */ 343 static struct mt9m114_res_struct mt9m114_res[] = { 344 { 345 .desc = "720P", 346 .res = MT9M114_RES_736P, 347 .width = 1296, 348 .height = 736, 349 .fps = 30, 350 .used = false, 351 .regs = NULL, 352 .skip_frames = 1, 353 354 .pixels_per_line = 0x0640, 355 .lines_per_frame = 0x0307, 356 .bin_factor_x = 1, 357 .bin_factor_y = 1, 358 .bin_mode = 0, 359 }, 360 { 361 .desc = "848P", 362 .res = MT9M114_RES_864P, 363 .width = 1296, 364 .height = 864, 365 .fps = 30, 366 .used = false, 367 .regs = NULL, 368 .skip_frames = 1, 369 370 .pixels_per_line = 0x0640, 371 .lines_per_frame = 0x03E8, 372 .bin_factor_x = 1, 373 .bin_factor_y = 1, 374 .bin_mode = 0, 375 }, 376 { 377 .desc = "960P", 378 .res = MT9M114_RES_960P, 379 .width = 1296, 380 .height = 976, 381 .fps = 30, 382 .used = false, 383 .regs = NULL, 384 .skip_frames = 1, 385 386 .pixels_per_line = 0x0644, /* consistent with regs arrays */ 387 .lines_per_frame = 0x03E5, /* consistent with regs arrays */ 388 .bin_factor_x = 1, 389 .bin_factor_y = 1, 390 .bin_mode = 0, 391 }, 392 }; 393 394 #define N_RES (ARRAY_SIZE(mt9m114_res)) 395 396 #if 0 /* Currently unused */ 397 static struct misensor_reg const mt9m114_exitstandby[] = { 398 {MISENSOR_16BIT, 0x098E, 0xDC00}, 399 /* exit-standby */ 400 {MISENSOR_8BIT, 0xDC00, 0x54}, 401 {MISENSOR_16BIT, 0x0080, 0x8002}, 402 {MISENSOR_TOK_TERM, 0, 0} 403 }; 404 #endif 405 406 static struct misensor_reg const mt9m114_exp_win[5][5] = { 407 { 408 {MISENSOR_8BIT, 0xA407, 0x64}, 409 {MISENSOR_8BIT, 0xA408, 0x64}, 410 {MISENSOR_8BIT, 0xA409, 0x64}, 411 {MISENSOR_8BIT, 0xA40A, 0x64}, 412 {MISENSOR_8BIT, 0xA40B, 0x64}, 413 }, 414 { 415 {MISENSOR_8BIT, 0xA40C, 0x64}, 416 {MISENSOR_8BIT, 0xA40D, 0x64}, 417 {MISENSOR_8BIT, 0xA40E, 0x64}, 418 {MISENSOR_8BIT, 0xA40F, 0x64}, 419 {MISENSOR_8BIT, 0xA410, 0x64}, 420 }, 421 { 422 {MISENSOR_8BIT, 0xA411, 0x64}, 423 {MISENSOR_8BIT, 0xA412, 0x64}, 424 {MISENSOR_8BIT, 0xA413, 0x64}, 425 {MISENSOR_8BIT, 0xA414, 0x64}, 426 {MISENSOR_8BIT, 0xA415, 0x64}, 427 }, 428 { 429 {MISENSOR_8BIT, 0xA416, 0x64}, 430 {MISENSOR_8BIT, 0xA417, 0x64}, 431 {MISENSOR_8BIT, 0xA418, 0x64}, 432 {MISENSOR_8BIT, 0xA419, 0x64}, 433 {MISENSOR_8BIT, 0xA41A, 0x64}, 434 }, 435 { 436 {MISENSOR_8BIT, 0xA41B, 0x64}, 437 {MISENSOR_8BIT, 0xA41C, 0x64}, 438 {MISENSOR_8BIT, 0xA41D, 0x64}, 439 {MISENSOR_8BIT, 0xA41E, 0x64}, 440 {MISENSOR_8BIT, 0xA41F, 0x64}, 441 }, 442 }; 443 444 static struct misensor_reg const mt9m114_exp_average[] = { 445 {MISENSOR_8BIT, 0xA407, 0x00}, 446 {MISENSOR_8BIT, 0xA408, 0x00}, 447 {MISENSOR_8BIT, 0xA409, 0x00}, 448 {MISENSOR_8BIT, 0xA40A, 0x00}, 449 {MISENSOR_8BIT, 0xA40B, 0x00}, 450 {MISENSOR_8BIT, 0xA40C, 0x00}, 451 {MISENSOR_8BIT, 0xA40D, 0x00}, 452 {MISENSOR_8BIT, 0xA40E, 0x00}, 453 {MISENSOR_8BIT, 0xA40F, 0x00}, 454 {MISENSOR_8BIT, 0xA410, 0x00}, 455 {MISENSOR_8BIT, 0xA411, 0x00}, 456 {MISENSOR_8BIT, 0xA412, 0x00}, 457 {MISENSOR_8BIT, 0xA413, 0x00}, 458 {MISENSOR_8BIT, 0xA414, 0x00}, 459 {MISENSOR_8BIT, 0xA415, 0x00}, 460 {MISENSOR_8BIT, 0xA416, 0x00}, 461 {MISENSOR_8BIT, 0xA417, 0x00}, 462 {MISENSOR_8BIT, 0xA418, 0x00}, 463 {MISENSOR_8BIT, 0xA419, 0x00}, 464 {MISENSOR_8BIT, 0xA41A, 0x00}, 465 {MISENSOR_8BIT, 0xA41B, 0x00}, 466 {MISENSOR_8BIT, 0xA41C, 0x00}, 467 {MISENSOR_8BIT, 0xA41D, 0x00}, 468 {MISENSOR_8BIT, 0xA41E, 0x00}, 469 {MISENSOR_8BIT, 0xA41F, 0x00}, 470 {MISENSOR_TOK_TERM, 0, 0} 471 }; 472 473 static struct misensor_reg const mt9m114_exp_center[] = { 474 {MISENSOR_8BIT, 0xA407, 0x19}, 475 {MISENSOR_8BIT, 0xA408, 0x19}, 476 {MISENSOR_8BIT, 0xA409, 0x19}, 477 {MISENSOR_8BIT, 0xA40A, 0x19}, 478 {MISENSOR_8BIT, 0xA40B, 0x19}, 479 {MISENSOR_8BIT, 0xA40C, 0x19}, 480 {MISENSOR_8BIT, 0xA40D, 0x4B}, 481 {MISENSOR_8BIT, 0xA40E, 0x4B}, 482 {MISENSOR_8BIT, 0xA40F, 0x4B}, 483 {MISENSOR_8BIT, 0xA410, 0x19}, 484 {MISENSOR_8BIT, 0xA411, 0x19}, 485 {MISENSOR_8BIT, 0xA412, 0x4B}, 486 {MISENSOR_8BIT, 0xA413, 0x64}, 487 {MISENSOR_8BIT, 0xA414, 0x4B}, 488 {MISENSOR_8BIT, 0xA415, 0x19}, 489 {MISENSOR_8BIT, 0xA416, 0x19}, 490 {MISENSOR_8BIT, 0xA417, 0x4B}, 491 {MISENSOR_8BIT, 0xA418, 0x4B}, 492 {MISENSOR_8BIT, 0xA419, 0x4B}, 493 {MISENSOR_8BIT, 0xA41A, 0x19}, 494 {MISENSOR_8BIT, 0xA41B, 0x19}, 495 {MISENSOR_8BIT, 0xA41C, 0x19}, 496 {MISENSOR_8BIT, 0xA41D, 0x19}, 497 {MISENSOR_8BIT, 0xA41E, 0x19}, 498 {MISENSOR_8BIT, 0xA41F, 0x19}, 499 {MISENSOR_TOK_TERM, 0, 0} 500 }; 501 502 #if 0 /* Currently unused */ 503 static struct misensor_reg const mt9m114_suspend[] = { 504 {MISENSOR_16BIT, 0x098E, 0xDC00}, 505 {MISENSOR_8BIT, 0xDC00, 0x40}, 506 {MISENSOR_16BIT, 0x0080, 0x8002}, 507 {MISENSOR_TOK_TERM, 0, 0} 508 }; 509 510 static struct misensor_reg const mt9m114_streaming[] = { 511 {MISENSOR_16BIT, 0x098E, 0xDC00}, 512 {MISENSOR_8BIT, 0xDC00, 0x34}, 513 {MISENSOR_16BIT, 0x0080, 0x8002}, 514 {MISENSOR_TOK_TERM, 0, 0} 515 }; 516 #endif 517 518 static struct misensor_reg const mt9m114_standby_reg[] = { 519 {MISENSOR_16BIT, 0x098E, 0xDC00}, 520 {MISENSOR_8BIT, 0xDC00, 0x50}, 521 {MISENSOR_16BIT, 0x0080, 0x8002}, 522 {MISENSOR_TOK_TERM, 0, 0} 523 }; 524 525 #if 0 /* Currently unused */ 526 static struct misensor_reg const mt9m114_wakeup_reg[] = { 527 {MISENSOR_16BIT, 0x098E, 0xDC00}, 528 {MISENSOR_8BIT, 0xDC00, 0x54}, 529 {MISENSOR_16BIT, 0x0080, 0x8002}, 530 {MISENSOR_TOK_TERM, 0, 0} 531 }; 532 #endif 533 534 static struct misensor_reg const mt9m114_chgstat_reg[] = { 535 {MISENSOR_16BIT, 0x098E, 0xDC00}, 536 {MISENSOR_8BIT, 0xDC00, 0x28}, 537 {MISENSOR_16BIT, 0x0080, 0x8002}, 538 {MISENSOR_TOK_TERM, 0, 0} 539 }; 540 541 /* [1296x976_30fps] - Intel */ 542 #if 0 543 static struct misensor_reg const mt9m114_960P_init[] = { 544 {MISENSOR_16BIT, 0x098E, 0x1000}, 545 {MISENSOR_8BIT, 0xC97E, 0x01}, /* cam_sysctl_pll_enable = 1 */ 546 {MISENSOR_16BIT, 0xC980, 0x0128}, /* cam_sysctl_pll_divider_m_n = 276 */ 547 {MISENSOR_16BIT, 0xC982, 0x0700}, /* cam_sysctl_pll_divider_p = 1792 */ 548 {MISENSOR_16BIT, 0xC800, 0x0000}, /* cam_sensor_cfg_y_addr_start = 0 */ 549 {MISENSOR_16BIT, 0xC802, 0x0000}, /* cam_sensor_cfg_x_addr_start = 0 */ 550 {MISENSOR_16BIT, 0xC804, 0x03CF}, /* cam_sensor_cfg_y_addr_end = 971 */ 551 {MISENSOR_16BIT, 0xC806, 0x050F}, /* cam_sensor_cfg_x_addr_end = 1291 */ 552 {MISENSOR_16BIT, 0xC808, 0x02DC}, /* cam_sensor_cfg_pixclk = 48000000 */ 553 {MISENSOR_16BIT, 0xC80A, 0x6C00}, 554 {MISENSOR_16BIT, 0xC80C, 0x0001}, /* cam_sensor_cfg_row_speed = 1 */ 555 /* cam_sensor_cfg_fine_integ_time_min = 219 */ 556 {MISENSOR_16BIT, 0xC80E, 0x00DB}, 557 /* cam_sensor_cfg_fine_integ_time_max = 1459 */ 558 {MISENSOR_16BIT, 0xC810, 0x05B3}, 559 /* cam_sensor_cfg_frame_length_lines = 1006 */ 560 {MISENSOR_16BIT, 0xC812, 0x03F6}, 561 /* cam_sensor_cfg_line_length_pck = 1590 */ 562 {MISENSOR_16BIT, 0xC814, 0x063E}, 563 /* cam_sensor_cfg_fine_correction = 96 */ 564 {MISENSOR_16BIT, 0xC816, 0x0060}, 565 /* cam_sensor_cfg_cpipe_last_row = 963 */ 566 {MISENSOR_16BIT, 0xC818, 0x03C3}, 567 {MISENSOR_16BIT, 0xC826, 0x0020}, /* cam_sensor_cfg_reg_0_data = 32 */ 568 {MISENSOR_16BIT, 0xC834, 0x0000}, /* cam_sensor_control_read_mode = 0 */ 569 {MISENSOR_16BIT, 0xC854, 0x0000}, /* cam_crop_window_xoffset = 0 */ 570 {MISENSOR_16BIT, 0xC856, 0x0000}, /* cam_crop_window_yoffset = 0 */ 571 {MISENSOR_16BIT, 0xC858, 0x0508}, /* cam_crop_window_width = 1280 */ 572 {MISENSOR_16BIT, 0xC85A, 0x03C8}, /* cam_crop_window_height = 960 */ 573 {MISENSOR_8BIT, 0xC85C, 0x03}, /* cam_crop_cropmode = 3 */ 574 {MISENSOR_16BIT, 0xC868, 0x0508}, /* cam_output_width = 1280 */ 575 {MISENSOR_16BIT, 0xC86A, 0x03C8}, /* cam_output_height = 960 */ 576 {MISENSOR_TOK_TERM, 0, 0}, 577 }; 578 #endif 579 580 /* [1296x976_30fps_768Mbps] */ 581 static struct misensor_reg const mt9m114_976P_init[] = { 582 {MISENSOR_16BIT, 0x98E, 0x1000}, 583 {MISENSOR_8BIT, 0xC97E, 0x01}, /* cam_sysctl_pll_enable = 1 */ 584 {MISENSOR_16BIT, 0xC980, 0x0128}, /* cam_sysctl_pll_divider_m_n = 276 */ 585 {MISENSOR_16BIT, 0xC982, 0x0700}, /* cam_sysctl_pll_divider_p = 1792 */ 586 {MISENSOR_16BIT, 0xC800, 0x0000}, /* cam_sensor_cfg_y_addr_start = 0 */ 587 {MISENSOR_16BIT, 0xC802, 0x0000}, /* cam_sensor_cfg_x_addr_start = 0 */ 588 {MISENSOR_16BIT, 0xC804, 0x03CF}, /* cam_sensor_cfg_y_addr_end = 975 */ 589 {MISENSOR_16BIT, 0xC806, 0x050F}, /* cam_sensor_cfg_x_addr_end = 1295 */ 590 {MISENSOR_32BIT, 0xC808, 0x2DC6C00},/* cam_sensor_cfg_pixclk = 480000*/ 591 {MISENSOR_16BIT, 0xC80C, 0x0001}, /* cam_sensor_cfg_row_speed = 1 */ 592 /* cam_sensor_cfg_fine_integ_time_min = 219 */ 593 {MISENSOR_16BIT, 0xC80E, 0x00DB}, 594 /* 0x062E //cam_sensor_cfg_fine_integ_time_max = 1459 */ 595 {MISENSOR_16BIT, 0xC810, 0x05B3}, 596 /* 0x074C //cam_sensor_cfg_frame_length_lines = 1006 */ 597 {MISENSOR_16BIT, 0xC812, 0x03E5}, 598 /* 0x06B1 /cam_sensor_cfg_line_length_pck = 1590 */ 599 {MISENSOR_16BIT, 0xC814, 0x0644}, 600 /* cam_sensor_cfg_fine_correction = 96 */ 601 {MISENSOR_16BIT, 0xC816, 0x0060}, 602 /* cam_sensor_cfg_cpipe_last_row = 963 */ 603 {MISENSOR_16BIT, 0xC818, 0x03C3}, 604 {MISENSOR_16BIT, 0xC826, 0x0020}, /* cam_sensor_cfg_reg_0_data = 32 */ 605 {MISENSOR_16BIT, 0xC834, 0x0000}, /* cam_sensor_control_read_mode = 0 */ 606 {MISENSOR_16BIT, 0xC854, 0x0000}, /* cam_crop_window_xoffset = 0 */ 607 {MISENSOR_16BIT, 0xC856, 0x0000}, /* cam_crop_window_yoffset = 0 */ 608 {MISENSOR_16BIT, 0xC858, 0x0508}, /* cam_crop_window_width = 1288 */ 609 {MISENSOR_16BIT, 0xC85A, 0x03C8}, /* cam_crop_window_height = 968 */ 610 {MISENSOR_8BIT, 0xC85C, 0x03}, /* cam_crop_cropmode = 3 */ 611 {MISENSOR_16BIT, 0xC868, 0x0508}, /* cam_output_width = 1288 */ 612 {MISENSOR_16BIT, 0xC86A, 0x03C8}, /* cam_output_height = 968 */ 613 {MISENSOR_8BIT, 0xC878, 0x00}, /* 0x0E //cam_aet_aemode = 0 */ 614 {MISENSOR_TOK_TERM, 0, 0} 615 }; 616 617 /* [1296x864_30fps] */ 618 static struct misensor_reg const mt9m114_864P_init[] = { 619 {MISENSOR_16BIT, 0x98E, 0x1000}, 620 {MISENSOR_8BIT, 0xC97E, 0x01}, /* cam_sysctl_pll_enable = 1 */ 621 {MISENSOR_16BIT, 0xC980, 0x0128}, /* cam_sysctl_pll_divider_m_n = 276 */ 622 {MISENSOR_16BIT, 0xC982, 0x0700}, /* cam_sysctl_pll_divider_p = 1792 */ 623 {MISENSOR_16BIT, 0xC800, 0x0038}, /* cam_sensor_cfg_y_addr_start = 56 */ 624 {MISENSOR_16BIT, 0xC802, 0x0000}, /* cam_sensor_cfg_x_addr_start = 0 */ 625 {MISENSOR_16BIT, 0xC804, 0x0397}, /* cam_sensor_cfg_y_addr_end = 919 */ 626 {MISENSOR_16BIT, 0xC806, 0x050F}, /* cam_sensor_cfg_x_addr_end = 1295 */ 627 /* cam_sensor_cfg_pixclk = 48000000 */ 628 {MISENSOR_32BIT, 0xC808, 0x2DC6C00}, 629 {MISENSOR_16BIT, 0xC80C, 0x0001}, /* cam_sensor_cfg_row_speed = 1 */ 630 /* cam_sensor_cfg_fine_integ_time_min = 219 */ 631 {MISENSOR_16BIT, 0xC80E, 0x00DB}, 632 /* cam_sensor_cfg_fine_integ_time_max = 1469 */ 633 {MISENSOR_16BIT, 0xC810, 0x05BD}, 634 /* cam_sensor_cfg_frame_length_lines = 1000 */ 635 {MISENSOR_16BIT, 0xC812, 0x03E8}, 636 /* cam_sensor_cfg_line_length_pck = 1600 */ 637 {MISENSOR_16BIT, 0xC814, 0x0640}, 638 /* cam_sensor_cfg_fine_correction = 96 */ 639 {MISENSOR_16BIT, 0xC816, 0x0060}, 640 /* cam_sensor_cfg_cpipe_last_row = 859 */ 641 {MISENSOR_16BIT, 0xC818, 0x035B}, 642 {MISENSOR_16BIT, 0xC826, 0x0020}, /* cam_sensor_cfg_reg_0_data = 32 */ 643 {MISENSOR_16BIT, 0xC834, 0x0000}, /* cam_sensor_control_read_mode = 0 */ 644 {MISENSOR_16BIT, 0xC854, 0x0000}, /* cam_crop_window_xoffset = 0 */ 645 {MISENSOR_16BIT, 0xC856, 0x0000}, /* cam_crop_window_yoffset = 0 */ 646 {MISENSOR_16BIT, 0xC858, 0x0508}, /* cam_crop_window_width = 1288 */ 647 {MISENSOR_16BIT, 0xC85A, 0x0358}, /* cam_crop_window_height = 856 */ 648 {MISENSOR_8BIT, 0xC85C, 0x03}, /* cam_crop_cropmode = 3 */ 649 {MISENSOR_16BIT, 0xC868, 0x0508}, /* cam_output_width = 1288 */ 650 {MISENSOR_16BIT, 0xC86A, 0x0358}, /* cam_output_height = 856 */ 651 {MISENSOR_8BIT, 0xC878, 0x00}, /* 0x0E //cam_aet_aemode = 0 */ 652 {MISENSOR_TOK_TERM, 0, 0} 653 }; 654 655 /* [1296x736_30fps] */ 656 static struct misensor_reg const mt9m114_736P_init[] = { 657 {MISENSOR_16BIT, 0x98E, 0x1000}, 658 {MISENSOR_8BIT, 0xC97E, 0x01}, /* cam_sysctl_pll_enable = 1 */ 659 {MISENSOR_16BIT, 0xC980, 0x011F}, /* cam_sysctl_pll_divider_m_n = 287 */ 660 {MISENSOR_16BIT, 0xC982, 0x0700}, /* cam_sysctl_pll_divider_p = 1792 */ 661 {MISENSOR_16BIT, 0xC800, 0x0078}, /* cam_sensor_cfg_y_addr_start = 120*/ 662 {MISENSOR_16BIT, 0xC802, 0x0000}, /* cam_sensor_cfg_x_addr_start = 0 */ 663 {MISENSOR_16BIT, 0xC804, 0x0357}, /* cam_sensor_cfg_y_addr_end = 855 */ 664 {MISENSOR_16BIT, 0xC806, 0x050F}, /* cam_sensor_cfg_x_addr_end = 1295 */ 665 {MISENSOR_32BIT, 0xC808, 0x237A07F}, /* cam_sensor_cfg_pixclk=37199999*/ 666 {MISENSOR_16BIT, 0xC80C, 0x0001}, /* cam_sensor_cfg_row_speed = 1 */ 667 /* cam_sensor_cfg_fine_integ_time_min = 219 */ 668 {MISENSOR_16BIT, 0xC80E, 0x00DB}, 669 /* 0x062E //cam_sensor_cfg_fine_integ_time_max = 1469 */ 670 {MISENSOR_16BIT, 0xC810, 0x05BD}, 671 /* 0x074C //cam_sensor_cfg_frame_length_lines = 775 */ 672 {MISENSOR_16BIT, 0xC812, 0x0307}, 673 /* 0x06B1 /cam_sensor_cfg_line_length_pck = 1600 */ 674 {MISENSOR_16BIT, 0xC814, 0x0640}, 675 /* cam_sensor_cfg_fine_correction = 96 */ 676 {MISENSOR_16BIT, 0xC816, 0x0060}, 677 /* cam_sensor_cfg_cpipe_last_row = 731 */ 678 {MISENSOR_16BIT, 0xC818, 0x02DB}, 679 {MISENSOR_16BIT, 0xC826, 0x0020}, /* cam_sensor_cfg_reg_0_data = 32 */ 680 {MISENSOR_16BIT, 0xC834, 0x0000}, /* cam_sensor_control_read_mode = 0 */ 681 {MISENSOR_16BIT, 0xC854, 0x0000}, /* cam_crop_window_xoffset = 0 */ 682 {MISENSOR_16BIT, 0xC856, 0x0000}, /* cam_crop_window_yoffset = 0 */ 683 {MISENSOR_16BIT, 0xC858, 0x0508}, /* cam_crop_window_width = 1288 */ 684 {MISENSOR_16BIT, 0xC85A, 0x02D8}, /* cam_crop_window_height = 728 */ 685 {MISENSOR_8BIT, 0xC85C, 0x03}, /* cam_crop_cropmode = 3 */ 686 {MISENSOR_16BIT, 0xC868, 0x0508}, /* cam_output_width = 1288 */ 687 {MISENSOR_16BIT, 0xC86A, 0x02D8}, /* cam_output_height = 728 */ 688 {MISENSOR_8BIT, 0xC878, 0x00}, /* 0x0E //cam_aet_aemode = 0 */ 689 {MISENSOR_TOK_TERM, 0, 0} 690 }; 691 692 /* [736x496_30fps_768Mbps] */ 693 #if 0 /* Currently unused */ 694 static struct misensor_reg const mt9m114_720_480P_init[] = { 695 {MISENSOR_16BIT, 0x98E, 0x1000}, 696 {MISENSOR_8BIT, 0xC97E, 0x01}, /* cam_sysctl_pll_enable = 1 */ 697 {MISENSOR_16BIT, 0xC980, 0x0128}, /* cam_sysctl_pll_divider_m_n = 276 */ 698 {MISENSOR_16BIT, 0xC982, 0x0700}, /* cam_sysctl_pll_divider_p = 1792 */ 699 {MISENSOR_16BIT, 0xC800, 0x00F0}, /* cam_sensor_cfg_y_addr_start = 240*/ 700 {MISENSOR_16BIT, 0xC802, 0x0118}, /* cam_sensor_cfg_x_addr_start = 280*/ 701 {MISENSOR_16BIT, 0xC804, 0x02DF}, /* cam_sensor_cfg_y_addr_end = 735 */ 702 {MISENSOR_16BIT, 0xC806, 0x03F7}, /* cam_sensor_cfg_x_addr_end = 1015 */ 703 /* cam_sensor_cfg_pixclk = 48000000 */ 704 {MISENSOR_32BIT, 0xC808, 0x2DC6C00}, 705 {MISENSOR_16BIT, 0xC80C, 0x0001}, /* cam_sensor_cfg_row_speed = 1 */ 706 /* cam_sensor_cfg_fine_integ_time_min = 219 */ 707 {MISENSOR_16BIT, 0xC80E, 0x00DB}, 708 /* 0x062E //cam_sensor_cfg_fine_integ_time_max = 1459 */ 709 {MISENSOR_16BIT, 0xC810, 0x05B3}, 710 /* 0x074C //cam_sensor_cfg_frame_length_lines = 997 */ 711 {MISENSOR_16BIT, 0xC812, 0x03E5}, 712 /* 0x06B1 /cam_sensor_cfg_line_length_pck = 1604 */ 713 {MISENSOR_16BIT, 0xC814, 0x0644}, 714 /* cam_sensor_cfg_fine_correction = 96 */ 715 {MISENSOR_16BIT, 0xC816, 0x0060}, 716 {MISENSOR_16BIT, 0xC818, 0x03C3}, /* cam_sensor_cfg_cpipe_last_row=963*/ 717 {MISENSOR_16BIT, 0xC826, 0x0020}, /* cam_sensor_cfg_reg_0_data = 32 */ 718 {MISENSOR_16BIT, 0xC834, 0x0000}, /* cam_sensor_control_read_mode = 0*/ 719 {MISENSOR_16BIT, 0xC854, 0x0000}, /* cam_crop_window_xoffset = 0 */ 720 {MISENSOR_16BIT, 0xC856, 0x0000}, /* cam_crop_window_yoffset = 0 */ 721 {MISENSOR_16BIT, 0xC858, 0x02D8}, /* cam_crop_window_width = 728 */ 722 {MISENSOR_16BIT, 0xC85A, 0x01E8}, /* cam_crop_window_height = 488 */ 723 {MISENSOR_8BIT, 0xC85C, 0x03}, /* cam_crop_cropmode = 3 */ 724 {MISENSOR_16BIT, 0xC868, 0x02D8}, /* cam_output_width = 728 */ 725 {MISENSOR_16BIT, 0xC86A, 0x01E8}, /* cam_output_height = 488 */ 726 {MISENSOR_8BIT, 0xC878, 0x00}, /* 0x0E //cam_aet_aemode = 0 */ 727 {MISENSOR_TOK_TERM, 0, 0} 728 }; 729 #endif 730 731 static struct misensor_reg const mt9m114_common[] = { 732 /* reset */ 733 {MISENSOR_16BIT, 0x301A, 0x0234}, 734 /* LOAD = Step2-PLL_Timing //PLL and Timing */ 735 {MISENSOR_16BIT, 0x098E, 0x1000}, /* LOGICAL_ADDRESS_ACCESS */ 736 {MISENSOR_8BIT, 0xC97E, 0x01}, /* cam_sysctl_pll_enable = 1 */ 737 {MISENSOR_16BIT, 0xC980, 0x0128}, /* cam_sysctl_pll_divider_m_n = 276 */ 738 {MISENSOR_16BIT, 0xC982, 0x0700}, /* cam_sysctl_pll_divider_p = 1792 */ 739 {MISENSOR_16BIT, 0xC800, 0x0000}, /* cam_sensor_cfg_y_addr_start = 216*/ 740 {MISENSOR_16BIT, 0xC802, 0x0000}, /* cam_sensor_cfg_x_addr_start = 168*/ 741 {MISENSOR_16BIT, 0xC804, 0x03CD}, /* cam_sensor_cfg_y_addr_end = 761 */ 742 {MISENSOR_16BIT, 0xC806, 0x050D}, /* cam_sensor_cfg_x_addr_end = 1127 */ 743 {MISENSOR_16BIT, 0xC808, 0x02DC}, /* cam_sensor_cfg_pixclk = 24000000 */ 744 {MISENSOR_16BIT, 0xC80A, 0x6C00}, 745 {MISENSOR_16BIT, 0xC80C, 0x0001}, /* cam_sensor_cfg_row_speed = 1 */ 746 /* cam_sensor_cfg_fine_integ_time_min = 219 */ 747 {MISENSOR_16BIT, 0xC80E, 0x01C3}, 748 /* cam_sensor_cfg_fine_integ_time_max = 1149 */ 749 {MISENSOR_16BIT, 0xC810, 0x03F7}, 750 /* cam_sensor_cfg_frame_length_lines = 625 */ 751 {MISENSOR_16BIT, 0xC812, 0x0500}, 752 /* cam_sensor_cfg_line_length_pck = 1280 */ 753 {MISENSOR_16BIT, 0xC814, 0x04E2}, 754 /* cam_sensor_cfg_fine_correction = 96 */ 755 {MISENSOR_16BIT, 0xC816, 0x00E0}, 756 /* cam_sensor_cfg_cpipe_last_row = 541 */ 757 {MISENSOR_16BIT, 0xC818, 0x01E3}, 758 {MISENSOR_16BIT, 0xC826, 0x0020}, /* cam_sensor_cfg_reg_0_data = 32 */ 759 {MISENSOR_16BIT, 0xC834, 0x0330}, /* cam_sensor_control_read_mode = 0 */ 760 {MISENSOR_16BIT, 0xC854, 0x0000}, /* cam_crop_window_xoffset = 0 */ 761 {MISENSOR_16BIT, 0xC856, 0x0000}, /* cam_crop_window_yoffset = 0 */ 762 {MISENSOR_16BIT, 0xC858, 0x0280}, /* cam_crop_window_width = 952 */ 763 {MISENSOR_16BIT, 0xC85A, 0x01E0}, /* cam_crop_window_height = 538 */ 764 {MISENSOR_8BIT, 0xC85C, 0x03}, /* cam_crop_cropmode = 3 */ 765 {MISENSOR_16BIT, 0xC868, 0x0280}, /* cam_output_width = 952 */ 766 {MISENSOR_16BIT, 0xC86A, 0x01E0}, /* cam_output_height = 538 */ 767 /* 768 * LOAD = Step3-Recommended 769 * Patch, Errata and Sensor optimization Setting 770 */ 771 {MISENSOR_16BIT, 0x316A, 0x8270}, /* DAC_TXLO_ROW */ 772 {MISENSOR_16BIT, 0x316C, 0x8270}, /* DAC_TXLO */ 773 {MISENSOR_16BIT, 0x3ED0, 0x2305}, /* DAC_LD_4_5 */ 774 {MISENSOR_16BIT, 0x3ED2, 0x77CF}, /* DAC_LD_6_7 */ 775 {MISENSOR_16BIT, 0x316E, 0x8202}, /* DAC_ECL */ 776 {MISENSOR_16BIT, 0x3180, 0x87FF}, /* DELTA_DK_CONTROL */ 777 {MISENSOR_16BIT, 0x30D4, 0x6080}, /* COLUMN_CORRECTION */ 778 {MISENSOR_16BIT, 0xA802, 0x0008}, /* AE_TRACK_MODE */ 779 {MISENSOR_16BIT, 0x3E14, 0xFF39}, /* SAMP_COL_PUP2 */ 780 {MISENSOR_16BIT, 0x31E0, 0x0003}, /* PIX_DEF_ID */ 781 /* LOAD = Step8-Features //Ports, special features, etc. */ 782 {MISENSOR_16BIT, 0x098E, 0x0000}, /* LOGICAL_ADDRESS_ACCESS */ 783 {MISENSOR_16BIT, 0x001E, 0x0777}, /* PAD_SLEW */ 784 {MISENSOR_16BIT, 0x098E, 0x0000}, /* LOGICAL_ADDRESS_ACCESS */ 785 {MISENSOR_16BIT, 0xC984, 0x8001}, /* CAM_PORT_OUTPUT_CONTROL */ 786 {MISENSOR_16BIT, 0xC988, 0x0F00}, /* CAM_PORT_MIPI_TIMING_T_HS_ZERO */ 787 /* CAM_PORT_MIPI_TIMING_T_HS_EXIT_HS_TRAIL */ 788 {MISENSOR_16BIT, 0xC98A, 0x0B07}, 789 /* CAM_PORT_MIPI_TIMING_T_CLK_POST_CLK_PRE */ 790 {MISENSOR_16BIT, 0xC98C, 0x0D01}, 791 /* CAM_PORT_MIPI_TIMING_T_CLK_TRAIL_CLK_ZERO */ 792 {MISENSOR_16BIT, 0xC98E, 0x071D}, 793 {MISENSOR_16BIT, 0xC990, 0x0006}, /* CAM_PORT_MIPI_TIMING_T_LPX */ 794 {MISENSOR_16BIT, 0xC992, 0x0A0C}, /* CAM_PORT_MIPI_TIMING_INIT_TIMING */ 795 {MISENSOR_16BIT, 0x3C5A, 0x0009}, /* MIPI_DELAY_TRIM */ 796 {MISENSOR_16BIT, 0xC86C, 0x0210}, /* CAM_OUTPUT_FORMAT */ 797 {MISENSOR_16BIT, 0xA804, 0x0000}, /* AE_TRACK_ALGO */ 798 /* default exposure */ 799 {MISENSOR_16BIT, 0x3012, 0x0110}, /* COMMAND_REGISTER */ 800 {MISENSOR_TOK_TERM, 0, 0}, 801 802 }; 803 804 #if 0 /* Currently unused */ 805 static struct misensor_reg const mt9m114_antiflicker_50hz[] = { 806 {MISENSOR_16BIT, 0x098E, 0xC88B}, 807 {MISENSOR_8BIT, 0xC88B, 0x32}, 808 {MISENSOR_8BIT, 0xDC00, 0x28}, 809 {MISENSOR_16BIT, 0x0080, 0x8002}, 810 {MISENSOR_TOK_TERM, 0, 0} 811 }; 812 813 static struct misensor_reg const mt9m114_antiflicker_60hz[] = { 814 {MISENSOR_16BIT, 0x098E, 0xC88B}, 815 {MISENSOR_8BIT, 0xC88B, 0x3C}, 816 {MISENSOR_8BIT, 0xDC00, 0x28}, 817 {MISENSOR_16BIT, 0x0080, 0x8002}, 818 {MISENSOR_TOK_TERM, 0, 0} 819 }; 820 821 static struct misensor_reg const mt9m114_iq[] = { 822 /* [Step3-Recommended] [Sensor optimization] */ 823 {MISENSOR_16BIT, 0x316A, 0x8270}, 824 {MISENSOR_16BIT, 0x316C, 0x8270}, 825 {MISENSOR_16BIT, 0x3ED0, 0x2305}, 826 {MISENSOR_16BIT, 0x3ED2, 0x77CF}, 827 {MISENSOR_16BIT, 0x316E, 0x8202}, 828 {MISENSOR_16BIT, 0x3180, 0x87FF}, 829 {MISENSOR_16BIT, 0x30D4, 0x6080}, 830 {MISENSOR_16BIT, 0xA802, 0x0008}, 831 832 /* This register is from vender to avoid low light color noise */ 833 {MISENSOR_16BIT, 0x31E0, 0x0001}, 834 835 /* LOAD=Errata item 1 */ 836 {MISENSOR_16BIT, 0x3E14, 0xFF39}, 837 838 /* LOAD=Errata item 2 */ 839 {MISENSOR_16BIT, 0x301A, 0x8234}, 840 841 /* 842 * LOAD=Errata item 3 843 * LOAD=Patch 0202; 844 * Feature Recommended; Black level correction fix 845 */ 846 {MISENSOR_16BIT, 0x0982, 0x0001}, 847 {MISENSOR_16BIT, 0x098A, 0x5000}, 848 {MISENSOR_16BIT, 0xD000, 0x70CF}, 849 {MISENSOR_16BIT, 0xD002, 0xFFFF}, 850 {MISENSOR_16BIT, 0xD004, 0xC5D4}, 851 {MISENSOR_16BIT, 0xD006, 0x903A}, 852 {MISENSOR_16BIT, 0xD008, 0x2144}, 853 {MISENSOR_16BIT, 0xD00A, 0x0C00}, 854 {MISENSOR_16BIT, 0xD00C, 0x2186}, 855 {MISENSOR_16BIT, 0xD00E, 0x0FF3}, 856 {MISENSOR_16BIT, 0xD010, 0xB844}, 857 {MISENSOR_16BIT, 0xD012, 0xB948}, 858 {MISENSOR_16BIT, 0xD014, 0xE082}, 859 {MISENSOR_16BIT, 0xD016, 0x20CC}, 860 {MISENSOR_16BIT, 0xD018, 0x80E2}, 861 {MISENSOR_16BIT, 0xD01A, 0x21CC}, 862 {MISENSOR_16BIT, 0xD01C, 0x80A2}, 863 {MISENSOR_16BIT, 0xD01E, 0x21CC}, 864 {MISENSOR_16BIT, 0xD020, 0x80E2}, 865 {MISENSOR_16BIT, 0xD022, 0xF404}, 866 {MISENSOR_16BIT, 0xD024, 0xD801}, 867 {MISENSOR_16BIT, 0xD026, 0xF003}, 868 {MISENSOR_16BIT, 0xD028, 0xD800}, 869 {MISENSOR_16BIT, 0xD02A, 0x7EE0}, 870 {MISENSOR_16BIT, 0xD02C, 0xC0F1}, 871 {MISENSOR_16BIT, 0xD02E, 0x08BA}, 872 873 {MISENSOR_16BIT, 0xD030, 0x0600}, 874 {MISENSOR_16BIT, 0xD032, 0xC1A1}, 875 {MISENSOR_16BIT, 0xD034, 0x76CF}, 876 {MISENSOR_16BIT, 0xD036, 0xFFFF}, 877 {MISENSOR_16BIT, 0xD038, 0xC130}, 878 {MISENSOR_16BIT, 0xD03A, 0x6E04}, 879 {MISENSOR_16BIT, 0xD03C, 0xC040}, 880 {MISENSOR_16BIT, 0xD03E, 0x71CF}, 881 {MISENSOR_16BIT, 0xD040, 0xFFFF}, 882 {MISENSOR_16BIT, 0xD042, 0xC790}, 883 {MISENSOR_16BIT, 0xD044, 0x8103}, 884 {MISENSOR_16BIT, 0xD046, 0x77CF}, 885 {MISENSOR_16BIT, 0xD048, 0xFFFF}, 886 {MISENSOR_16BIT, 0xD04A, 0xC7C0}, 887 {MISENSOR_16BIT, 0xD04C, 0xE001}, 888 {MISENSOR_16BIT, 0xD04E, 0xA103}, 889 {MISENSOR_16BIT, 0xD050, 0xD800}, 890 {MISENSOR_16BIT, 0xD052, 0x0C6A}, 891 {MISENSOR_16BIT, 0xD054, 0x04E0}, 892 {MISENSOR_16BIT, 0xD056, 0xB89E}, 893 {MISENSOR_16BIT, 0xD058, 0x7508}, 894 {MISENSOR_16BIT, 0xD05A, 0x8E1C}, 895 {MISENSOR_16BIT, 0xD05C, 0x0809}, 896 {MISENSOR_16BIT, 0xD05E, 0x0191}, 897 898 {MISENSOR_16BIT, 0xD060, 0xD801}, 899 {MISENSOR_16BIT, 0xD062, 0xAE1D}, 900 {MISENSOR_16BIT, 0xD064, 0xE580}, 901 {MISENSOR_16BIT, 0xD066, 0x20CA}, 902 {MISENSOR_16BIT, 0xD068, 0x0022}, 903 {MISENSOR_16BIT, 0xD06A, 0x20CF}, 904 {MISENSOR_16BIT, 0xD06C, 0x0522}, 905 {MISENSOR_16BIT, 0xD06E, 0x0C5C}, 906 {MISENSOR_16BIT, 0xD070, 0x04E2}, 907 {MISENSOR_16BIT, 0xD072, 0x21CA}, 908 {MISENSOR_16BIT, 0xD074, 0x0062}, 909 {MISENSOR_16BIT, 0xD076, 0xE580}, 910 {MISENSOR_16BIT, 0xD078, 0xD901}, 911 {MISENSOR_16BIT, 0xD07A, 0x79C0}, 912 {MISENSOR_16BIT, 0xD07C, 0xD800}, 913 {MISENSOR_16BIT, 0xD07E, 0x0BE6}, 914 {MISENSOR_16BIT, 0xD080, 0x04E0}, 915 {MISENSOR_16BIT, 0xD082, 0xB89E}, 916 {MISENSOR_16BIT, 0xD084, 0x70CF}, 917 {MISENSOR_16BIT, 0xD086, 0xFFFF}, 918 {MISENSOR_16BIT, 0xD088, 0xC8D4}, 919 {MISENSOR_16BIT, 0xD08A, 0x9002}, 920 {MISENSOR_16BIT, 0xD08C, 0x0857}, 921 {MISENSOR_16BIT, 0xD08E, 0x025E}, 922 923 {MISENSOR_16BIT, 0xD090, 0xFFDC}, 924 {MISENSOR_16BIT, 0xD092, 0xE080}, 925 {MISENSOR_16BIT, 0xD094, 0x25CC}, 926 {MISENSOR_16BIT, 0xD096, 0x9022}, 927 {MISENSOR_16BIT, 0xD098, 0xF225}, 928 {MISENSOR_16BIT, 0xD09A, 0x1700}, 929 {MISENSOR_16BIT, 0xD09C, 0x108A}, 930 {MISENSOR_16BIT, 0xD09E, 0x73CF}, 931 {MISENSOR_16BIT, 0xD0A0, 0xFF00}, 932 {MISENSOR_16BIT, 0xD0A2, 0x3174}, 933 {MISENSOR_16BIT, 0xD0A4, 0x9307}, 934 {MISENSOR_16BIT, 0xD0A6, 0x2A04}, 935 {MISENSOR_16BIT, 0xD0A8, 0x103E}, 936 {MISENSOR_16BIT, 0xD0AA, 0x9328}, 937 {MISENSOR_16BIT, 0xD0AC, 0x2942}, 938 {MISENSOR_16BIT, 0xD0AE, 0x7140}, 939 {MISENSOR_16BIT, 0xD0B0, 0x2A04}, 940 {MISENSOR_16BIT, 0xD0B2, 0x107E}, 941 {MISENSOR_16BIT, 0xD0B4, 0x9349}, 942 {MISENSOR_16BIT, 0xD0B6, 0x2942}, 943 {MISENSOR_16BIT, 0xD0B8, 0x7141}, 944 {MISENSOR_16BIT, 0xD0BA, 0x2A04}, 945 {MISENSOR_16BIT, 0xD0BC, 0x10BE}, 946 {MISENSOR_16BIT, 0xD0BE, 0x934A}, 947 948 {MISENSOR_16BIT, 0xD0C0, 0x2942}, 949 {MISENSOR_16BIT, 0xD0C2, 0x714B}, 950 {MISENSOR_16BIT, 0xD0C4, 0x2A04}, 951 {MISENSOR_16BIT, 0xD0C6, 0x10BE}, 952 {MISENSOR_16BIT, 0xD0C8, 0x130C}, 953 {MISENSOR_16BIT, 0xD0CA, 0x010A}, 954 {MISENSOR_16BIT, 0xD0CC, 0x2942}, 955 {MISENSOR_16BIT, 0xD0CE, 0x7142}, 956 {MISENSOR_16BIT, 0xD0D0, 0x2250}, 957 {MISENSOR_16BIT, 0xD0D2, 0x13CA}, 958 {MISENSOR_16BIT, 0xD0D4, 0x1B0C}, 959 {MISENSOR_16BIT, 0xD0D6, 0x0284}, 960 {MISENSOR_16BIT, 0xD0D8, 0xB307}, 961 {MISENSOR_16BIT, 0xD0DA, 0xB328}, 962 {MISENSOR_16BIT, 0xD0DC, 0x1B12}, 963 {MISENSOR_16BIT, 0xD0DE, 0x02C4}, 964 {MISENSOR_16BIT, 0xD0E0, 0xB34A}, 965 {MISENSOR_16BIT, 0xD0E2, 0xED88}, 966 {MISENSOR_16BIT, 0xD0E4, 0x71CF}, 967 {MISENSOR_16BIT, 0xD0E6, 0xFF00}, 968 {MISENSOR_16BIT, 0xD0E8, 0x3174}, 969 {MISENSOR_16BIT, 0xD0EA, 0x9106}, 970 {MISENSOR_16BIT, 0xD0EC, 0xB88F}, 971 {MISENSOR_16BIT, 0xD0EE, 0xB106}, 972 973 {MISENSOR_16BIT, 0xD0F0, 0x210A}, 974 {MISENSOR_16BIT, 0xD0F2, 0x8340}, 975 {MISENSOR_16BIT, 0xD0F4, 0xC000}, 976 {MISENSOR_16BIT, 0xD0F6, 0x21CA}, 977 {MISENSOR_16BIT, 0xD0F8, 0x0062}, 978 {MISENSOR_16BIT, 0xD0FA, 0x20F0}, 979 {MISENSOR_16BIT, 0xD0FC, 0x0040}, 980 {MISENSOR_16BIT, 0xD0FE, 0x0B02}, 981 {MISENSOR_16BIT, 0xD100, 0x0320}, 982 {MISENSOR_16BIT, 0xD102, 0xD901}, 983 {MISENSOR_16BIT, 0xD104, 0x07F1}, 984 {MISENSOR_16BIT, 0xD106, 0x05E0}, 985 {MISENSOR_16BIT, 0xD108, 0xC0A1}, 986 {MISENSOR_16BIT, 0xD10A, 0x78E0}, 987 {MISENSOR_16BIT, 0xD10C, 0xC0F1}, 988 {MISENSOR_16BIT, 0xD10E, 0x71CF}, 989 {MISENSOR_16BIT, 0xD110, 0xFFFF}, 990 {MISENSOR_16BIT, 0xD112, 0xC7C0}, 991 {MISENSOR_16BIT, 0xD114, 0xD840}, 992 {MISENSOR_16BIT, 0xD116, 0xA900}, 993 {MISENSOR_16BIT, 0xD118, 0x71CF}, 994 {MISENSOR_16BIT, 0xD11A, 0xFFFF}, 995 {MISENSOR_16BIT, 0xD11C, 0xD02C}, 996 {MISENSOR_16BIT, 0xD11E, 0xD81E}, 997 998 {MISENSOR_16BIT, 0xD120, 0x0A5A}, 999 {MISENSOR_16BIT, 0xD122, 0x04E0}, 1000 {MISENSOR_16BIT, 0xD124, 0xDA00}, 1001 {MISENSOR_16BIT, 0xD126, 0xD800}, 1002 {MISENSOR_16BIT, 0xD128, 0xC0D1}, 1003 {MISENSOR_16BIT, 0xD12A, 0x7EE0}, 1004 1005 {MISENSOR_16BIT, 0x098E, 0x0000}, 1006 {MISENSOR_16BIT, 0xE000, 0x010C}, 1007 {MISENSOR_16BIT, 0xE002, 0x0202}, 1008 {MISENSOR_16BIT, 0xE004, 0x4103}, 1009 {MISENSOR_16BIT, 0xE006, 0x0202}, 1010 {MISENSOR_16BIT, 0x0080, 0xFFF0}, 1011 {MISENSOR_16BIT, 0x0080, 0xFFF1}, 1012 1013 /* LOAD=Patch 0302; Feature Recommended; Adaptive Sensitivity */ 1014 {MISENSOR_16BIT, 0x0982, 0x0001}, 1015 {MISENSOR_16BIT, 0x098A, 0x512C}, 1016 {MISENSOR_16BIT, 0xD12C, 0x70CF}, 1017 {MISENSOR_16BIT, 0xD12E, 0xFFFF}, 1018 {MISENSOR_16BIT, 0xD130, 0xC5D4}, 1019 {MISENSOR_16BIT, 0xD132, 0x903A}, 1020 {MISENSOR_16BIT, 0xD134, 0x2144}, 1021 {MISENSOR_16BIT, 0xD136, 0x0C00}, 1022 {MISENSOR_16BIT, 0xD138, 0x2186}, 1023 {MISENSOR_16BIT, 0xD13A, 0x0FF3}, 1024 {MISENSOR_16BIT, 0xD13C, 0xB844}, 1025 {MISENSOR_16BIT, 0xD13E, 0x262F}, 1026 {MISENSOR_16BIT, 0xD140, 0xF008}, 1027 {MISENSOR_16BIT, 0xD142, 0xB948}, 1028 {MISENSOR_16BIT, 0xD144, 0x21CC}, 1029 {MISENSOR_16BIT, 0xD146, 0x8021}, 1030 {MISENSOR_16BIT, 0xD148, 0xD801}, 1031 {MISENSOR_16BIT, 0xD14A, 0xF203}, 1032 {MISENSOR_16BIT, 0xD14C, 0xD800}, 1033 {MISENSOR_16BIT, 0xD14E, 0x7EE0}, 1034 {MISENSOR_16BIT, 0xD150, 0xC0F1}, 1035 {MISENSOR_16BIT, 0xD152, 0x71CF}, 1036 {MISENSOR_16BIT, 0xD154, 0xFFFF}, 1037 {MISENSOR_16BIT, 0xD156, 0xC610}, 1038 {MISENSOR_16BIT, 0xD158, 0x910E}, 1039 {MISENSOR_16BIT, 0xD15A, 0x208C}, 1040 {MISENSOR_16BIT, 0xD15C, 0x8014}, 1041 {MISENSOR_16BIT, 0xD15E, 0xF418}, 1042 {MISENSOR_16BIT, 0xD160, 0x910F}, 1043 {MISENSOR_16BIT, 0xD162, 0x208C}, 1044 {MISENSOR_16BIT, 0xD164, 0x800F}, 1045 {MISENSOR_16BIT, 0xD166, 0xF414}, 1046 {MISENSOR_16BIT, 0xD168, 0x9116}, 1047 {MISENSOR_16BIT, 0xD16A, 0x208C}, 1048 {MISENSOR_16BIT, 0xD16C, 0x800A}, 1049 {MISENSOR_16BIT, 0xD16E, 0xF410}, 1050 {MISENSOR_16BIT, 0xD170, 0x9117}, 1051 {MISENSOR_16BIT, 0xD172, 0x208C}, 1052 {MISENSOR_16BIT, 0xD174, 0x8807}, 1053 {MISENSOR_16BIT, 0xD176, 0xF40C}, 1054 {MISENSOR_16BIT, 0xD178, 0x9118}, 1055 {MISENSOR_16BIT, 0xD17A, 0x2086}, 1056 {MISENSOR_16BIT, 0xD17C, 0x0FF3}, 1057 {MISENSOR_16BIT, 0xD17E, 0xB848}, 1058 {MISENSOR_16BIT, 0xD180, 0x080D}, 1059 {MISENSOR_16BIT, 0xD182, 0x0090}, 1060 {MISENSOR_16BIT, 0xD184, 0xFFEA}, 1061 {MISENSOR_16BIT, 0xD186, 0xE081}, 1062 {MISENSOR_16BIT, 0xD188, 0xD801}, 1063 {MISENSOR_16BIT, 0xD18A, 0xF203}, 1064 {MISENSOR_16BIT, 0xD18C, 0xD800}, 1065 {MISENSOR_16BIT, 0xD18E, 0xC0D1}, 1066 {MISENSOR_16BIT, 0xD190, 0x7EE0}, 1067 {MISENSOR_16BIT, 0xD192, 0x78E0}, 1068 {MISENSOR_16BIT, 0xD194, 0xC0F1}, 1069 {MISENSOR_16BIT, 0xD196, 0x71CF}, 1070 {MISENSOR_16BIT, 0xD198, 0xFFFF}, 1071 {MISENSOR_16BIT, 0xD19A, 0xC610}, 1072 {MISENSOR_16BIT, 0xD19C, 0x910E}, 1073 {MISENSOR_16BIT, 0xD19E, 0x208C}, 1074 {MISENSOR_16BIT, 0xD1A0, 0x800A}, 1075 {MISENSOR_16BIT, 0xD1A2, 0xF418}, 1076 {MISENSOR_16BIT, 0xD1A4, 0x910F}, 1077 {MISENSOR_16BIT, 0xD1A6, 0x208C}, 1078 {MISENSOR_16BIT, 0xD1A8, 0x8807}, 1079 {MISENSOR_16BIT, 0xD1AA, 0xF414}, 1080 {MISENSOR_16BIT, 0xD1AC, 0x9116}, 1081 {MISENSOR_16BIT, 0xD1AE, 0x208C}, 1082 {MISENSOR_16BIT, 0xD1B0, 0x800A}, 1083 {MISENSOR_16BIT, 0xD1B2, 0xF410}, 1084 {MISENSOR_16BIT, 0xD1B4, 0x9117}, 1085 {MISENSOR_16BIT, 0xD1B6, 0x208C}, 1086 {MISENSOR_16BIT, 0xD1B8, 0x8807}, 1087 {MISENSOR_16BIT, 0xD1BA, 0xF40C}, 1088 {MISENSOR_16BIT, 0xD1BC, 0x9118}, 1089 {MISENSOR_16BIT, 0xD1BE, 0x2086}, 1090 {MISENSOR_16BIT, 0xD1C0, 0x0FF3}, 1091 {MISENSOR_16BIT, 0xD1C2, 0xB848}, 1092 {MISENSOR_16BIT, 0xD1C4, 0x080D}, 1093 {MISENSOR_16BIT, 0xD1C6, 0x0090}, 1094 {MISENSOR_16BIT, 0xD1C8, 0xFFD9}, 1095 {MISENSOR_16BIT, 0xD1CA, 0xE080}, 1096 {MISENSOR_16BIT, 0xD1CC, 0xD801}, 1097 {MISENSOR_16BIT, 0xD1CE, 0xF203}, 1098 {MISENSOR_16BIT, 0xD1D0, 0xD800}, 1099 {MISENSOR_16BIT, 0xD1D2, 0xF1DF}, 1100 {MISENSOR_16BIT, 0xD1D4, 0x9040}, 1101 {MISENSOR_16BIT, 0xD1D6, 0x71CF}, 1102 {MISENSOR_16BIT, 0xD1D8, 0xFFFF}, 1103 {MISENSOR_16BIT, 0xD1DA, 0xC5D4}, 1104 {MISENSOR_16BIT, 0xD1DC, 0xB15A}, 1105 {MISENSOR_16BIT, 0xD1DE, 0x9041}, 1106 {MISENSOR_16BIT, 0xD1E0, 0x73CF}, 1107 {MISENSOR_16BIT, 0xD1E2, 0xFFFF}, 1108 {MISENSOR_16BIT, 0xD1E4, 0xC7D0}, 1109 {MISENSOR_16BIT, 0xD1E6, 0xB140}, 1110 {MISENSOR_16BIT, 0xD1E8, 0x9042}, 1111 {MISENSOR_16BIT, 0xD1EA, 0xB141}, 1112 {MISENSOR_16BIT, 0xD1EC, 0x9043}, 1113 {MISENSOR_16BIT, 0xD1EE, 0xB142}, 1114 {MISENSOR_16BIT, 0xD1F0, 0x9044}, 1115 {MISENSOR_16BIT, 0xD1F2, 0xB143}, 1116 {MISENSOR_16BIT, 0xD1F4, 0x9045}, 1117 {MISENSOR_16BIT, 0xD1F6, 0xB147}, 1118 {MISENSOR_16BIT, 0xD1F8, 0x9046}, 1119 {MISENSOR_16BIT, 0xD1FA, 0xB148}, 1120 {MISENSOR_16BIT, 0xD1FC, 0x9047}, 1121 {MISENSOR_16BIT, 0xD1FE, 0xB14B}, 1122 {MISENSOR_16BIT, 0xD200, 0x9048}, 1123 {MISENSOR_16BIT, 0xD202, 0xB14C}, 1124 {MISENSOR_16BIT, 0xD204, 0x9049}, 1125 {MISENSOR_16BIT, 0xD206, 0x1958}, 1126 {MISENSOR_16BIT, 0xD208, 0x0084}, 1127 {MISENSOR_16BIT, 0xD20A, 0x904A}, 1128 {MISENSOR_16BIT, 0xD20C, 0x195A}, 1129 {MISENSOR_16BIT, 0xD20E, 0x0084}, 1130 {MISENSOR_16BIT, 0xD210, 0x8856}, 1131 {MISENSOR_16BIT, 0xD212, 0x1B36}, 1132 {MISENSOR_16BIT, 0xD214, 0x8082}, 1133 {MISENSOR_16BIT, 0xD216, 0x8857}, 1134 {MISENSOR_16BIT, 0xD218, 0x1B37}, 1135 {MISENSOR_16BIT, 0xD21A, 0x8082}, 1136 {MISENSOR_16BIT, 0xD21C, 0x904C}, 1137 {MISENSOR_16BIT, 0xD21E, 0x19A7}, 1138 {MISENSOR_16BIT, 0xD220, 0x009C}, 1139 {MISENSOR_16BIT, 0xD222, 0x881A}, 1140 {MISENSOR_16BIT, 0xD224, 0x7FE0}, 1141 {MISENSOR_16BIT, 0xD226, 0x1B54}, 1142 {MISENSOR_16BIT, 0xD228, 0x8002}, 1143 {MISENSOR_16BIT, 0xD22A, 0x78E0}, 1144 {MISENSOR_16BIT, 0xD22C, 0x71CF}, 1145 {MISENSOR_16BIT, 0xD22E, 0xFFFF}, 1146 {MISENSOR_16BIT, 0xD230, 0xC350}, 1147 {MISENSOR_16BIT, 0xD232, 0xD828}, 1148 {MISENSOR_16BIT, 0xD234, 0xA90B}, 1149 {MISENSOR_16BIT, 0xD236, 0x8100}, 1150 {MISENSOR_16BIT, 0xD238, 0x01C5}, 1151 {MISENSOR_16BIT, 0xD23A, 0x0320}, 1152 {MISENSOR_16BIT, 0xD23C, 0xD900}, 1153 {MISENSOR_16BIT, 0xD23E, 0x78E0}, 1154 {MISENSOR_16BIT, 0xD240, 0x220A}, 1155 {MISENSOR_16BIT, 0xD242, 0x1F80}, 1156 {MISENSOR_16BIT, 0xD244, 0xFFFF}, 1157 {MISENSOR_16BIT, 0xD246, 0xD4E0}, 1158 {MISENSOR_16BIT, 0xD248, 0xC0F1}, 1159 {MISENSOR_16BIT, 0xD24A, 0x0811}, 1160 {MISENSOR_16BIT, 0xD24C, 0x0051}, 1161 {MISENSOR_16BIT, 0xD24E, 0x2240}, 1162 {MISENSOR_16BIT, 0xD250, 0x1200}, 1163 {MISENSOR_16BIT, 0xD252, 0xFFE1}, 1164 {MISENSOR_16BIT, 0xD254, 0xD801}, 1165 {MISENSOR_16BIT, 0xD256, 0xF006}, 1166 {MISENSOR_16BIT, 0xD258, 0x2240}, 1167 {MISENSOR_16BIT, 0xD25A, 0x1900}, 1168 {MISENSOR_16BIT, 0xD25C, 0xFFDE}, 1169 {MISENSOR_16BIT, 0xD25E, 0xD802}, 1170 {MISENSOR_16BIT, 0xD260, 0x1A05}, 1171 {MISENSOR_16BIT, 0xD262, 0x1002}, 1172 {MISENSOR_16BIT, 0xD264, 0xFFF2}, 1173 {MISENSOR_16BIT, 0xD266, 0xF195}, 1174 {MISENSOR_16BIT, 0xD268, 0xC0F1}, 1175 {MISENSOR_16BIT, 0xD26A, 0x0E7E}, 1176 {MISENSOR_16BIT, 0xD26C, 0x05C0}, 1177 {MISENSOR_16BIT, 0xD26E, 0x75CF}, 1178 {MISENSOR_16BIT, 0xD270, 0xFFFF}, 1179 {MISENSOR_16BIT, 0xD272, 0xC84C}, 1180 {MISENSOR_16BIT, 0xD274, 0x9502}, 1181 {MISENSOR_16BIT, 0xD276, 0x77CF}, 1182 {MISENSOR_16BIT, 0xD278, 0xFFFF}, 1183 {MISENSOR_16BIT, 0xD27A, 0xC344}, 1184 {MISENSOR_16BIT, 0xD27C, 0x2044}, 1185 {MISENSOR_16BIT, 0xD27E, 0x008E}, 1186 {MISENSOR_16BIT, 0xD280, 0xB8A1}, 1187 {MISENSOR_16BIT, 0xD282, 0x0926}, 1188 {MISENSOR_16BIT, 0xD284, 0x03E0}, 1189 {MISENSOR_16BIT, 0xD286, 0xB502}, 1190 {MISENSOR_16BIT, 0xD288, 0x9502}, 1191 {MISENSOR_16BIT, 0xD28A, 0x952E}, 1192 {MISENSOR_16BIT, 0xD28C, 0x7E05}, 1193 {MISENSOR_16BIT, 0xD28E, 0xB5C2}, 1194 {MISENSOR_16BIT, 0xD290, 0x70CF}, 1195 {MISENSOR_16BIT, 0xD292, 0xFFFF}, 1196 {MISENSOR_16BIT, 0xD294, 0xC610}, 1197 {MISENSOR_16BIT, 0xD296, 0x099A}, 1198 {MISENSOR_16BIT, 0xD298, 0x04A0}, 1199 {MISENSOR_16BIT, 0xD29A, 0xB026}, 1200 {MISENSOR_16BIT, 0xD29C, 0x0E02}, 1201 {MISENSOR_16BIT, 0xD29E, 0x0560}, 1202 {MISENSOR_16BIT, 0xD2A0, 0xDE00}, 1203 {MISENSOR_16BIT, 0xD2A2, 0x0A12}, 1204 {MISENSOR_16BIT, 0xD2A4, 0x0320}, 1205 {MISENSOR_16BIT, 0xD2A6, 0xB7C4}, 1206 {MISENSOR_16BIT, 0xD2A8, 0x0B36}, 1207 {MISENSOR_16BIT, 0xD2AA, 0x03A0}, 1208 {MISENSOR_16BIT, 0xD2AC, 0x70C9}, 1209 {MISENSOR_16BIT, 0xD2AE, 0x9502}, 1210 {MISENSOR_16BIT, 0xD2B0, 0x7608}, 1211 {MISENSOR_16BIT, 0xD2B2, 0xB8A8}, 1212 {MISENSOR_16BIT, 0xD2B4, 0xB502}, 1213 {MISENSOR_16BIT, 0xD2B6, 0x70CF}, 1214 {MISENSOR_16BIT, 0xD2B8, 0x0000}, 1215 {MISENSOR_16BIT, 0xD2BA, 0x5536}, 1216 {MISENSOR_16BIT, 0xD2BC, 0x7860}, 1217 {MISENSOR_16BIT, 0xD2BE, 0x2686}, 1218 {MISENSOR_16BIT, 0xD2C0, 0x1FFB}, 1219 {MISENSOR_16BIT, 0xD2C2, 0x9502}, 1220 {MISENSOR_16BIT, 0xD2C4, 0x78C5}, 1221 {MISENSOR_16BIT, 0xD2C6, 0x0631}, 1222 {MISENSOR_16BIT, 0xD2C8, 0x05E0}, 1223 {MISENSOR_16BIT, 0xD2CA, 0xB502}, 1224 {MISENSOR_16BIT, 0xD2CC, 0x72CF}, 1225 {MISENSOR_16BIT, 0xD2CE, 0xFFFF}, 1226 {MISENSOR_16BIT, 0xD2D0, 0xC5D4}, 1227 {MISENSOR_16BIT, 0xD2D2, 0x923A}, 1228 {MISENSOR_16BIT, 0xD2D4, 0x73CF}, 1229 {MISENSOR_16BIT, 0xD2D6, 0xFFFF}, 1230 {MISENSOR_16BIT, 0xD2D8, 0xC7D0}, 1231 {MISENSOR_16BIT, 0xD2DA, 0xB020}, 1232 {MISENSOR_16BIT, 0xD2DC, 0x9220}, 1233 {MISENSOR_16BIT, 0xD2DE, 0xB021}, 1234 {MISENSOR_16BIT, 0xD2E0, 0x9221}, 1235 {MISENSOR_16BIT, 0xD2E2, 0xB022}, 1236 {MISENSOR_16BIT, 0xD2E4, 0x9222}, 1237 {MISENSOR_16BIT, 0xD2E6, 0xB023}, 1238 {MISENSOR_16BIT, 0xD2E8, 0x9223}, 1239 {MISENSOR_16BIT, 0xD2EA, 0xB024}, 1240 {MISENSOR_16BIT, 0xD2EC, 0x9227}, 1241 {MISENSOR_16BIT, 0xD2EE, 0xB025}, 1242 {MISENSOR_16BIT, 0xD2F0, 0x9228}, 1243 {MISENSOR_16BIT, 0xD2F2, 0xB026}, 1244 {MISENSOR_16BIT, 0xD2F4, 0x922B}, 1245 {MISENSOR_16BIT, 0xD2F6, 0xB027}, 1246 {MISENSOR_16BIT, 0xD2F8, 0x922C}, 1247 {MISENSOR_16BIT, 0xD2FA, 0xB028}, 1248 {MISENSOR_16BIT, 0xD2FC, 0x1258}, 1249 {MISENSOR_16BIT, 0xD2FE, 0x0101}, 1250 {MISENSOR_16BIT, 0xD300, 0xB029}, 1251 {MISENSOR_16BIT, 0xD302, 0x125A}, 1252 {MISENSOR_16BIT, 0xD304, 0x0101}, 1253 {MISENSOR_16BIT, 0xD306, 0xB02A}, 1254 {MISENSOR_16BIT, 0xD308, 0x1336}, 1255 {MISENSOR_16BIT, 0xD30A, 0x8081}, 1256 {MISENSOR_16BIT, 0xD30C, 0xA836}, 1257 {MISENSOR_16BIT, 0xD30E, 0x1337}, 1258 {MISENSOR_16BIT, 0xD310, 0x8081}, 1259 {MISENSOR_16BIT, 0xD312, 0xA837}, 1260 {MISENSOR_16BIT, 0xD314, 0x12A7}, 1261 {MISENSOR_16BIT, 0xD316, 0x0701}, 1262 {MISENSOR_16BIT, 0xD318, 0xB02C}, 1263 {MISENSOR_16BIT, 0xD31A, 0x1354}, 1264 {MISENSOR_16BIT, 0xD31C, 0x8081}, 1265 {MISENSOR_16BIT, 0xD31E, 0x7FE0}, 1266 {MISENSOR_16BIT, 0xD320, 0xA83A}, 1267 {MISENSOR_16BIT, 0xD322, 0x78E0}, 1268 {MISENSOR_16BIT, 0xD324, 0xC0F1}, 1269 {MISENSOR_16BIT, 0xD326, 0x0DC2}, 1270 {MISENSOR_16BIT, 0xD328, 0x05C0}, 1271 {MISENSOR_16BIT, 0xD32A, 0x7608}, 1272 {MISENSOR_16BIT, 0xD32C, 0x09BB}, 1273 {MISENSOR_16BIT, 0xD32E, 0x0010}, 1274 {MISENSOR_16BIT, 0xD330, 0x75CF}, 1275 {MISENSOR_16BIT, 0xD332, 0xFFFF}, 1276 {MISENSOR_16BIT, 0xD334, 0xD4E0}, 1277 {MISENSOR_16BIT, 0xD336, 0x8D21}, 1278 {MISENSOR_16BIT, 0xD338, 0x8D00}, 1279 {MISENSOR_16BIT, 0xD33A, 0x2153}, 1280 {MISENSOR_16BIT, 0xD33C, 0x0003}, 1281 {MISENSOR_16BIT, 0xD33E, 0xB8C0}, 1282 {MISENSOR_16BIT, 0xD340, 0x8D45}, 1283 {MISENSOR_16BIT, 0xD342, 0x0B23}, 1284 {MISENSOR_16BIT, 0xD344, 0x0000}, 1285 {MISENSOR_16BIT, 0xD346, 0xEA8F}, 1286 {MISENSOR_16BIT, 0xD348, 0x0915}, 1287 {MISENSOR_16BIT, 0xD34A, 0x001E}, 1288 {MISENSOR_16BIT, 0xD34C, 0xFF81}, 1289 {MISENSOR_16BIT, 0xD34E, 0xE808}, 1290 {MISENSOR_16BIT, 0xD350, 0x2540}, 1291 {MISENSOR_16BIT, 0xD352, 0x1900}, 1292 {MISENSOR_16BIT, 0xD354, 0xFFDE}, 1293 {MISENSOR_16BIT, 0xD356, 0x8D00}, 1294 {MISENSOR_16BIT, 0xD358, 0xB880}, 1295 {MISENSOR_16BIT, 0xD35A, 0xF004}, 1296 {MISENSOR_16BIT, 0xD35C, 0x8D00}, 1297 {MISENSOR_16BIT, 0xD35E, 0xB8A0}, 1298 {MISENSOR_16BIT, 0xD360, 0xAD00}, 1299 {MISENSOR_16BIT, 0xD362, 0x8D05}, 1300 {MISENSOR_16BIT, 0xD364, 0xE081}, 1301 {MISENSOR_16BIT, 0xD366, 0x20CC}, 1302 {MISENSOR_16BIT, 0xD368, 0x80A2}, 1303 {MISENSOR_16BIT, 0xD36A, 0xDF00}, 1304 {MISENSOR_16BIT, 0xD36C, 0xF40A}, 1305 {MISENSOR_16BIT, 0xD36E, 0x71CF}, 1306 {MISENSOR_16BIT, 0xD370, 0xFFFF}, 1307 {MISENSOR_16BIT, 0xD372, 0xC84C}, 1308 {MISENSOR_16BIT, 0xD374, 0x9102}, 1309 {MISENSOR_16BIT, 0xD376, 0x7708}, 1310 {MISENSOR_16BIT, 0xD378, 0xB8A6}, 1311 {MISENSOR_16BIT, 0xD37A, 0x2786}, 1312 {MISENSOR_16BIT, 0xD37C, 0x1FFE}, 1313 {MISENSOR_16BIT, 0xD37E, 0xB102}, 1314 {MISENSOR_16BIT, 0xD380, 0x0B42}, 1315 {MISENSOR_16BIT, 0xD382, 0x0180}, 1316 {MISENSOR_16BIT, 0xD384, 0x0E3E}, 1317 {MISENSOR_16BIT, 0xD386, 0x0180}, 1318 {MISENSOR_16BIT, 0xD388, 0x0F4A}, 1319 {MISENSOR_16BIT, 0xD38A, 0x0160}, 1320 {MISENSOR_16BIT, 0xD38C, 0x70C9}, 1321 {MISENSOR_16BIT, 0xD38E, 0x8D05}, 1322 {MISENSOR_16BIT, 0xD390, 0xE081}, 1323 {MISENSOR_16BIT, 0xD392, 0x20CC}, 1324 {MISENSOR_16BIT, 0xD394, 0x80A2}, 1325 {MISENSOR_16BIT, 0xD396, 0xF429}, 1326 {MISENSOR_16BIT, 0xD398, 0x76CF}, 1327 {MISENSOR_16BIT, 0xD39A, 0xFFFF}, 1328 {MISENSOR_16BIT, 0xD39C, 0xC84C}, 1329 {MISENSOR_16BIT, 0xD39E, 0x082D}, 1330 {MISENSOR_16BIT, 0xD3A0, 0x0051}, 1331 {MISENSOR_16BIT, 0xD3A2, 0x70CF}, 1332 {MISENSOR_16BIT, 0xD3A4, 0xFFFF}, 1333 {MISENSOR_16BIT, 0xD3A6, 0xC90C}, 1334 {MISENSOR_16BIT, 0xD3A8, 0x8805}, 1335 {MISENSOR_16BIT, 0xD3AA, 0x09B6}, 1336 {MISENSOR_16BIT, 0xD3AC, 0x0360}, 1337 {MISENSOR_16BIT, 0xD3AE, 0xD908}, 1338 {MISENSOR_16BIT, 0xD3B0, 0x2099}, 1339 {MISENSOR_16BIT, 0xD3B2, 0x0802}, 1340 {MISENSOR_16BIT, 0xD3B4, 0x9634}, 1341 {MISENSOR_16BIT, 0xD3B6, 0xB503}, 1342 {MISENSOR_16BIT, 0xD3B8, 0x7902}, 1343 {MISENSOR_16BIT, 0xD3BA, 0x1523}, 1344 {MISENSOR_16BIT, 0xD3BC, 0x1080}, 1345 {MISENSOR_16BIT, 0xD3BE, 0xB634}, 1346 {MISENSOR_16BIT, 0xD3C0, 0xE001}, 1347 {MISENSOR_16BIT, 0xD3C2, 0x1D23}, 1348 {MISENSOR_16BIT, 0xD3C4, 0x1002}, 1349 {MISENSOR_16BIT, 0xD3C6, 0xF00B}, 1350 {MISENSOR_16BIT, 0xD3C8, 0x9634}, 1351 {MISENSOR_16BIT, 0xD3CA, 0x9503}, 1352 {MISENSOR_16BIT, 0xD3CC, 0x6038}, 1353 {MISENSOR_16BIT, 0xD3CE, 0xB614}, 1354 {MISENSOR_16BIT, 0xD3D0, 0x153F}, 1355 {MISENSOR_16BIT, 0xD3D2, 0x1080}, 1356 {MISENSOR_16BIT, 0xD3D4, 0xE001}, 1357 {MISENSOR_16BIT, 0xD3D6, 0x1D3F}, 1358 {MISENSOR_16BIT, 0xD3D8, 0x1002}, 1359 {MISENSOR_16BIT, 0xD3DA, 0xFFA4}, 1360 {MISENSOR_16BIT, 0xD3DC, 0x9602}, 1361 {MISENSOR_16BIT, 0xD3DE, 0x7F05}, 1362 {MISENSOR_16BIT, 0xD3E0, 0xD800}, 1363 {MISENSOR_16BIT, 0xD3E2, 0xB6E2}, 1364 {MISENSOR_16BIT, 0xD3E4, 0xAD05}, 1365 {MISENSOR_16BIT, 0xD3E6, 0x0511}, 1366 {MISENSOR_16BIT, 0xD3E8, 0x05E0}, 1367 {MISENSOR_16BIT, 0xD3EA, 0xD800}, 1368 {MISENSOR_16BIT, 0xD3EC, 0xC0F1}, 1369 {MISENSOR_16BIT, 0xD3EE, 0x0CFE}, 1370 {MISENSOR_16BIT, 0xD3F0, 0x05C0}, 1371 {MISENSOR_16BIT, 0xD3F2, 0x0A96}, 1372 {MISENSOR_16BIT, 0xD3F4, 0x05A0}, 1373 {MISENSOR_16BIT, 0xD3F6, 0x7608}, 1374 {MISENSOR_16BIT, 0xD3F8, 0x0C22}, 1375 {MISENSOR_16BIT, 0xD3FA, 0x0240}, 1376 {MISENSOR_16BIT, 0xD3FC, 0xE080}, 1377 {MISENSOR_16BIT, 0xD3FE, 0x20CA}, 1378 {MISENSOR_16BIT, 0xD400, 0x0F82}, 1379 {MISENSOR_16BIT, 0xD402, 0x0000}, 1380 {MISENSOR_16BIT, 0xD404, 0x190B}, 1381 {MISENSOR_16BIT, 0xD406, 0x0C60}, 1382 {MISENSOR_16BIT, 0xD408, 0x05A2}, 1383 {MISENSOR_16BIT, 0xD40A, 0x21CA}, 1384 {MISENSOR_16BIT, 0xD40C, 0x0022}, 1385 {MISENSOR_16BIT, 0xD40E, 0x0C56}, 1386 {MISENSOR_16BIT, 0xD410, 0x0240}, 1387 {MISENSOR_16BIT, 0xD412, 0xE806}, 1388 {MISENSOR_16BIT, 0xD414, 0x0E0E}, 1389 {MISENSOR_16BIT, 0xD416, 0x0220}, 1390 {MISENSOR_16BIT, 0xD418, 0x70C9}, 1391 {MISENSOR_16BIT, 0xD41A, 0xF048}, 1392 {MISENSOR_16BIT, 0xD41C, 0x0896}, 1393 {MISENSOR_16BIT, 0xD41E, 0x0440}, 1394 {MISENSOR_16BIT, 0xD420, 0x0E96}, 1395 {MISENSOR_16BIT, 0xD422, 0x0400}, 1396 {MISENSOR_16BIT, 0xD424, 0x0966}, 1397 {MISENSOR_16BIT, 0xD426, 0x0380}, 1398 {MISENSOR_16BIT, 0xD428, 0x75CF}, 1399 {MISENSOR_16BIT, 0xD42A, 0xFFFF}, 1400 {MISENSOR_16BIT, 0xD42C, 0xD4E0}, 1401 {MISENSOR_16BIT, 0xD42E, 0x8D00}, 1402 {MISENSOR_16BIT, 0xD430, 0x084D}, 1403 {MISENSOR_16BIT, 0xD432, 0x001E}, 1404 {MISENSOR_16BIT, 0xD434, 0xFF47}, 1405 {MISENSOR_16BIT, 0xD436, 0x080D}, 1406 {MISENSOR_16BIT, 0xD438, 0x0050}, 1407 {MISENSOR_16BIT, 0xD43A, 0xFF57}, 1408 {MISENSOR_16BIT, 0xD43C, 0x0841}, 1409 {MISENSOR_16BIT, 0xD43E, 0x0051}, 1410 {MISENSOR_16BIT, 0xD440, 0x8D04}, 1411 {MISENSOR_16BIT, 0xD442, 0x9521}, 1412 {MISENSOR_16BIT, 0xD444, 0xE064}, 1413 {MISENSOR_16BIT, 0xD446, 0x790C}, 1414 {MISENSOR_16BIT, 0xD448, 0x702F}, 1415 {MISENSOR_16BIT, 0xD44A, 0x0CE2}, 1416 {MISENSOR_16BIT, 0xD44C, 0x05E0}, 1417 {MISENSOR_16BIT, 0xD44E, 0xD964}, 1418 {MISENSOR_16BIT, 0xD450, 0x72CF}, 1419 {MISENSOR_16BIT, 0xD452, 0xFFFF}, 1420 {MISENSOR_16BIT, 0xD454, 0xC700}, 1421 {MISENSOR_16BIT, 0xD456, 0x9235}, 1422 {MISENSOR_16BIT, 0xD458, 0x0811}, 1423 {MISENSOR_16BIT, 0xD45A, 0x0043}, 1424 {MISENSOR_16BIT, 0xD45C, 0xFF3D}, 1425 {MISENSOR_16BIT, 0xD45E, 0x080D}, 1426 {MISENSOR_16BIT, 0xD460, 0x0051}, 1427 {MISENSOR_16BIT, 0xD462, 0xD801}, 1428 {MISENSOR_16BIT, 0xD464, 0xFF77}, 1429 {MISENSOR_16BIT, 0xD466, 0xF025}, 1430 {MISENSOR_16BIT, 0xD468, 0x9501}, 1431 {MISENSOR_16BIT, 0xD46A, 0x9235}, 1432 {MISENSOR_16BIT, 0xD46C, 0x0911}, 1433 {MISENSOR_16BIT, 0xD46E, 0x0003}, 1434 {MISENSOR_16BIT, 0xD470, 0xFF49}, 1435 {MISENSOR_16BIT, 0xD472, 0x080D}, 1436 {MISENSOR_16BIT, 0xD474, 0x0051}, 1437 {MISENSOR_16BIT, 0xD476, 0xD800}, 1438 {MISENSOR_16BIT, 0xD478, 0xFF72}, 1439 {MISENSOR_16BIT, 0xD47A, 0xF01B}, 1440 {MISENSOR_16BIT, 0xD47C, 0x0886}, 1441 {MISENSOR_16BIT, 0xD47E, 0x03E0}, 1442 {MISENSOR_16BIT, 0xD480, 0xD801}, 1443 {MISENSOR_16BIT, 0xD482, 0x0EF6}, 1444 {MISENSOR_16BIT, 0xD484, 0x03C0}, 1445 {MISENSOR_16BIT, 0xD486, 0x0F52}, 1446 {MISENSOR_16BIT, 0xD488, 0x0340}, 1447 {MISENSOR_16BIT, 0xD48A, 0x0DBA}, 1448 {MISENSOR_16BIT, 0xD48C, 0x0200}, 1449 {MISENSOR_16BIT, 0xD48E, 0x0AF6}, 1450 {MISENSOR_16BIT, 0xD490, 0x0440}, 1451 {MISENSOR_16BIT, 0xD492, 0x0C22}, 1452 {MISENSOR_16BIT, 0xD494, 0x0400}, 1453 {MISENSOR_16BIT, 0xD496, 0x0D72}, 1454 {MISENSOR_16BIT, 0xD498, 0x0440}, 1455 {MISENSOR_16BIT, 0xD49A, 0x0DC2}, 1456 {MISENSOR_16BIT, 0xD49C, 0x0200}, 1457 {MISENSOR_16BIT, 0xD49E, 0x0972}, 1458 {MISENSOR_16BIT, 0xD4A0, 0x0440}, 1459 {MISENSOR_16BIT, 0xD4A2, 0x0D3A}, 1460 {MISENSOR_16BIT, 0xD4A4, 0x0220}, 1461 {MISENSOR_16BIT, 0xD4A6, 0xD820}, 1462 {MISENSOR_16BIT, 0xD4A8, 0x0BFA}, 1463 {MISENSOR_16BIT, 0xD4AA, 0x0260}, 1464 {MISENSOR_16BIT, 0xD4AC, 0x70C9}, 1465 {MISENSOR_16BIT, 0xD4AE, 0x0451}, 1466 {MISENSOR_16BIT, 0xD4B0, 0x05C0}, 1467 {MISENSOR_16BIT, 0xD4B2, 0x78E0}, 1468 {MISENSOR_16BIT, 0xD4B4, 0xD900}, 1469 {MISENSOR_16BIT, 0xD4B6, 0xF00A}, 1470 {MISENSOR_16BIT, 0xD4B8, 0x70CF}, 1471 {MISENSOR_16BIT, 0xD4BA, 0xFFFF}, 1472 {MISENSOR_16BIT, 0xD4BC, 0xD520}, 1473 {MISENSOR_16BIT, 0xD4BE, 0x7835}, 1474 {MISENSOR_16BIT, 0xD4C0, 0x8041}, 1475 {MISENSOR_16BIT, 0xD4C2, 0x8000}, 1476 {MISENSOR_16BIT, 0xD4C4, 0xE102}, 1477 {MISENSOR_16BIT, 0xD4C6, 0xA040}, 1478 {MISENSOR_16BIT, 0xD4C8, 0x09F1}, 1479 {MISENSOR_16BIT, 0xD4CA, 0x8114}, 1480 {MISENSOR_16BIT, 0xD4CC, 0x71CF}, 1481 {MISENSOR_16BIT, 0xD4CE, 0xFFFF}, 1482 {MISENSOR_16BIT, 0xD4D0, 0xD4E0}, 1483 {MISENSOR_16BIT, 0xD4D2, 0x70CF}, 1484 {MISENSOR_16BIT, 0xD4D4, 0xFFFF}, 1485 {MISENSOR_16BIT, 0xD4D6, 0xC594}, 1486 {MISENSOR_16BIT, 0xD4D8, 0xB03A}, 1487 {MISENSOR_16BIT, 0xD4DA, 0x7FE0}, 1488 {MISENSOR_16BIT, 0xD4DC, 0xD800}, 1489 {MISENSOR_16BIT, 0xD4DE, 0x0000}, 1490 {MISENSOR_16BIT, 0xD4E0, 0x0000}, 1491 {MISENSOR_16BIT, 0xD4E2, 0x0500}, 1492 {MISENSOR_16BIT, 0xD4E4, 0x0500}, 1493 {MISENSOR_16BIT, 0xD4E6, 0x0200}, 1494 {MISENSOR_16BIT, 0xD4E8, 0x0330}, 1495 {MISENSOR_16BIT, 0xD4EA, 0x0000}, 1496 {MISENSOR_16BIT, 0xD4EC, 0x0000}, 1497 {MISENSOR_16BIT, 0xD4EE, 0x03CD}, 1498 {MISENSOR_16BIT, 0xD4F0, 0x050D}, 1499 {MISENSOR_16BIT, 0xD4F2, 0x01C5}, 1500 {MISENSOR_16BIT, 0xD4F4, 0x03B3}, 1501 {MISENSOR_16BIT, 0xD4F6, 0x00E0}, 1502 {MISENSOR_16BIT, 0xD4F8, 0x01E3}, 1503 {MISENSOR_16BIT, 0xD4FA, 0x0280}, 1504 {MISENSOR_16BIT, 0xD4FC, 0x01E0}, 1505 {MISENSOR_16BIT, 0xD4FE, 0x0109}, 1506 {MISENSOR_16BIT, 0xD500, 0x0080}, 1507 {MISENSOR_16BIT, 0xD502, 0x0500}, 1508 {MISENSOR_16BIT, 0xD504, 0x0000}, 1509 {MISENSOR_16BIT, 0xD506, 0x0000}, 1510 {MISENSOR_16BIT, 0xD508, 0x0000}, 1511 {MISENSOR_16BIT, 0xD50A, 0x0000}, 1512 {MISENSOR_16BIT, 0xD50C, 0x0000}, 1513 {MISENSOR_16BIT, 0xD50E, 0x0000}, 1514 {MISENSOR_16BIT, 0xD510, 0x0000}, 1515 {MISENSOR_16BIT, 0xD512, 0x0000}, 1516 {MISENSOR_16BIT, 0xD514, 0x0000}, 1517 {MISENSOR_16BIT, 0xD516, 0x0000}, 1518 {MISENSOR_16BIT, 0xD518, 0x0000}, 1519 {MISENSOR_16BIT, 0xD51A, 0x0000}, 1520 {MISENSOR_16BIT, 0xD51C, 0x0000}, 1521 {MISENSOR_16BIT, 0xD51E, 0x0000}, 1522 {MISENSOR_16BIT, 0xD520, 0xFFFF}, 1523 {MISENSOR_16BIT, 0xD522, 0xC9B4}, 1524 {MISENSOR_16BIT, 0xD524, 0xFFFF}, 1525 {MISENSOR_16BIT, 0xD526, 0xD324}, 1526 {MISENSOR_16BIT, 0xD528, 0xFFFF}, 1527 {MISENSOR_16BIT, 0xD52A, 0xCA34}, 1528 {MISENSOR_16BIT, 0xD52C, 0xFFFF}, 1529 {MISENSOR_16BIT, 0xD52E, 0xD3EC}, 1530 {MISENSOR_16BIT, 0x098E, 0x0000}, 1531 {MISENSOR_16BIT, 0xE000, 0x04B4}, 1532 {MISENSOR_16BIT, 0xE002, 0x0302}, 1533 {MISENSOR_16BIT, 0xE004, 0x4103}, 1534 {MISENSOR_16BIT, 0xE006, 0x0202}, 1535 {MISENSOR_16BIT, 0x0080, 0xFFF0}, 1536 {MISENSOR_16BIT, 0x0080, 0xFFF1}, 1537 1538 /* PGA parameter and APGA 1539 * [Step4-APGA] [TP101_MT9M114_APGA] 1540 */ 1541 {MISENSOR_16BIT, 0x098E, 0x495E}, 1542 {MISENSOR_16BIT, 0xC95E, 0x0000}, 1543 {MISENSOR_16BIT, 0x3640, 0x02B0}, 1544 {MISENSOR_16BIT, 0x3642, 0x8063}, 1545 {MISENSOR_16BIT, 0x3644, 0x78D0}, 1546 {MISENSOR_16BIT, 0x3646, 0x50CC}, 1547 {MISENSOR_16BIT, 0x3648, 0x3511}, 1548 {MISENSOR_16BIT, 0x364A, 0x0110}, 1549 {MISENSOR_16BIT, 0x364C, 0xBD8A}, 1550 {MISENSOR_16BIT, 0x364E, 0x0CD1}, 1551 {MISENSOR_16BIT, 0x3650, 0x24ED}, 1552 {MISENSOR_16BIT, 0x3652, 0x7C11}, 1553 {MISENSOR_16BIT, 0x3654, 0x0150}, 1554 {MISENSOR_16BIT, 0x3656, 0x124C}, 1555 {MISENSOR_16BIT, 0x3658, 0x3130}, 1556 {MISENSOR_16BIT, 0x365A, 0x508C}, 1557 {MISENSOR_16BIT, 0x365C, 0x21F1}, 1558 {MISENSOR_16BIT, 0x365E, 0x0090}, 1559 {MISENSOR_16BIT, 0x3660, 0xBFCA}, 1560 {MISENSOR_16BIT, 0x3662, 0x0A11}, 1561 {MISENSOR_16BIT, 0x3664, 0x4F4B}, 1562 {MISENSOR_16BIT, 0x3666, 0x28B1}, 1563 {MISENSOR_16BIT, 0x3680, 0x50A9}, 1564 {MISENSOR_16BIT, 0x3682, 0xA04B}, 1565 {MISENSOR_16BIT, 0x3684, 0x0E2D}, 1566 {MISENSOR_16BIT, 0x3686, 0x73EC}, 1567 {MISENSOR_16BIT, 0x3688, 0x164F}, 1568 {MISENSOR_16BIT, 0x368A, 0xF829}, 1569 {MISENSOR_16BIT, 0x368C, 0xC1A8}, 1570 {MISENSOR_16BIT, 0x368E, 0xB0EC}, 1571 {MISENSOR_16BIT, 0x3690, 0xE76A}, 1572 {MISENSOR_16BIT, 0x3692, 0x69AF}, 1573 {MISENSOR_16BIT, 0x3694, 0x378C}, 1574 {MISENSOR_16BIT, 0x3696, 0xA70D}, 1575 {MISENSOR_16BIT, 0x3698, 0x884F}, 1576 {MISENSOR_16BIT, 0x369A, 0xEE8B}, 1577 {MISENSOR_16BIT, 0x369C, 0x5DEF}, 1578 {MISENSOR_16BIT, 0x369E, 0x27CC}, 1579 {MISENSOR_16BIT, 0x36A0, 0xCAAC}, 1580 {MISENSOR_16BIT, 0x36A2, 0x840E}, 1581 {MISENSOR_16BIT, 0x36A4, 0xDAA9}, 1582 {MISENSOR_16BIT, 0x36A6, 0xF00C}, 1583 {MISENSOR_16BIT, 0x36C0, 0x1371}, 1584 {MISENSOR_16BIT, 0x36C2, 0x272F}, 1585 {MISENSOR_16BIT, 0x36C4, 0x2293}, 1586 {MISENSOR_16BIT, 0x36C6, 0xE6D0}, 1587 {MISENSOR_16BIT, 0x36C8, 0xEC32}, 1588 {MISENSOR_16BIT, 0x36CA, 0x11B1}, 1589 {MISENSOR_16BIT, 0x36CC, 0x7BAF}, 1590 {MISENSOR_16BIT, 0x36CE, 0x5813}, 1591 {MISENSOR_16BIT, 0x36D0, 0xB871}, 1592 {MISENSOR_16BIT, 0x36D2, 0x8913}, 1593 {MISENSOR_16BIT, 0x36D4, 0x4610}, 1594 {MISENSOR_16BIT, 0x36D6, 0x7EEE}, 1595 {MISENSOR_16BIT, 0x36D8, 0x0DF3}, 1596 {MISENSOR_16BIT, 0x36DA, 0xB84F}, 1597 {MISENSOR_16BIT, 0x36DC, 0xB532}, 1598 {MISENSOR_16BIT, 0x36DE, 0x1171}, 1599 {MISENSOR_16BIT, 0x36E0, 0x13CF}, 1600 {MISENSOR_16BIT, 0x36E2, 0x22F3}, 1601 {MISENSOR_16BIT, 0x36E4, 0xE090}, 1602 {MISENSOR_16BIT, 0x36E6, 0x8133}, 1603 {MISENSOR_16BIT, 0x3700, 0x88AE}, 1604 {MISENSOR_16BIT, 0x3702, 0x00EA}, 1605 {MISENSOR_16BIT, 0x3704, 0x344F}, 1606 {MISENSOR_16BIT, 0x3706, 0xEC88}, 1607 {MISENSOR_16BIT, 0x3708, 0x3E91}, 1608 {MISENSOR_16BIT, 0x370A, 0xF12D}, 1609 {MISENSOR_16BIT, 0x370C, 0xB0EF}, 1610 {MISENSOR_16BIT, 0x370E, 0x77CD}, 1611 {MISENSOR_16BIT, 0x3710, 0x7930}, 1612 {MISENSOR_16BIT, 0x3712, 0x5C12}, 1613 {MISENSOR_16BIT, 0x3714, 0x500C}, 1614 {MISENSOR_16BIT, 0x3716, 0x22CE}, 1615 {MISENSOR_16BIT, 0x3718, 0x2370}, 1616 {MISENSOR_16BIT, 0x371A, 0x258F}, 1617 {MISENSOR_16BIT, 0x371C, 0x3D30}, 1618 {MISENSOR_16BIT, 0x371E, 0x370C}, 1619 {MISENSOR_16BIT, 0x3720, 0x03ED}, 1620 {MISENSOR_16BIT, 0x3722, 0x9AD0}, 1621 {MISENSOR_16BIT, 0x3724, 0x7ECF}, 1622 {MISENSOR_16BIT, 0x3726, 0x1093}, 1623 {MISENSOR_16BIT, 0x3740, 0x2391}, 1624 {MISENSOR_16BIT, 0x3742, 0xAAD0}, 1625 {MISENSOR_16BIT, 0x3744, 0x28F2}, 1626 {MISENSOR_16BIT, 0x3746, 0xBA4F}, 1627 {MISENSOR_16BIT, 0x3748, 0xC536}, 1628 {MISENSOR_16BIT, 0x374A, 0x1472}, 1629 {MISENSOR_16BIT, 0x374C, 0xD110}, 1630 {MISENSOR_16BIT, 0x374E, 0x2933}, 1631 {MISENSOR_16BIT, 0x3750, 0xD0D1}, 1632 {MISENSOR_16BIT, 0x3752, 0x9F37}, 1633 {MISENSOR_16BIT, 0x3754, 0x34D1}, 1634 {MISENSOR_16BIT, 0x3756, 0x1C6C}, 1635 {MISENSOR_16BIT, 0x3758, 0x3FD2}, 1636 {MISENSOR_16BIT, 0x375A, 0xCB72}, 1637 {MISENSOR_16BIT, 0x375C, 0xBA96}, 1638 {MISENSOR_16BIT, 0x375E, 0x1551}, 1639 {MISENSOR_16BIT, 0x3760, 0xB74F}, 1640 {MISENSOR_16BIT, 0x3762, 0x1672}, 1641 {MISENSOR_16BIT, 0x3764, 0x84F1}, 1642 {MISENSOR_16BIT, 0x3766, 0xC2D6}, 1643 {MISENSOR_16BIT, 0x3782, 0x01E0}, 1644 {MISENSOR_16BIT, 0x3784, 0x0280}, 1645 {MISENSOR_16BIT, 0x37C0, 0xA6EA}, 1646 {MISENSOR_16BIT, 0x37C2, 0x874B}, 1647 {MISENSOR_16BIT, 0x37C4, 0x85CB}, 1648 {MISENSOR_16BIT, 0x37C6, 0x968A}, 1649 {MISENSOR_16BIT, 0x098E, 0x0000}, 1650 {MISENSOR_16BIT, 0xC960, 0x0AF0}, 1651 {MISENSOR_16BIT, 0xC962, 0x79E2}, 1652 {MISENSOR_16BIT, 0xC964, 0x5EC8}, 1653 {MISENSOR_16BIT, 0xC966, 0x791F}, 1654 {MISENSOR_16BIT, 0xC968, 0x76EE}, 1655 {MISENSOR_16BIT, 0xC96A, 0x0FA0}, 1656 {MISENSOR_16BIT, 0xC96C, 0x7DFA}, 1657 {MISENSOR_16BIT, 0xC96E, 0x7DAF}, 1658 {MISENSOR_16BIT, 0xC970, 0x7E02}, 1659 {MISENSOR_16BIT, 0xC972, 0x7E0A}, 1660 {MISENSOR_16BIT, 0xC974, 0x1964}, 1661 {MISENSOR_16BIT, 0xC976, 0x7CDC}, 1662 {MISENSOR_16BIT, 0xC978, 0x7838}, 1663 {MISENSOR_16BIT, 0xC97A, 0x7C2F}, 1664 {MISENSOR_16BIT, 0xC97C, 0x7792}, 1665 {MISENSOR_16BIT, 0xC95E, 0x0003}, 1666 1667 /* [Step4-APGA] */ 1668 {MISENSOR_16BIT, 0x098E, 0x0000}, 1669 {MISENSOR_16BIT, 0xC95E, 0x0003}, 1670 1671 /* [Step5-AWB_CCM]1: LOAD=CCM */ 1672 {MISENSOR_16BIT, 0xC892, 0x0267}, 1673 {MISENSOR_16BIT, 0xC894, 0xFF1A}, 1674 {MISENSOR_16BIT, 0xC896, 0xFFB3}, 1675 {MISENSOR_16BIT, 0xC898, 0xFF80}, 1676 {MISENSOR_16BIT, 0xC89A, 0x0166}, 1677 {MISENSOR_16BIT, 0xC89C, 0x0003}, 1678 {MISENSOR_16BIT, 0xC89E, 0xFF9A}, 1679 {MISENSOR_16BIT, 0xC8A0, 0xFEB4}, 1680 {MISENSOR_16BIT, 0xC8A2, 0x024D}, 1681 {MISENSOR_16BIT, 0xC8A4, 0x01BF}, 1682 {MISENSOR_16BIT, 0xC8A6, 0xFF01}, 1683 {MISENSOR_16BIT, 0xC8A8, 0xFFF3}, 1684 {MISENSOR_16BIT, 0xC8AA, 0xFF75}, 1685 {MISENSOR_16BIT, 0xC8AC, 0x0198}, 1686 {MISENSOR_16BIT, 0xC8AE, 0xFFFD}, 1687 {MISENSOR_16BIT, 0xC8B0, 0xFF9A}, 1688 {MISENSOR_16BIT, 0xC8B2, 0xFEE7}, 1689 {MISENSOR_16BIT, 0xC8B4, 0x02A8}, 1690 {MISENSOR_16BIT, 0xC8B6, 0x01D9}, 1691 {MISENSOR_16BIT, 0xC8B8, 0xFF26}, 1692 {MISENSOR_16BIT, 0xC8BA, 0xFFF3}, 1693 {MISENSOR_16BIT, 0xC8BC, 0xFFB3}, 1694 {MISENSOR_16BIT, 0xC8BE, 0x0132}, 1695 {MISENSOR_16BIT, 0xC8C0, 0xFFE8}, 1696 {MISENSOR_16BIT, 0xC8C2, 0xFFDA}, 1697 {MISENSOR_16BIT, 0xC8C4, 0xFECD}, 1698 {MISENSOR_16BIT, 0xC8C6, 0x02C2}, 1699 {MISENSOR_16BIT, 0xC8C8, 0x0075}, 1700 {MISENSOR_16BIT, 0xC8CA, 0x011C}, 1701 {MISENSOR_16BIT, 0xC8CC, 0x009A}, 1702 {MISENSOR_16BIT, 0xC8CE, 0x0105}, 1703 {MISENSOR_16BIT, 0xC8D0, 0x00A4}, 1704 {MISENSOR_16BIT, 0xC8D2, 0x00AC}, 1705 {MISENSOR_16BIT, 0xC8D4, 0x0A8C}, 1706 {MISENSOR_16BIT, 0xC8D6, 0x0F0A}, 1707 {MISENSOR_16BIT, 0xC8D8, 0x1964}, 1708 1709 /* LOAD=AWB */ 1710 {MISENSOR_16BIT, 0xC914, 0x0000}, 1711 {MISENSOR_16BIT, 0xC916, 0x0000}, 1712 {MISENSOR_16BIT, 0xC918, 0x04FF}, 1713 {MISENSOR_16BIT, 0xC91A, 0x02CF}, 1714 {MISENSOR_16BIT, 0xC904, 0x0033}, 1715 {MISENSOR_16BIT, 0xC906, 0x0040}, 1716 {MISENSOR_8BIT, 0xC8F2, 0x03}, 1717 {MISENSOR_8BIT, 0xC8F3, 0x02}, 1718 {MISENSOR_16BIT, 0xC906, 0x003C}, 1719 {MISENSOR_16BIT, 0xC8F4, 0x0000}, 1720 {MISENSOR_16BIT, 0xC8F6, 0x0000}, 1721 {MISENSOR_16BIT, 0xC8F8, 0x0000}, 1722 {MISENSOR_16BIT, 0xC8FA, 0xE724}, 1723 {MISENSOR_16BIT, 0xC8FC, 0x1583}, 1724 {MISENSOR_16BIT, 0xC8FE, 0x2045}, 1725 {MISENSOR_16BIT, 0xC900, 0x05DC}, 1726 {MISENSOR_16BIT, 0xC902, 0x007C}, 1727 {MISENSOR_8BIT, 0xC90C, 0x80}, 1728 {MISENSOR_8BIT, 0xC90D, 0x80}, 1729 {MISENSOR_8BIT, 0xC90E, 0x80}, 1730 {MISENSOR_8BIT, 0xC90F, 0x88}, 1731 {MISENSOR_8BIT, 0xC910, 0x80}, 1732 {MISENSOR_8BIT, 0xC911, 0x80}, 1733 1734 /* LOAD=Step7-CPIPE_Preference */ 1735 {MISENSOR_16BIT, 0xC926, 0x0020}, 1736 {MISENSOR_16BIT, 0xC928, 0x009A}, 1737 {MISENSOR_16BIT, 0xC946, 0x0070}, 1738 {MISENSOR_16BIT, 0xC948, 0x00F3}, 1739 {MISENSOR_16BIT, 0xC952, 0x0020}, 1740 {MISENSOR_16BIT, 0xC954, 0x009A}, 1741 {MISENSOR_8BIT, 0xC92A, 0x80}, 1742 {MISENSOR_8BIT, 0xC92B, 0x4B}, 1743 {MISENSOR_8BIT, 0xC92C, 0x00}, 1744 {MISENSOR_8BIT, 0xC92D, 0xFF}, 1745 {MISENSOR_8BIT, 0xC92E, 0x3C}, 1746 {MISENSOR_8BIT, 0xC92F, 0x02}, 1747 {MISENSOR_8BIT, 0xC930, 0x06}, 1748 {MISENSOR_8BIT, 0xC931, 0x64}, 1749 {MISENSOR_8BIT, 0xC932, 0x01}, 1750 {MISENSOR_8BIT, 0xC933, 0x0C}, 1751 {MISENSOR_8BIT, 0xC934, 0x3C}, 1752 {MISENSOR_8BIT, 0xC935, 0x3C}, 1753 {MISENSOR_8BIT, 0xC936, 0x3C}, 1754 {MISENSOR_8BIT, 0xC937, 0x0F}, 1755 {MISENSOR_8BIT, 0xC938, 0x64}, 1756 {MISENSOR_8BIT, 0xC939, 0x64}, 1757 {MISENSOR_8BIT, 0xC93A, 0x64}, 1758 {MISENSOR_8BIT, 0xC93B, 0x32}, 1759 {MISENSOR_16BIT, 0xC93C, 0x0020}, 1760 {MISENSOR_16BIT, 0xC93E, 0x009A}, 1761 {MISENSOR_16BIT, 0xC940, 0x00DC}, 1762 {MISENSOR_8BIT, 0xC942, 0x38}, 1763 {MISENSOR_8BIT, 0xC943, 0x30}, 1764 {MISENSOR_8BIT, 0xC944, 0x50}, 1765 {MISENSOR_8BIT, 0xC945, 0x19}, 1766 {MISENSOR_16BIT, 0xC94A, 0x0230}, 1767 {MISENSOR_16BIT, 0xC94C, 0x0010}, 1768 {MISENSOR_16BIT, 0xC94E, 0x01CD}, 1769 {MISENSOR_8BIT, 0xC950, 0x05}, 1770 {MISENSOR_8BIT, 0xC951, 0x40}, 1771 {MISENSOR_8BIT, 0xC87B, 0x1B}, 1772 {MISENSOR_8BIT, 0xC878, 0x0E}, 1773 {MISENSOR_16BIT, 0xC890, 0x0080}, 1774 {MISENSOR_16BIT, 0xC886, 0x0100}, 1775 {MISENSOR_16BIT, 0xC87C, 0x005A}, 1776 {MISENSOR_8BIT, 0xB42A, 0x05}, 1777 {MISENSOR_8BIT, 0xA80A, 0x20}, 1778 1779 /* Speed up AE/AWB */ 1780 {MISENSOR_16BIT, 0x098E, 0x2802}, 1781 {MISENSOR_16BIT, 0xA802, 0x0008}, 1782 {MISENSOR_8BIT, 0xC908, 0x01}, 1783 {MISENSOR_8BIT, 0xC879, 0x01}, 1784 {MISENSOR_8BIT, 0xC909, 0x02}, 1785 {MISENSOR_8BIT, 0xA80A, 0x18}, 1786 {MISENSOR_8BIT, 0xA80B, 0x18}, 1787 {MISENSOR_8BIT, 0xAC16, 0x18}, 1788 {MISENSOR_8BIT, 0xC878, 0x0E}, 1789 1790 {MISENSOR_TOK_TERM, 0, 0} 1791 }; 1792 1793 #endif 1794 #endif 1795