Lines Matching +full:0 +full:x33
63 .minimum = 0,
66 #define BRIGHTNESS_DEF 0xd4
77 .minimum = 0x0a,
78 .maximum = 0x1f,
80 #define CONTRAST_DEF 0x0c
91 .minimum = 0,
122 .priv = 0},
139 usb_rcvctrlpipe(dev, 0), in reg_r()
140 0, in reg_r()
142 0, in reg_r()
146 index, gspca_dev->usb_buf[0]); in reg_r()
156 gspca_dev->usb_buf[0] = val; in reg_w_val()
158 usb_sndctrlpipe(dev, 0), in reg_w_val()
159 0, in reg_w_val()
161 0, in reg_w_val()
181 usb_sndctrlpipe(dev, 0), in reg_w()
182 0, in reg_w()
184 0, in reg_w()
189 {0x88, 0x11, 0x01, 0x01},
190 {0x88, 0x12, 0x70, 0x01},
191 {0x88, 0x0f, 0x00, 0x01},
192 {0x88, 0x05, 0x01, 0x01},
197 {0x00, 0x02, 0x00},
198 {0x01, 0x43, 0x00},
199 {0x02, 0xA7, 0x00},
200 {0x03, 0x8B, 0x01},
201 {0x04, 0xE9, 0x02},
202 {0x05, 0x08, 0x04},
203 {0x06, 0x08, 0x05},
204 {0x07, 0x07, 0x06},
205 {0x08, 0xE7, 0x06},
206 {0x09, 0xC6, 0x07},
207 {0x0A, 0x86, 0x08},
208 {0x0B, 0x46, 0x09},
209 {0x0C, 0x05, 0x0A},
210 {0x0D, 0xA5, 0x0A},
211 {0x0E, 0x45, 0x0B},
212 {0x0F, 0xE5, 0x0B},
213 {0x10, 0x85, 0x0C},
214 {0x11, 0x25, 0x0D},
215 {0x12, 0xC4, 0x0D},
216 {0x13, 0x45, 0x0E},
217 {0x14, 0xE4, 0x0E},
218 {0x15, 0x64, 0x0F},
219 {0x16, 0xE4, 0x0F},
220 {0x17, 0x64, 0x10},
221 {0x18, 0xE4, 0x10},
222 {0x19, 0x64, 0x11},
223 {0x1A, 0xE4, 0x11},
224 {0x1B, 0x64, 0x12},
225 {0x1C, 0xE3, 0x12},
226 {0x1D, 0x44, 0x13},
227 {0x1E, 0xC3, 0x13},
228 {0x1F, 0x24, 0x14},
229 {0x20, 0xA3, 0x14},
230 {0x21, 0x04, 0x15},
231 {0x22, 0x83, 0x15},
232 {0x23, 0xE3, 0x15},
233 {0x24, 0x43, 0x16},
234 {0x25, 0xA4, 0x16},
235 {0x26, 0x23, 0x17},
236 {0x27, 0x83, 0x17},
237 {0x28, 0xE3, 0x17},
238 {0x29, 0x43, 0x18},
239 {0x2A, 0xA3, 0x18},
240 {0x2B, 0x03, 0x19},
241 {0x2C, 0x63, 0x19},
242 {0x2D, 0xC3, 0x19},
243 {0x2E, 0x22, 0x1A},
244 {0x2F, 0x63, 0x1A},
245 {0x30, 0xC3, 0x1A},
246 {0x31, 0x23, 0x1B},
247 {0x32, 0x83, 0x1B},
248 {0x33, 0xE2, 0x1B},
249 {0x34, 0x23, 0x1C},
250 {0x35, 0x83, 0x1C},
251 {0x36, 0xE2, 0x1C},
252 {0x37, 0x23, 0x1D},
253 {0x38, 0x83, 0x1D},
254 {0x39, 0xE2, 0x1D},
255 {0x3A, 0x23, 0x1E},
256 {0x3B, 0x82, 0x1E},
257 {0x3C, 0xC3, 0x1E},
258 {0x3D, 0x22, 0x1F},
259 {0x3E, 0x63, 0x1F},
260 {0x3F, 0xC1, 0x1F},
265 int i = 0; in cx11646_fw()
267 reg_w_val(gspca_dev, 0x006a, 0x02); in cx11646_fw()
269 reg_w(gspca_dev, 0x006b, cx11646_fw1[i], 3); in cx11646_fw()
272 reg_w_val(gspca_dev, 0x006a, 0x00); in cx11646_fw()
276 0x88, 0x12, 0x70, 0x01,
277 0x88, 0x0d, 0x02, 0x01,
278 0x88, 0x0f, 0x00, 0x01,
279 0x88, 0x03, 0x71, 0x01, 0x88, 0x04, 0x00, 0x01, /* 3 */
280 0x88, 0x02, 0x10, 0x01,
281 0x88, 0x00, 0xD4, 0x01, 0x88, 0x01, 0x01, 0x01, /* 5 */
282 0x88, 0x0B, 0x00, 0x01,
283 0x88, 0x0A, 0x0A, 0x01,
284 0x88, 0x00, 0x08, 0x01, 0x88, 0x01, 0x00, 0x01, /* 8 */
285 0x88, 0x05, 0x01, 0x01,
286 0xA1, 0x18, 0x00, 0x01,
287 0x00
290 static const __u8 reg20[] = { 0x10, 0x42, 0x81, 0x19, 0xd3, 0xff, 0xa7, 0xff };
291 static const __u8 reg28[] = { 0x87, 0x00, 0x87, 0x00, 0x8f, 0xff, 0xea, 0xff };
292 static const __u8 reg10[] = { 0xb1, 0xb1 };
293 static const __u8 reg71a[] = { 0x08, 0x18, 0x0a, 0x1e }; /* 640 */
294 static const __u8 reg71b[] = { 0x04, 0x0c, 0x05, 0x0f };
295 /* 352{0x04,0x0a,0x06,0x12}; //352{0x05,0x0e,0x06,0x11}; //352 */
296 static const __u8 reg71c[] = { 0x02, 0x07, 0x03, 0x09 };
297 /* 320{0x04,0x0c,0x05,0x0f}; //320 */
298 static const __u8 reg71d[] = { 0x02, 0x07, 0x03, 0x09 }; /* 176 */
299 static const __u8 reg7b[] = { 0x00, 0xff, 0x00, 0xff, 0x00, 0xff };
303 int i = 0; in cx_sensor()
307 reg_w(gspca_dev, 0x0020, reg20, 8); in cx_sensor()
308 reg_w(gspca_dev, 0x0028, reg28, 8); in cx_sensor()
309 reg_w(gspca_dev, 0x0010, reg10, 8); in cx_sensor()
310 reg_w_val(gspca_dev, 0x0092, 0x03); in cx_sensor()
313 case 0: in cx_sensor()
314 reg_w(gspca_dev, 0x0071, reg71a, 4); in cx_sensor()
317 reg_w(gspca_dev, 0x0071, reg71b, 4); in cx_sensor()
321 reg_w(gspca_dev, 0x0071, reg71c, 4); in cx_sensor()
324 reg_w(gspca_dev, 0x0071, reg71d, 4); in cx_sensor()
327 reg_w(gspca_dev, 0x007b, reg7b, 6); in cx_sensor()
328 reg_w_val(gspca_dev, 0x00f8, 0x00); in cx_sensor()
329 reg_w(gspca_dev, 0x0010, reg10, 8); in cx_sensor()
330 reg_w_val(gspca_dev, 0x0098, 0x41); in cx_sensor()
331 for (i = 0; i < 11; i++) { in cx_sensor()
336 reg_w(gspca_dev, 0x00e5, ptsensor, length); in cx_sensor()
338 reg_r(gspca_dev, 0x00e8, 1); in cx_sensor()
340 reg_r(gspca_dev, 0x00e8, length); in cx_sensor()
343 reg_r(gspca_dev, 0x00e7, 8); in cx_sensor()
347 0x33, 0x81, 0xB0, 0x00, 0x90, 0x00, 0x0A, 0x03, /* 176x144 */
348 0x00, 0x03, 0x03, 0x03, 0x1B, 0x05, 0x30, 0x03,
349 0x65, 0x15, 0x18, 0x25, 0x03, 0x25, 0x08, 0x30,
350 0x3B, 0x25, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00,
351 0xDC, 0xFF, 0xEE, 0xFF, 0xC5, 0xFF, 0xBF, 0xFF,
352 0xF7, 0xFF, 0x88, 0xFF, 0x66, 0x02, 0x28, 0x02,
353 0x1E, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
356 0x7f, 0x7f, 0x40, 0x01, 0xf0, 0x00, 0x02, 0x01,
357 0x00, 0x01, 0x01, 0x01, 0x10, 0x00, 0x02, 0x01,
358 0x65, 0x45, 0xfa, 0x4c, 0x2c, 0xdf, 0xb9, 0x81,
359 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
360 0xe2, 0xff, 0xf1, 0xff, 0xc2, 0xff, 0xbc, 0xff,
361 0xf5, 0xff, 0x6d, 0xff, 0xf6, 0x01, 0x43, 0x02,
362 0xd3, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
365 0x2e, 0x7c, 0x60, 0x01, 0x20, 0x01, 0x05, 0x03,
366 0x00, 0x06, 0x03, 0x06, 0x1b, 0x10, 0x05, 0x3b,
367 0x30, 0x25, 0x18, 0x25, 0x08, 0x30, 0x03, 0x25,
368 0x3b, 0x30, 0x25, 0x1b, 0x10, 0x05, 0x00, 0x00,
369 0xe3, 0xff, 0xf1, 0xff, 0xc2, 0xff, 0xbc, 0xff,
370 0xf5, 0xff, 0x6b, 0xff, 0xee, 0x01, 0x43, 0x02,
371 0xe4, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
374 0x7e, 0x7e, 0x80, 0x02, 0xe0, 0x01, 0x01, 0x01,
375 0x00, 0x02, 0x01, 0x02, 0x10, 0x30, 0x01, 0x01,
376 0x65, 0x45, 0xf7, 0x52, 0x2c, 0xdf, 0xb9, 0x81,
377 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
378 0xe2, 0xff, 0xf1, 0xff, 0xc2, 0xff, 0xbc, 0xff,
379 0xf6, 0xff, 0x7b, 0xff, 0x01, 0x02, 0x43, 0x02,
380 0x77, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
386 static const __u8 reg12[] = { 0x08, 0x05, 0x07, 0x04, 0x24 }; in cx11646_initsize()
388 { 0x0a, 0x00, 0xf2, 0x01, 0x0f, 0x00, 0x97, 0x02 }; in cx11646_initsize()
391 case 0: in cx11646_initsize()
405 reg_w_val(gspca_dev, 0x009a, 0x01); in cx11646_initsize()
406 reg_w_val(gspca_dev, 0x0010, 0x10); in cx11646_initsize()
407 reg_w(gspca_dev, 0x0012, reg12, 5); in cx11646_initsize()
408 reg_w(gspca_dev, 0x0017, reg17, 8); in cx11646_initsize()
409 reg_w_val(gspca_dev, 0x00c0, 0x00); in cx11646_initsize()
410 reg_w_val(gspca_dev, 0x00c1, 0x04); in cx11646_initsize()
411 reg_w_val(gspca_dev, 0x00c2, 0x04); in cx11646_initsize()
413 reg_w(gspca_dev, 0x0061, cxinit, 8); in cx11646_initsize()
415 reg_w(gspca_dev, 0x00ca, cxinit, 8); in cx11646_initsize()
417 reg_w(gspca_dev, 0x00d2, cxinit, 8); in cx11646_initsize()
419 reg_w(gspca_dev, 0x00da, cxinit, 6); in cx11646_initsize()
421 reg_w(gspca_dev, 0x0041, cxinit, 8); in cx11646_initsize()
423 reg_w(gspca_dev, 0x0049, cxinit, 8); in cx11646_initsize()
425 reg_w(gspca_dev, 0x0051, cxinit, 2); in cx11646_initsize()
427 reg_r(gspca_dev, 0x0010, 1); in cx11646_initsize()
431 {0xff, 0xd8, 0xff, 0xdb, 0x00, 0x84, 0x00, 0x15}, /* 1 */
432 {0x0f, 0x10, 0x12, 0x10, 0x0d, 0x15, 0x12, 0x11},
433 {0x12, 0x18, 0x16, 0x15, 0x19, 0x20, 0x35, 0x22},
434 {0x20, 0x1d, 0x1d, 0x20, 0x41, 0x2e, 0x31, 0x26},
435 {0x35, 0x4d, 0x43, 0x51, 0x4f, 0x4b, 0x43, 0x4a},
436 {0x49, 0x55, 0x5F, 0x79, 0x67, 0x55, 0x5A, 0x73},
437 {0x5B, 0x49, 0x4A, 0x6A, 0x90, 0x6B, 0x73, 0x7D},
438 {0x81, 0x88, 0x89, 0x88, 0x52, 0x66, 0x95, 0xA0},
439 {0x94, 0x84, 0x9E, 0x79, 0x85, 0x88, 0x83, 0x01},
440 {0x15, 0x0F, 0x10, 0x12, 0x10, 0x0D, 0x15, 0x12},
441 {0x11, 0x12, 0x18, 0x16, 0x15, 0x19, 0x20, 0x35},
442 {0x22, 0x20, 0x1D, 0x1D, 0x20, 0x41, 0x2E, 0x31},
443 {0x26, 0x35, 0x4D, 0x43, 0x51, 0x4F, 0x4B, 0x43},
444 {0x4A, 0x49, 0x55, 0x5F, 0x79, 0x67, 0x55, 0x5A},
445 {0x73, 0x5B, 0x49, 0x4A, 0x6A, 0x90, 0x6B, 0x73},
446 {0x7D, 0x81, 0x88, 0x89, 0x88, 0x52, 0x66, 0x95},
447 {0xA0, 0x94, 0x84, 0x9E, 0x79, 0x85, 0x88, 0x83},
448 {0xFF, 0xC4, 0x01, 0xA2, 0x00, 0x00, 0x01, 0x05},
449 {0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00},
450 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02},
451 {0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A},
452 {0x0B, 0x01, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01},
453 {0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00},
454 {0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05},
455 {0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x10, 0x00},
456 {0x02, 0x01, 0x03, 0x03, 0x02, 0x04, 0x03, 0x05},
457 {0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7D, 0x01},
458 {0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21},
459 {0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, 0x22},
460 {0x71, 0x14, 0x32, 0x81, 0x91, 0xA1, 0x08, 0x23},
461 {0x42, 0xB1, 0xC1, 0x15, 0x52, 0xD1, 0xF0, 0x24},
462 {0x33, 0x62, 0x72, 0x82, 0x09, 0x0A, 0x16, 0x17},
463 {0x18, 0x19, 0x1A, 0x25, 0x26, 0x27, 0x28, 0x29},
464 {0x2A, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A},
465 {0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A},
466 {0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A},
467 {0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A},
468 {0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A},
469 {0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A},
470 {0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99},
471 {0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8},
472 {0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7},
473 {0xB8, 0xB9, 0xBA, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6},
474 {0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, 0xD5},
475 {0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xE1, 0xE2, 0xE3},
476 {0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF1},
477 {0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9},
478 {0xFA, 0x11, 0x00, 0x02, 0x01, 0x02, 0x04, 0x04},
479 {0x03, 0x04, 0x07, 0x05, 0x04, 0x04, 0x00, 0x01},
480 {0x02, 0x77, 0x00, 0x01, 0x02, 0x03, 0x11, 0x04},
481 {0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 0x51, 0x07},
482 {0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14},
483 {0x42, 0x91, 0xA1, 0xB1, 0xC1, 0x09, 0x23, 0x33},
484 {0x52, 0xF0, 0x15, 0x62, 0x72, 0xD1, 0x0A, 0x16},
485 {0x24, 0x34, 0xE1, 0x25, 0xF1, 0x17, 0x18, 0x19},
486 {0x1A, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x35, 0x36},
487 {0x37, 0x38, 0x39, 0x3A, 0x43, 0x44, 0x45, 0x46},
488 {0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56},
489 {0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66},
490 {0x67, 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75, 0x76},
491 {0x77, 0x78, 0x79, 0x7A, 0x82, 0x83, 0x84, 0x85},
492 {0x86, 0x87, 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94},
493 {0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3},
494 {0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2},
495 {0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA},
496 {0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9},
497 {0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8},
498 {0xD9, 0xDA, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7},
499 {0xE8, 0xE9, 0xEA, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6},
500 {0xF7, 0xF8, 0xF9, 0xFA, 0xFF, 0x20, 0x00, 0x1F},
501 {0x02, 0x0C, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00},
502 {0x00, 0x00, 0x11, 0x00, 0x11, 0x22, 0x00, 0x22},
503 {0x22, 0x11, 0x22, 0x22, 0x11, 0x33, 0x33, 0x11},
504 {0x44, 0x66, 0x22, 0x55, 0x66, 0xFF, 0xDD, 0x00},
505 {0x04, 0x00, 0x14, 0xFF, 0xC0, 0x00, 0x11, 0x08},
506 {0x00, 0xF0, 0x01, 0x40, 0x03, 0x00, 0x21, 0x00},
507 {0x01, 0x11, 0x01, 0x02, 0x11, 0x01, 0xFF, 0xDA},
508 {0x00, 0x0C, 0x03, 0x00, 0x00, 0x01, 0x11, 0x02},
509 {0x11, 0x00, 0x3F, 0x00, 0xFF, 0xD9, 0x00, 0x00} /* 79 */
514 {0xff, 0xd8, 0xff, 0xdb, 0x00, 0x84, 0x00, 0x10}, /* 1 */
515 {0x0b, 0x0c, 0x0e, 0x0c, 0x0a, 0x10, 0x0e, 0x0d},
516 {0x0e, 0x12, 0x11, 0x10, 0x13, 0x18, 0x28, 0x1a},
517 {0x18, 0x16, 0x16, 0x18, 0x31, 0x23, 0x25, 0x1d},
518 {0x28, 0x3a, 0x33, 0x3D, 0x3C, 0x39, 0x33, 0x38},
519 {0x37, 0x40, 0x48, 0x5C, 0x4E, 0x40, 0x44, 0x57},
520 {0x45, 0x37, 0x38, 0x50, 0x6D, 0x51, 0x57, 0x5F},
521 {0x62, 0x67, 0x68, 0x67, 0x3E, 0x4D, 0x71, 0x79},
522 {0x70, 0x64, 0x78, 0x5C, 0x65, 0x67, 0x63, 0x01},
523 {0x10, 0x0B, 0x0C, 0x0E, 0x0C, 0x0A, 0x10, 0x0E},
524 {0x0D, 0x0E, 0x12, 0x11, 0x10, 0x13, 0x18, 0x28},
525 {0x1A, 0x18, 0x16, 0x16, 0x18, 0x31, 0x23, 0x25},
526 {0x1D, 0x28, 0x3A, 0x33, 0x3D, 0x3C, 0x39, 0x33},
527 {0x38, 0x37, 0x40, 0x48, 0x5C, 0x4E, 0x40, 0x44},
528 {0x57, 0x45, 0x37, 0x38, 0x50, 0x6D, 0x51, 0x57},
529 {0x5F, 0x62, 0x67, 0x68, 0x67, 0x3E, 0x4D, 0x71},
530 {0x79, 0x70, 0x64, 0x78, 0x5C, 0x65, 0x67, 0x63},
531 {0xFF, 0x20, 0x00, 0x1F, 0x00, 0x83, 0x00, 0x00},
532 {0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00},
533 {0x11, 0x22, 0x00, 0x22, 0x22, 0x11, 0x22, 0x22},
534 {0x11, 0x33, 0x33, 0x11, 0x44, 0x66, 0x22, 0x55},
535 {0x66, 0xFF, 0xDD, 0x00, 0x04, 0x00, 0x28, 0xFF},
536 {0xC0, 0x00, 0x11, 0x08, 0x01, 0xE0, 0x02, 0x80},
537 {0x03, 0x00, 0x21, 0x00, 0x01, 0x11, 0x01, 0x02},
538 {0x11, 0x01, 0xFF, 0xDA, 0x00, 0x0C, 0x03, 0x00},
539 {0x00, 0x01, 0x11, 0x02, 0x11, 0x00, 0x3F, 0x00},
540 {0xFF, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} /* 27 */
543 {0xff, 0xd8, 0xff, 0xdb, 0x00, 0x84, 0x00, 0x0d},
544 {0x09, 0x09, 0x0b, 0x09, 0x08, 0x0D, 0x0b, 0x0a},
545 {0x0b, 0x0e, 0x0d, 0x0d, 0x0f, 0x13, 0x1f, 0x14},
546 {0x13, 0x11, 0x11, 0x13, 0x26, 0x1b, 0x1d, 0x17},
547 {0x1F, 0x2D, 0x28, 0x30, 0x2F, 0x2D, 0x28, 0x2C},
548 {0x2B, 0x32, 0x38, 0x48, 0x3D, 0x32, 0x35, 0x44},
549 {0x36, 0x2B, 0x2C, 0x3F, 0x55, 0x3F, 0x44, 0x4A},
550 {0x4D, 0x50, 0x51, 0x50, 0x30, 0x3C, 0x58, 0x5F},
551 {0x58, 0x4E, 0x5E, 0x48, 0x4F, 0x50, 0x4D, 0x01},
552 {0x0D, 0x09, 0x09, 0x0B, 0x09, 0x08, 0x0D, 0x0B},
553 {0x0A, 0x0B, 0x0E, 0x0D, 0x0D, 0x0F, 0x13, 0x1F},
554 {0x14, 0x13, 0x11, 0x11, 0x13, 0x26, 0x1B, 0x1D},
555 {0x17, 0x1F, 0x2D, 0x28, 0x30, 0x2F, 0x2D, 0x28},
556 {0x2C, 0x2B, 0x32, 0x38, 0x48, 0x3D, 0x32, 0x35},
557 {0x44, 0x36, 0x2B, 0x2C, 0x3F, 0x55, 0x3F, 0x44},
558 {0x4A, 0x4D, 0x50, 0x51, 0x50, 0x30, 0x3C, 0x58},
559 {0x5F, 0x58, 0x4E, 0x5E, 0x48, 0x4F, 0x50, 0x4D},
560 {0xFF, 0x20, 0x00, 0x1F, 0x01, 0x83, 0x00, 0x00},
561 {0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00},
562 {0x11, 0x22, 0x00, 0x22, 0x22, 0x11, 0x22, 0x22},
563 {0x11, 0x33, 0x33, 0x11, 0x44, 0x66, 0x22, 0x55},
564 {0x66, 0xFF, 0xDD, 0x00, 0x04, 0x00, 0x16, 0xFF},
565 {0xC0, 0x00, 0x11, 0x08, 0x01, 0x20, 0x01, 0x60},
566 {0x03, 0x00, 0x21, 0x00, 0x01, 0x11, 0x01, 0x02},
567 {0x11, 0x01, 0xFF, 0xDA, 0x00, 0x0C, 0x03, 0x00},
568 {0x00, 0x01, 0x11, 0x02, 0x11, 0x00, 0x3F, 0x00},
569 {0xFF, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
572 {0xff, 0xd8, 0xff, 0xdb, 0x00, 0x84, 0x00, 0x05},
573 {0x03, 0x04, 0x04, 0x04, 0x03, 0x05, 0x04, 0x04},
574 {0x04, 0x05, 0x05, 0x05, 0x06, 0x07, 0x0c, 0x08},
575 {0x07, 0x07, 0x07, 0x07, 0x0f, 0x0b, 0x0b, 0x09},
576 {0x0C, 0x11, 0x0F, 0x12, 0x12, 0x11, 0x0f, 0x11},
577 {0x11, 0x13, 0x16, 0x1C, 0x17, 0x13, 0x14, 0x1A},
578 {0x15, 0x11, 0x11, 0x18, 0x21, 0x18, 0x1A, 0x1D},
579 {0x1D, 0x1F, 0x1F, 0x1F, 0x13, 0x17, 0x22, 0x24},
580 {0x22, 0x1E, 0x24, 0x1C, 0x1E, 0x1F, 0x1E, 0x01},
581 {0x05, 0x03, 0x04, 0x04, 0x04, 0x03, 0x05, 0x04},
582 {0x04, 0x04, 0x05, 0x05, 0x05, 0x06, 0x07, 0x0C},
583 {0x08, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x0B, 0x0B},
584 {0x09, 0x0C, 0x11, 0x0F, 0x12, 0x12, 0x11, 0x0F},
585 {0x11, 0x11, 0x13, 0x16, 0x1C, 0x17, 0x13, 0x14},
586 {0x1A, 0x15, 0x11, 0x11, 0x18, 0x21, 0x18, 0x1A},
587 {0x1D, 0x1D, 0x1F, 0x1F, 0x1F, 0x13, 0x17, 0x22},
588 {0x24, 0x22, 0x1E, 0x24, 0x1C, 0x1E, 0x1F, 0x1E},
589 {0xFF, 0x20, 0x00, 0x1F, 0x02, 0x0C, 0x00, 0x00},
590 {0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00},
591 {0x11, 0x22, 0x00, 0x22, 0x22, 0x11, 0x22, 0x22},
592 {0x11, 0x33, 0x33, 0x11, 0x44, 0x66, 0x22, 0x55},
593 {0x66, 0xFF, 0xDD, 0x00, 0x04, 0x00, 0x14, 0xFF},
594 {0xC0, 0x00, 0x11, 0x08, 0x00, 0xF0, 0x01, 0x40},
595 {0x03, 0x00, 0x21, 0x00, 0x01, 0x11, 0x01, 0x02},
596 {0x11, 0x01, 0xFF, 0xDA, 0x00, 0x0C, 0x03, 0x00},
597 {0x00, 0x01, 0x11, 0x02, 0x11, 0x00, 0x3F, 0x00},
598 {0xFF, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} /* 27 */
601 {0xff, 0xd8, 0xff, 0xdb, 0x00, 0x84, 0x00, 0x0d},
602 {0x09, 0x09, 0x0B, 0x09, 0x08, 0x0D, 0x0B, 0x0A},
603 {0x0B, 0x0E, 0x0D, 0x0D, 0x0F, 0x13, 0x1F, 0x14},
604 {0x13, 0x11, 0x11, 0x13, 0x26, 0x1B, 0x1D, 0x17},
605 {0x1F, 0x2D, 0x28, 0x30, 0x2F, 0x2D, 0x28, 0x2C},
606 {0x2B, 0x32, 0x38, 0x48, 0x3D, 0x32, 0x35, 0x44},
607 {0x36, 0x2B, 0x2C, 0x3F, 0x55, 0x3F, 0x44, 0x4A},
608 {0x4D, 0x50, 0x51, 0x50, 0x30, 0x3C, 0x58, 0x5F},
609 {0x58, 0x4E, 0x5E, 0x48, 0x4F, 0x50, 0x4D, 0x01},
610 {0x0D, 0x09, 0x09, 0x0B, 0x09, 0x08, 0x0D, 0x0B},
611 {0x0A, 0x0B, 0x0E, 0x0D, 0x0D, 0x0F, 0x13, 0x1F},
612 {0x14, 0x13, 0x11, 0x11, 0x13, 0x26, 0x1B, 0x1D},
613 {0x17, 0x1F, 0x2D, 0x28, 0x30, 0x2F, 0x2D, 0x28},
614 {0x2C, 0x2B, 0x32, 0x38, 0x48, 0x3D, 0x32, 0x35},
615 {0x44, 0x36, 0x2B, 0x2C, 0x3F, 0x55, 0x3F, 0x44},
616 {0x4A, 0x4D, 0x50, 0x51, 0x50, 0x30, 0x3C, 0x58},
617 {0x5F, 0x58, 0x4E, 0x5E, 0x48, 0x4F, 0x50, 0x4D},
618 {0xFF, 0x20, 0x00, 0x1F, 0x03, 0xA1, 0x00, 0x00},
619 {0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00},
620 {0x11, 0x22, 0x00, 0x22, 0x22, 0x11, 0x22, 0x22},
621 {0x11, 0x33, 0x33, 0x11, 0x44, 0x66, 0x22, 0x55},
622 {0x66, 0xFF, 0xDD, 0x00, 0x04, 0x00, 0x0B, 0xFF},
623 {0xC0, 0x00, 0x11, 0x08, 0x00, 0x90, 0x00, 0xB0},
624 {0x03, 0x00, 0x21, 0x00, 0x01, 0x11, 0x01, 0x02},
625 {0x11, 0x01, 0xFF, 0xDA, 0x00, 0x0C, 0x03, 0x00},
626 {0x00, 0x01, 0x11, 0x02, 0x11, 0x00, 0x3F, 0x00},
627 {0xFF, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
631 {0xff, 0xd8, 0xff, 0xdb, 0x00, 0x84, 0x00, 0x08},
632 {0x06, 0x06, 0x07, 0x06, 0x05, 0x08, 0x07, 0x07},
633 {0x07, 0x09, 0x09, 0x08, 0x0a, 0x0c, 0x14, 0x0a},
634 {0x0c, 0x0b, 0x0b, 0x0c, 0x19, 0x12, 0x13, 0x0f},
635 {0x14, 0x1d, 0x1a, 0x1f, 0x1e, 0x1d, 0x1a, 0x1c},
636 {0x1c, 0x20, 0x24, 0x2e, 0x27, 0x20, 0x22, 0x2c},
637 {0x23, 0x1c, 0x1c, 0x28, 0x37, 0x29, 0x2c, 0x30},
638 {0x31, 0x34, 0x34, 0x34, 0x1f, 0x27, 0x39, 0x3d},
639 {0x38, 0x32, 0x3c, 0x2e, 0x33, 0x34, 0x32, 0x01},
640 {0x09, 0x09, 0x09, 0x0c, 0x0b, 0x0c, 0x18, 0x0a},
641 {0x0a, 0x18, 0x32, 0x21, 0x1c, 0x21, 0x32, 0x32},
642 {0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32},
643 {0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32},
644 {0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32},
645 {0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32},
646 {0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32},
647 {0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32},
648 {0xFF, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} /* 18 */
657 reg_w_val(gspca_dev, 0x00c0, 0x01); in cx11646_jpegInit()
658 reg_w_val(gspca_dev, 0x00c3, 0x00); in cx11646_jpegInit()
659 reg_w_val(gspca_dev, 0x00c0, 0x00); in cx11646_jpegInit()
660 reg_r(gspca_dev, 0x0001, 1); in cx11646_jpegInit()
662 for (i = 0; i < 79; i++) { in cx11646_jpegInit()
665 reg_w(gspca_dev, 0x0008, cx_jpeg_init[i], length); in cx11646_jpegInit()
667 reg_r(gspca_dev, 0x0002, 1); in cx11646_jpegInit()
668 reg_w_val(gspca_dev, 0x0055, 0x14); in cx11646_jpegInit()
671 static const __u8 reg12[] = { 0x0a, 0x05, 0x07, 0x04, 0x19 };
673 { 0x88, 0x00, 0xd4, 0x01, 0x88, 0x01, 0x01, 0x01 };
674 static const __u8 regE5a[] = { 0x88, 0x0a, 0x0c, 0x01 };
675 static const __u8 regE5b[] = { 0x88, 0x0b, 0x12, 0x01 };
676 static const __u8 regE5c[] = { 0x88, 0x05, 0x01, 0x01 };
677 static const __u8 reg51[] = { 0x77, 0x03 };
678 #define reg70 0x03
687 reg_w_val(gspca_dev, 0x00c0, 0x01); in cx11646_jpeg()
688 reg_w_val(gspca_dev, 0x00c3, 0x00); in cx11646_jpeg()
689 reg_w_val(gspca_dev, 0x00c0, 0x00); in cx11646_jpeg()
690 reg_r(gspca_dev, 0x0001, 1); in cx11646_jpeg()
693 case 0: in cx11646_jpeg()
694 for (i = 0; i < 27; i++) { in cx11646_jpeg()
697 reg_w(gspca_dev, 0x0008, cxjpeg_640[i], length); in cx11646_jpeg()
699 Reg55 = 0x28; in cx11646_jpeg()
702 for (i = 0; i < 27; i++) { in cx11646_jpeg()
705 reg_w(gspca_dev, 0x0008, cxjpeg_352[i], length); in cx11646_jpeg()
707 Reg55 = 0x16; in cx11646_jpeg()
711 for (i = 0; i < 27; i++) { in cx11646_jpeg()
714 reg_w(gspca_dev, 0x0008, cxjpeg_320[i], length); in cx11646_jpeg()
716 Reg55 = 0x14; in cx11646_jpeg()
719 for (i = 0; i < 27; i++) { in cx11646_jpeg()
722 reg_w(gspca_dev, 0x0008, cxjpeg_176[i], length); in cx11646_jpeg()
724 Reg55 = 0x0B; in cx11646_jpeg()
728 reg_r(gspca_dev, 0x0002, 1); in cx11646_jpeg()
729 reg_w_val(gspca_dev, 0x0055, Reg55); in cx11646_jpeg()
730 reg_r(gspca_dev, 0x0002, 1); in cx11646_jpeg()
731 reg_w(gspca_dev, 0x0010, reg10, 2); in cx11646_jpeg()
732 reg_w_val(gspca_dev, 0x0054, 0x02); in cx11646_jpeg()
733 reg_w_val(gspca_dev, 0x0054, 0x01); in cx11646_jpeg()
734 reg_w_val(gspca_dev, 0x0000, 0x94); in cx11646_jpeg()
735 reg_w_val(gspca_dev, 0x0053, 0xc0); in cx11646_jpeg()
736 reg_w_val(gspca_dev, 0x00fc, 0xe1); in cx11646_jpeg()
737 reg_w_val(gspca_dev, 0x0000, 0x00); in cx11646_jpeg()
741 reg_r(gspca_dev, 0x0002, 1); in cx11646_jpeg()
742 /* 0x07 until 0x00 */ in cx11646_jpeg()
743 if (gspca_dev->usb_buf[0] == 0x00) in cx11646_jpeg()
745 reg_w_val(gspca_dev, 0x0053, 0x00); in cx11646_jpeg()
747 if (retry == 0) in cx11646_jpeg()
750 reg_r(gspca_dev, 0x0001, 1); /* -> 0x18 */ in cx11646_jpeg()
752 for (i = 0; i < 18; i++) { in cx11646_jpeg()
755 reg_w(gspca_dev, 0x0008, cxjpeg_qtable[i], length); in cx11646_jpeg()
758 reg_r(gspca_dev, 0x0002, 1); /* 0x00 */ in cx11646_jpeg()
759 reg_r(gspca_dev, 0x0053, 1); /* 0x00 */ in cx11646_jpeg()
760 reg_w_val(gspca_dev, 0x0054, 0x02); in cx11646_jpeg()
761 reg_w_val(gspca_dev, 0x0054, 0x01); in cx11646_jpeg()
762 reg_w_val(gspca_dev, 0x0000, 0x94); in cx11646_jpeg()
763 reg_w_val(gspca_dev, 0x0053, 0xc0); in cx11646_jpeg()
765 reg_r(gspca_dev, 0x0038, 1); /* 0x40 */ in cx11646_jpeg()
766 reg_r(gspca_dev, 0x0038, 1); /* 0x40 */ in cx11646_jpeg()
767 reg_r(gspca_dev, 0x001f, 1); /* 0x38 */ in cx11646_jpeg()
768 reg_w(gspca_dev, 0x0012, reg12, 5); in cx11646_jpeg()
769 reg_w(gspca_dev, 0x00e5, regE5_8, 8); in cx11646_jpeg()
770 reg_r(gspca_dev, 0x00e8, 8); in cx11646_jpeg()
771 reg_w(gspca_dev, 0x00e5, regE5a, 4); in cx11646_jpeg()
772 reg_r(gspca_dev, 0x00e8, 1); /* 0x00 */ in cx11646_jpeg()
773 reg_w_val(gspca_dev, 0x009a, 0x01); in cx11646_jpeg()
774 reg_w(gspca_dev, 0x00e5, regE5b, 4); in cx11646_jpeg()
775 reg_r(gspca_dev, 0x00e8, 1); /* 0x00 */ in cx11646_jpeg()
776 reg_w(gspca_dev, 0x00e5, regE5c, 4); in cx11646_jpeg()
777 reg_r(gspca_dev, 0x00e8, 1); /* 0x00 */ in cx11646_jpeg()
779 reg_w(gspca_dev, 0x0051, reg51, 2); in cx11646_jpeg()
780 reg_w(gspca_dev, 0x0010, reg10, 2); in cx11646_jpeg()
781 reg_w_val(gspca_dev, 0x0070, reg70); in cx11646_jpeg()
786 int i = 0; in cx11646_init1()
788 reg_w_val(gspca_dev, 0x0010, 0x00); in cx11646_init1()
789 reg_w_val(gspca_dev, 0x0053, 0x00); in cx11646_init1()
790 reg_w_val(gspca_dev, 0x0052, 0x00); in cx11646_init1()
791 reg_w_val(gspca_dev, 0x009b, 0x2f); in cx11646_init1()
792 reg_w_val(gspca_dev, 0x009c, 0x10); in cx11646_init1()
793 reg_r(gspca_dev, 0x0098, 1); in cx11646_init1()
794 reg_w_val(gspca_dev, 0x0098, 0x40); in cx11646_init1()
795 reg_r(gspca_dev, 0x0099, 1); in cx11646_init1()
796 reg_w_val(gspca_dev, 0x0099, 0x07); in cx11646_init1()
797 reg_w_val(gspca_dev, 0x0039, 0x40); in cx11646_init1()
798 reg_w_val(gspca_dev, 0x003c, 0xff); in cx11646_init1()
799 reg_w_val(gspca_dev, 0x003f, 0x1f); in cx11646_init1()
800 reg_w_val(gspca_dev, 0x003d, 0x40); in cx11646_init1()
801 /* reg_w_val(gspca_dev, 0x003d, 0x60); */ in cx11646_init1()
802 reg_r(gspca_dev, 0x0099, 1); /* ->0x07 */ in cx11646_init1()
804 while (cx_sensor_init[i][0]) { in cx11646_init1()
805 reg_w_val(gspca_dev, 0x00e5, cx_sensor_init[i][0]); in cx11646_init1()
806 reg_r(gspca_dev, 0x00e8, 1); /* -> 0x00 */ in cx11646_init1()
808 reg_w_val(gspca_dev, 0x00ed, 0x01); in cx11646_init1()
809 reg_r(gspca_dev, 0x00ed, 1); /* -> 0x01 */ in cx11646_init1()
813 reg_w_val(gspca_dev, 0x00c3, 0x00); in cx11646_init1()
831 return 0; in sd_config()
842 return 0; in sd_init()
851 0x22); /* JPEG 411 */ in sd_start()
858 return 0; in sd_start()
861 /* called on streamoff with alt 0 and on disconnect */
868 reg_w_val(gspca_dev, 0x0000, 0x00); in sd_stop0()
869 reg_r(gspca_dev, 0x0002, 1); in sd_stop0()
870 reg_w_val(gspca_dev, 0x0053, 0x00); in sd_stop0()
873 /* reg_r(gspca_dev, 0x0002, 1);*/ in sd_stop0()
874 reg_r(gspca_dev, 0x0053, 1); in sd_stop0()
875 if (gspca_dev->usb_buf[0] == 0) in sd_stop0()
878 reg_w_val(gspca_dev, 0x0000, 0x00); in sd_stop0()
879 reg_r(gspca_dev, 0x0002, 1); in sd_stop0()
881 reg_w_val(gspca_dev, 0x0010, 0x00); in sd_stop0()
882 reg_r(gspca_dev, 0x0033, 1); in sd_stop0()
883 reg_w_val(gspca_dev, 0x00fc, 0xe0); in sd_stop0()
892 if (data[0] == 0xff && data[1] == 0xd8) { in sd_pkt_scan()
895 gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0); in sd_pkt_scan()
909 __u8 regE5cbx[] = { 0x88, 0x00, 0xd4, 0x01, 0x88, 0x01, 0x01, 0x01 }; in setbrightness()
916 reg_w(gspca_dev, 0x00e5, regE5cbx, 8); in setbrightness()
917 reg_r(gspca_dev, 0x00e8, 8); in setbrightness()
918 reg_w(gspca_dev, 0x00e5, regE5c, 4); in setbrightness()
919 reg_r(gspca_dev, 0x00e8, 1); /* 0x00 */ in setbrightness()
922 reg51c[0] = 0x77; in setbrightness()
924 reg_w(gspca_dev, 0x0051, reg51c, 2); in setbrightness()
925 reg_w(gspca_dev, 0x0010, reg10, 2); in setbrightness()
926 reg_w_val(gspca_dev, 0x0070, reg70); in setbrightness()
932 __u8 regE5acx[] = { 0x88, 0x0a, 0x0c, 0x01 }; /* seem MSB */ in setcontrast()
933 /* __u8 regE5bcx[] = { 0x88, 0x0b, 0x12, 0x01}; * LSB */ in setcontrast()
937 reg_w(gspca_dev, 0x00e5, regE5acx, 4); in setcontrast()
938 reg_r(gspca_dev, 0x00e8, 1); /* 0x00 */ in setcontrast()
939 reg51c[0] = 0x77; in setcontrast()
941 reg_w(gspca_dev, 0x0051, reg51c, 2); in setcontrast()
942 reg_w(gspca_dev, 0x0010, reg10, 2); in setcontrast()
943 reg_w_val(gspca_dev, 0x0070, reg70); in setcontrast()
953 return 0; in sd_setbrightness()
961 return 0; in sd_getbrightness()
971 return 0; in sd_setcontrast()
979 return 0; in sd_getcontrast()
991 return 0; in sd_setcolors()
999 return 0; in sd_getcolors()
1015 return 0; in sd_set_jcomp()
1023 memset(jcomp, 0, sizeof *jcomp); in sd_get_jcomp()
1027 return 0; in sd_get_jcomp()
1046 {USB_DEVICE(0x0572, 0x0041)},