Lines Matching +full:0 +full:x1d

29 #define OV534_REG_ADDRESS	0xf1	/* sensor address */
30 #define OV534_REG_SUBADDR 0xf2
31 #define OV534_REG_WRITE 0xf3
32 #define OV534_REG_READ 0xf4
33 #define OV534_REG_OPERATION 0xf5
34 #define OV534_REG_STATUS 0xf6
36 #define OV534_OP_WRITE_3 0x37
37 #define OV534_OP_WRITE_2 0x33
38 #define OV534_OP_READ_2 0xf9
96 .priv = 0},
106 .priv = 0},
149 {0xf1, 0x42},
150 {0x88, 0xf8},
151 {0x89, 0xff},
152 {0x76, 0x03},
153 {0x92, 0x03},
154 {0x95, 0x10},
155 {0xe2, 0x00},
156 {0xe7, 0x3e},
157 {0x8d, 0x1c},
158 {0x8e, 0x00},
159 {0x8f, 0x00},
160 {0x1f, 0x00},
161 {0xc3, 0xf9},
162 {0x89, 0xff},
163 {0x88, 0xf8},
164 {0x76, 0x03},
165 {0x92, 0x01},
166 {0x93, 0x18},
167 {0x1c, 0x00},
168 {0x1d, 0x48},
169 {0x1d, 0x00},
170 {0x1d, 0xff},
171 {0x1d, 0x02},
172 {0x1d, 0x58},
173 {0x1d, 0x00},
174 {0x1c, 0x0a},
175 {0x1d, 0x0a},
176 {0x1d, 0x0e},
177 {0xc0, 0x50}, /* HSize 640 */
178 {0xc1, 0x3c}, /* VSize 480 */
179 {0x34, 0x05}, /* enable Audio Suspend mode */
180 {0xc2, 0x0c}, /* Input YUV */
181 {0xc3, 0xf9}, /* enable PRE */
182 {0x34, 0x05}, /* enable Audio Suspend mode */
183 {0xe7, 0x2e}, /* this solves failure of "SuspendResumeTest" */
184 {0x31, 0xf9}, /* enable 1.8V Suspend */
185 {0x35, 0x02}, /* turn on JPEG */
186 {0xd9, 0x10},
187 {0x25, 0x42}, /* GPIO[8]:Input */
188 {0x94, 0x11}, /* If the default setting is loaded when
192 {0x12, 0x80},
193 {0x11, 0x03},
194 {0x3a, 0x04},
195 {0x12, 0x00},
196 {0x17, 0x13},
197 {0x18, 0x01},
198 {0x32, 0xb6},
199 {0x19, 0x02},
200 {0x1a, 0x7a},
201 {0x03, 0x0a},
202 {0x0c, 0x00},
203 {0x3e, 0x00},
204 {0x70, 0x3a},
205 {0x71, 0x35},
206 {0x72, 0x11},
207 {0x73, 0xf0},
208 {0xa2, 0x02},
209 {0x7a, 0x2a}, /* set Gamma=1.6 below */
210 {0x7b, 0x12},
211 {0x7c, 0x1d},
212 {0x7d, 0x2d},
213 {0x7e, 0x45},
214 {0x7f, 0x50},
215 {0x80, 0x59},
216 {0x81, 0x62},
217 {0x82, 0x6b},
218 {0x83, 0x73},
219 {0x84, 0x7b},
220 {0x85, 0x8a},
221 {0x86, 0x98},
222 {0x87, 0xb2},
223 {0x88, 0xca},
224 {0x89, 0xe0},
225 {0x13, 0xe0},
226 {0x00, 0x00},
227 {0x10, 0x00},
228 {0x0d, 0x40},
229 {0x14, 0x38}, /* gain max 16x */
230 {0xa5, 0x05},
231 {0xab, 0x07},
232 {0x24, 0x95},
233 {0x25, 0x33},
234 {0x26, 0xe3},
235 {0x9f, 0x78},
236 {0xa0, 0x68},
237 {0xa1, 0x03},
238 {0xa6, 0xd8},
239 {0xa7, 0xd8},
240 {0xa8, 0xf0},
241 {0xa9, 0x90},
242 {0xaa, 0x94},
243 {0x13, 0xe5},
244 {0x0e, 0x61},
245 {0x0f, 0x4b},
246 {0x16, 0x02},
247 {0x21, 0x02},
248 {0x22, 0x91},
249 {0x29, 0x07},
250 {0x33, 0x0b},
251 {0x35, 0x0b},
252 {0x37, 0x1d},
253 {0x38, 0x71},
254 {0x39, 0x2a},
255 {0x3c, 0x78},
256 {0x4d, 0x40},
257 {0x4e, 0x20},
258 {0x69, 0x00},
259 {0x6b, 0x4a},
260 {0x74, 0x10},
261 {0x8d, 0x4f},
262 {0x8e, 0x00},
263 {0x8f, 0x00},
264 {0x90, 0x00},
265 {0x91, 0x00},
266 {0x96, 0x00},
267 {0x9a, 0x80},
268 {0xb0, 0x84},
269 {0xb1, 0x0c},
270 {0xb2, 0x0e},
271 {0xb3, 0x82},
272 {0xb8, 0x0a},
273 {0x43, 0x0a},
274 {0x44, 0xf0},
275 {0x45, 0x34},
276 {0x46, 0x58},
277 {0x47, 0x28},
278 {0x48, 0x3a},
279 {0x59, 0x88},
280 {0x5a, 0x88},
281 {0x5b, 0x44},
282 {0x5c, 0x67},
283 {0x5d, 0x49},
284 {0x5e, 0x0e},
285 {0x6c, 0x0a},
286 {0x6d, 0x55},
287 {0x6e, 0x11},
288 {0x6f, 0x9f},
289 {0x6a, 0x40},
290 {0x01, 0x40},
291 {0x02, 0x40},
292 {0x13, 0xe7},
293 {0x4f, 0x80},
294 {0x50, 0x80},
295 {0x51, 0x00},
296 {0x52, 0x22},
297 {0x53, 0x5e},
298 {0x54, 0x80},
299 {0x58, 0x9e},
300 {0x41, 0x08},
301 {0x3f, 0x00},
302 {0x75, 0x04},
303 {0x76, 0xe1},
304 {0x4c, 0x00},
305 {0x77, 0x01},
306 {0x3d, 0xc2},
307 {0x4b, 0x09},
308 {0xc9, 0x60},
309 {0x41, 0x38}, /* jfm: auto sharpness + auto de-noise */
310 {0x56, 0x40},
311 {0x34, 0x11},
312 {0x3b, 0xc2},
313 {0xa4, 0x8a}, /* Night mode trigger point */
314 {0x96, 0x00},
315 {0x97, 0x30},
316 {0x98, 0x20},
317 {0x99, 0x20},
318 {0x9a, 0x84},
319 {0x9b, 0x29},
320 {0x9c, 0x03},
321 {0x9d, 0x4c},
322 {0x9e, 0x3f},
323 {0x78, 0x04},
324 {0x79, 0x01},
325 {0xc8, 0xf0},
326 {0x79, 0x0f},
327 {0xc8, 0x00},
328 {0x79, 0x10},
329 {0xc8, 0x7e},
330 {0x79, 0x0a},
331 {0xc8, 0x80},
332 {0x79, 0x0b},
333 {0xc8, 0x01},
334 {0x79, 0x0c},
335 {0xc8, 0x0f},
336 {0x79, 0x0d},
337 {0xc8, 0x20},
338 {0x79, 0x09},
339 {0xc8, 0x80},
340 {0x79, 0x02},
341 {0xc8, 0xc0},
342 {0x79, 0x03},
343 {0xc8, 0x20},
344 {0x79, 0x26},
348 {0x94, 0xaa},
349 {0xf1, 0x42},
350 {0xe5, 0x04},
351 {0xc0, 0x50},
352 {0xc1, 0x3c},
353 {0xc2, 0x0c},
354 {0x35, 0x02}, /* turn on JPEG */
355 {0xd9, 0x10},
356 {0xda, 0x00}, /* for higher clock rate(30fps) */
357 {0x34, 0x05}, /* enable Audio Suspend mode */
358 {0xc3, 0xf9}, /* enable PRE */
359 {0x8c, 0x00}, /* CIF VSize LSB[2:0] */
360 {0x8d, 0x1c}, /* output YUV */
361 /* {0x34, 0x05}, * enable Audio Suspend mode (?) */
362 {0x50, 0x00}, /* H/V divider=0 */
363 {0x51, 0xa0}, /* input H=640/4 */
364 {0x52, 0x3c}, /* input V=480/4 */
365 {0x53, 0x00}, /* offset X=0 */
366 {0x54, 0x00}, /* offset Y=0 */
367 {0x55, 0x00}, /* H/V size[8]=0 */
368 {0x57, 0x00}, /* H-size[9]=0 */
369 {0x5c, 0x00}, /* output size[9:8]=0 */
370 {0x5a, 0xa0}, /* output H=640/4 */
371 {0x5b, 0x78}, /* output V=480/4 */
372 {0x1c, 0x0a},
373 {0x1d, 0x0a},
374 {0x94, 0x11},
377 {0x11, 0x01},
378 {0x1e, 0x04},
379 {0x19, 0x02},
380 {0x1a, 0x7a},
384 {0x94, 0xaa},
385 {0xf1, 0x42},
386 {0xe5, 0x04},
387 {0xc0, 0x80},
388 {0xc1, 0x60},
389 {0xc2, 0x0c},
390 {0x35, 0x02}, /* turn on JPEG */
391 {0xd9, 0x10},
392 {0xc0, 0x50}, /* CIF HSize 640 */
393 {0xc1, 0x3c}, /* CIF VSize 480 */
394 {0x8c, 0x00}, /* CIF VSize LSB[2:0] */
395 {0x8d, 0x1c}, /* output YUV */
396 {0x34, 0x05}, /* enable Audio Suspend mode */
397 {0xc2, 0x4c}, /* output YUV and Enable DCW */
398 {0xc3, 0xf9}, /* enable PRE */
399 {0x1c, 0x00}, /* indirect addressing */
400 {0x1d, 0x48}, /* output YUV422 */
401 {0x50, 0x89}, /* H/V divider=/2; plus DCW AVG */
402 {0x51, 0xa0}, /* DCW input H=640/4 */
403 {0x52, 0x78}, /* DCW input V=480/4 */
404 {0x53, 0x00}, /* offset X=0 */
405 {0x54, 0x00}, /* offset Y=0 */
406 {0x55, 0x00}, /* H/V size[8]=0 */
407 {0x57, 0x00}, /* H-size[9]=0 */
408 {0x5c, 0x00}, /* DCW output size[9:8]=0 */
409 {0x5a, 0x50}, /* DCW output H=320/4 */
410 {0x5b, 0x3c}, /* DCW output V=240/4 */
411 {0x1c, 0x0a},
412 {0x1d, 0x0a},
413 {0x94, 0x11},
416 {0x11, 0x01},
417 {0x1e, 0x04},
418 {0x19, 0x02},
419 {0x1a, 0x7a},
423 { 0x88, 0xf8 },
424 { 0x89, 0xff },
425 { 0x76, 0x03 },
426 { 0x92, 0x01 },
427 { 0x93, 0x18 },
428 { 0x94, 0x10 },
429 { 0x95, 0x10 },
430 { 0xe2, 0x00 },
431 { 0xe7, 0x3e },
433 { 0x96, 0x00 },
435 { 0x97, 0x20 },
436 { 0x97, 0x20 },
437 { 0x97, 0x20 },
438 { 0x97, 0x0a },
439 { 0x97, 0x3f },
440 { 0x97, 0x4a },
441 { 0x97, 0x20 },
442 { 0x97, 0x15 },
443 { 0x97, 0x0b },
445 { 0x8e, 0x40 },
446 { 0x1f, 0x81 },
447 { 0x34, 0x05 },
448 { 0xe3, 0x04 },
449 { 0x89, 0x00 },
450 { 0x76, 0x00 },
451 { 0xe7, 0x2e },
452 { 0x31, 0xf9 },
453 { 0x25, 0x42 },
454 { 0x21, 0xf0 },
456 { 0x1c, 0x0a },
457 { 0x1d, 0x08 }, /* turn on UVC header */
458 { 0x1d, 0x0e }, /* .. */
461 { 0x12, 0x80 },
462 { 0x11, 0x01 },
464 { 0x11, 0x01 },
465 { 0x11, 0x01 },
466 { 0x11, 0x01 },
467 { 0x11, 0x01 },
468 { 0x11, 0x01 },
469 { 0x11, 0x01 },
470 { 0x11, 0x01 },
471 { 0x11, 0x01 },
472 { 0x11, 0x01 },
473 { 0x11, 0x01 },
475 { 0x3d, 0x03 },
476 { 0x17, 0x26 },
477 { 0x18, 0xa0 },
478 { 0x19, 0x07 },
479 { 0x1a, 0xf0 },
480 { 0x32, 0x00 },
481 { 0x29, 0xa0 },
482 { 0x2c, 0xf0 },
483 { 0x65, 0x20 },
484 { 0x11, 0x01 },
485 { 0x42, 0x7f },
486 { 0x63, 0xaa }, /* AWB - was e0 */
487 { 0x64, 0xff },
488 { 0x66, 0x00 },
489 { 0x13, 0xf0 }, /* com8 */
490 { 0x0d, 0x41 },
491 { 0x0f, 0xc5 },
492 { 0x14, 0x11 },
494 { 0x22, 0x7f },
495 { 0x23, 0x03 },
496 { 0x24, 0x40 },
497 { 0x25, 0x30 },
498 { 0x26, 0xa1 },
499 { 0x2a, 0x00 },
500 { 0x2b, 0x00 },
501 { 0x6b, 0xaa },
502 { 0x13, 0xff }, /* AWB */
504 { 0x90, 0x05 },
505 { 0x91, 0x01 },
506 { 0x92, 0x03 },
507 { 0x93, 0x00 },
508 { 0x94, 0x60 },
509 { 0x95, 0x3c },
510 { 0x96, 0x24 },
511 { 0x97, 0x1e },
512 { 0x98, 0x62 },
513 { 0x99, 0x80 },
514 { 0x9a, 0x1e },
515 { 0x9b, 0x08 },
516 { 0x9c, 0x20 },
517 { 0x9e, 0x81 },
519 { 0xa6, 0x07 },
520 { 0x7e, 0x0c },
521 { 0x7f, 0x16 },
522 { 0x80, 0x2a },
523 { 0x81, 0x4e },
524 { 0x82, 0x61 },
525 { 0x83, 0x6f },
526 { 0x84, 0x7b },
527 { 0x85, 0x86 },
528 { 0x86, 0x8e },
529 { 0x87, 0x97 },
530 { 0x88, 0xa4 },
531 { 0x89, 0xaf },
532 { 0x8a, 0xc5 },
533 { 0x8b, 0xd7 },
534 { 0x8c, 0xe8 },
535 { 0x8d, 0x20 },
537 { 0x2b, 0x00 },
538 { 0x22, 0x7f },
539 { 0x23, 0x03 },
540 { 0x11, 0x01 },
541 { 0x64, 0xff },
542 { 0x0d, 0x41 },
544 { 0x14, 0x41 },
545 { 0x0e, 0xcd },
546 { 0xac, 0xbf },
547 { 0x8e, 0x00 }, /* De-noise threshold */
550 {0x88, 0x00},
551 {0x1c, 0x00},
552 {0x1d, 0x40},
553 {0x1d, 0x02},
554 {0x1d, 0x00},
555 {0x1d, 0x02},
556 {0x1d, 0x58},
557 {0x1d, 0x00},
558 {0x8d, 0x1c},
559 {0x8e, 0x80},
560 {0xc0, 0x50},
561 {0xc1, 0x3c},
562 {0xc2, 0x0c},
563 {0xc3, 0x69},
566 {0x12, 0x00},
567 {0x17, 0x26},
568 {0x18, 0xa0},
569 {0x19, 0x07},
570 {0x1a, 0xf0},
571 {0x29, 0xa0},
572 {0x2c, 0xf0},
573 {0x65, 0x20},
574 {0x67, 0x00},
577 {0x88, 0x00},
578 {0x1c, 0x00},
579 {0x1d, 0x40},
580 {0x1d, 0x02},
581 {0x1d, 0x00},
582 {0x1d, 0x01},
583 {0x1d, 0x4b},
584 {0x1d, 0x00},
585 {0x8d, 0x1c},
586 {0x8e, 0x80},
587 {0xc0, 0x28},
588 {0xc1, 0x1e},
589 {0xc2, 0x0c},
590 {0xc3, 0x69},
593 {0x12, 0x40},
594 {0x17, 0x3f},
595 {0x18, 0x50},
596 {0x19, 0x03},
597 {0x1a, 0x78},
598 {0x29, 0x50},
599 {0x2c, 0x78},
600 {0x65, 0x2f},
601 {0x67, 0x00},
604 {0x88, 0x08},
605 {0x1c, 0x00},
606 {0x1d, 0x00},
607 {0x1d, 0x02},
608 {0x1d, 0x00},
609 {0x1d, 0x01},
610 {0x1d, 0x2c},
611 {0x1d, 0x00},
612 {0x8d, 0x00},
613 {0x8e, 0x00},
614 {0xc0, 0x50},
615 {0xc1, 0x3c},
616 {0xc2, 0x01},
617 {0xc3, 0x01},
620 {0x12, 0x01},
621 {0x17, 0x26},
622 {0x18, 0xa0},
623 {0x19, 0x07},
624 {0x1a, 0xf0},
625 {0x29, 0xa0},
626 {0x2c, 0xf0},
627 {0x65, 0x20},
628 {0x67, 0x02},
631 {0x88, 0x08},
632 {0x1c, 0x00},
633 {0x1d, 0x00},
634 {0x1d, 0x02},
635 {0x1d, 0x00},
636 {0x1d, 0x00},
637 {0x1d, 0x4b},
638 {0x1d, 0x00},
639 {0x8d, 0x00},
640 {0x8e, 0x00},
641 {0xc0, 0x28},
642 {0xc1, 0x1e},
643 {0xc2, 0x01},
644 {0xc3, 0x01},
647 {0x12, 0x41},
648 {0x17, 0x3f},
649 {0x18, 0x50},
650 {0x19, 0x03},
651 {0x1a, 0x78},
652 {0x29, 0x50},
653 {0x2c, 0x78},
654 {0x65, 0x2f},
655 {0x67, 0x02},
663 if (gspca_dev->usb_err < 0) in ov534_reg_write()
667 gspca_dev->usb_buf[0] = val; in ov534_reg_write()
669 usb_sndctrlpipe(udev, 0), in ov534_reg_write()
670 0x01, in ov534_reg_write()
672 0x00, reg, gspca_dev->usb_buf, 1, CTRL_TIMEOUT); in ov534_reg_write()
673 if (ret < 0) { in ov534_reg_write()
684 if (gspca_dev->usb_err < 0) in ov534_reg_read()
685 return 0; in ov534_reg_read()
687 usb_rcvctrlpipe(udev, 0), in ov534_reg_read()
688 0x01, in ov534_reg_read()
690 0x00, reg, gspca_dev->usb_buf, 1, CTRL_TIMEOUT); in ov534_reg_read()
692 reg, gspca_dev->usb_buf[0]); in ov534_reg_read()
693 if (ret < 0) { in ov534_reg_read()
700 gspca_dev->usb_buf[0] = 0; in ov534_reg_read()
702 return gspca_dev->usb_buf[0]; in ov534_reg_read()
705 /* Two bits control LED: 0x21 bit 7 and 0x23 bit 7.
713 data = ov534_reg_read(gspca_dev, 0x21); in ov534_set_led()
714 data |= 0x80; in ov534_set_led()
715 ov534_reg_write(gspca_dev, 0x21, data); in ov534_set_led()
717 data = ov534_reg_read(gspca_dev, 0x23); in ov534_set_led()
719 data |= 0x80; in ov534_set_led()
721 data &= ~0x80; in ov534_set_led()
723 ov534_reg_write(gspca_dev, 0x23, data); in ov534_set_led()
726 data = ov534_reg_read(gspca_dev, 0x21); in ov534_set_led()
727 data &= ~0x80; in ov534_set_led()
728 ov534_reg_write(gspca_dev, 0x21, data); in ov534_set_led()
737 for (i = 0; i < 5; i++) { in sccb_check_status()
742 case 0x00: in sccb_check_status()
744 case 0x04: in sccb_check_status()
745 return 0; in sccb_check_status()
746 case 0x03: in sccb_check_status()
749 gspca_err(gspca_dev, "sccb status 0x%02x, attempt %d/5\n", in sccb_check_status()
753 return 0; in sccb_check_status()
787 while (--len >= 0) { in reg_w_array()
788 ov534_reg_write(gspca_dev, (*data)[0], (*data)[1]); in reg_w_array()
797 while (--len >= 0) { in sccb_w_array()
798 if ((*data)[0] != 0xff) { in sccb_w_array()
799 sccb_reg_write(gspca_dev, (*data)[0], (*data)[1]); in sccb_w_array()
802 sccb_reg_write(gspca_dev, 0xff, 0x00); in sccb_w_array()
821 {60, 0x01, 0xc1, 0x04}, in set_frame_rate()
822 {50, 0x01, 0x41, 0x02}, in set_frame_rate()
823 {40, 0x02, 0xc1, 0x04}, in set_frame_rate()
824 {30, 0x04, 0x81, 0x02}, in set_frame_rate()
825 {15, 0x03, 0x41, 0x04}, in set_frame_rate()
828 /* {205, 0x01, 0xc1, 0x02}, * 205 FPS: video is partly corrupt */ in set_frame_rate()
829 {187, 0x01, 0x81, 0x02}, /* 187 FPS or below: video is valid */ in set_frame_rate()
830 {150, 0x01, 0xc1, 0x04}, in set_frame_rate()
831 {137, 0x02, 0xc1, 0x02}, in set_frame_rate()
832 {125, 0x02, 0x81, 0x02}, in set_frame_rate()
833 {100, 0x02, 0xc1, 0x04}, in set_frame_rate()
834 {75, 0x03, 0xc1, 0x04}, in set_frame_rate()
835 {60, 0x04, 0xc1, 0x04}, in set_frame_rate()
836 {50, 0x02, 0x41, 0x04}, in set_frame_rate()
837 {37, 0x03, 0x41, 0x04}, in set_frame_rate()
838 {30, 0x04, 0x41, 0x04}, in set_frame_rate()
843 if (gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv == 0) { in set_frame_rate()
850 while (--i > 0) { in set_frame_rate()
856 sccb_reg_write(gspca_dev, 0x11, r->r11); in set_frame_rate()
857 sccb_reg_write(gspca_dev, 0x0d, r->r0d); in set_frame_rate()
858 ov534_reg_write(gspca_dev, 0xe5, r->re5); in set_frame_rate()
875 * scaled by 0x80. in sethue()
877 * The 0x7fff here represents the maximum absolute value in sethue()
881 huesin = fixp_sin16(val) * 0x80 / 0x7fff; in sethue()
882 huecos = fixp_cos16(val) * 0x80 / 0x7fff; in sethue()
884 if (huesin < 0) { in sethue()
885 sccb_reg_write(gspca_dev, 0xab, in sethue()
886 sccb_reg_read(gspca_dev, 0xab) | 0x2); in sethue()
889 sccb_reg_write(gspca_dev, 0xab, in sethue()
890 sccb_reg_read(gspca_dev, 0xab) & ~0x2); in sethue()
893 sccb_reg_write(gspca_dev, 0xa9, (u8)huecos); in sethue()
894 sccb_reg_write(gspca_dev, 0xaa, (u8)huesin); in sethue()
905 {0x42, 0x42, 0x00, 0x11, 0x30, 0x41}, in setsaturation()
906 {0x52, 0x52, 0x00, 0x16, 0x3c, 0x52}, in setsaturation()
907 {0x66, 0x66, 0x00, 0x1b, 0x4b, 0x66}, in setsaturation()
908 {0x80, 0x80, 0x00, 0x22, 0x5e, 0x80}, in setsaturation()
909 {0x9a, 0x9a, 0x00, 0x29, 0x71, 0x9a}, in setsaturation()
910 {0xb8, 0xb8, 0x00, 0x31, 0x87, 0xb8}, in setsaturation()
911 {0xdd, 0xdd, 0x00, 0x3b, 0xa2, 0xdd}, in setsaturation()
914 for (i = 0; i < ARRAY_SIZE(color_tb[0]); i++) in setsaturation()
915 sccb_reg_write(gspca_dev, 0x4f + i, color_tb[val][i]); in setsaturation()
917 sccb_reg_write(gspca_dev, 0xa7, val); /* U saturation */ in setsaturation()
918 sccb_reg_write(gspca_dev, 0xa8, val); /* V saturation */ in setsaturation()
927 if (val < 0) in setbrightness()
928 val = 0x80 - val; in setbrightness()
929 sccb_reg_write(gspca_dev, 0x55, val); /* bright */ in setbrightness()
931 sccb_reg_write(gspca_dev, 0x9b, val); in setbrightness()
940 sccb_reg_write(gspca_dev, 0x56, val); /* contras */ in setcontrast()
942 sccb_reg_write(gspca_dev, 0x9c, val); in setcontrast()
947 switch (val & 0x30) { in setgain()
948 case 0x00: in setgain()
949 val &= 0x0f; in setgain()
951 case 0x10: in setgain()
952 val &= 0x0f; in setgain()
953 val |= 0x30; in setgain()
955 case 0x20: in setgain()
956 val &= 0x0f; in setgain()
957 val |= 0x70; in setgain()
960 /* case 0x30: */ in setgain()
961 val &= 0x0f; in setgain()
962 val |= 0xf0; in setgain()
965 sccb_reg_write(gspca_dev, 0x00, val); in setgain()
970 return sccb_reg_read(gspca_dev, 0x00); in getgain()
980 sccb_reg_write(gspca_dev, 0x10, val); /* aech */ in setexposure()
987 * LSB: ((u16) val << 1) & 0xff == val << 1 in setexposure()
989 sccb_reg_write(gspca_dev, 0x08, val >> 7); in setexposure()
990 sccb_reg_write(gspca_dev, 0x10, val << 1); in setexposure()
1000 return sccb_reg_read(gspca_dev, 0x10); /* aech */ in getexposure()
1002 u8 hi = sccb_reg_read(gspca_dev, 0x08); in getexposure()
1003 u8 lo = sccb_reg_read(gspca_dev, 0x10); in getexposure()
1011 sccb_reg_write(gspca_dev, 0x13, in setagc()
1012 sccb_reg_read(gspca_dev, 0x13) | 0x04); in setagc()
1013 sccb_reg_write(gspca_dev, 0x64, in setagc()
1014 sccb_reg_read(gspca_dev, 0x64) | 0x03); in setagc()
1016 sccb_reg_write(gspca_dev, 0x13, in setagc()
1017 sccb_reg_read(gspca_dev, 0x13) & ~0x04); in setagc()
1018 sccb_reg_write(gspca_dev, 0x64, in setagc()
1019 sccb_reg_read(gspca_dev, 0x64) & ~0x03); in setagc()
1028 sccb_reg_write(gspca_dev, 0x13, in setawb()
1029 sccb_reg_read(gspca_dev, 0x13) | 0x02); in setawb()
1031 sccb_reg_write(gspca_dev, 0x63, in setawb()
1032 sccb_reg_read(gspca_dev, 0x63) | 0xc0); in setawb()
1034 sccb_reg_write(gspca_dev, 0x13, in setawb()
1035 sccb_reg_read(gspca_dev, 0x13) & ~0x02); in setawb()
1037 sccb_reg_write(gspca_dev, 0x63, in setawb()
1038 sccb_reg_read(gspca_dev, 0x63) & ~0xc0); in setawb()
1048 0x05 : /* agc + aec */ in setaec()
1049 0x01; /* agc */ in setaec()
1052 sccb_reg_write(gspca_dev, 0x13, in setaec()
1053 sccb_reg_read(gspca_dev, 0x13) | data); in setaec()
1056 sccb_reg_write(gspca_dev, 0x13, in setaec()
1057 sccb_reg_read(gspca_dev, 0x13) & ~data); in setaec()
1064 sccb_reg_write(gspca_dev, 0x91, val); /* Auto de-noise threshold */ in setsharpness()
1065 sccb_reg_write(gspca_dev, 0x8e, val); /* De-noise threshold */ in setsharpness()
1074 val = sccb_reg_read(gspca_dev, 0x1e); /* mvfp */ in sethvflip()
1075 val &= ~0x30; in sethvflip()
1077 val |= 0x20; in sethvflip()
1079 val |= 0x10; in sethvflip()
1080 sccb_reg_write(gspca_dev, 0x1e, val); in sethvflip()
1082 val = sccb_reg_read(gspca_dev, 0x0c); in sethvflip()
1083 val &= ~0xc0; in sethvflip()
1084 if (hflip == 0) in sethvflip()
1085 val |= 0x40; in sethvflip()
1086 if (vflip == 0) in sethvflip()
1087 val |= 0x80; in sethvflip()
1088 sccb_reg_write(gspca_dev, 0x0c, val); in sethvflip()
1096 val = val ? 0x9e : 0x00; in setlightfreq()
1098 sccb_reg_write(gspca_dev, 0x2a, 0x00); in setlightfreq()
1100 val = 0x9d; /* insert dummy to 25fps for 50Hz */ in setlightfreq()
1102 sccb_reg_write(gspca_dev, 0x2b, val); in setlightfreq()
1120 return 0; in sd_config()
1130 gspca_dev->usb_err = 0; in ov534_g_volatile_ctrl()
1136 gspca_dev->usb_err = 0; in ov534_g_volatile_ctrl()
1150 gspca_dev->usb_err = 0; in ov534_s_ctrl()
1152 return 0; in ov534_s_ctrl()
1223 saturation_min = 0; in sd_init_controls()
1228 brightness_def = 0; in sd_init_controls()
1229 contrast_max = 0x80; in sd_init_controls()
1230 contrast_def = 0x40; in sd_init_controls()
1231 exposure_min = 0x08; in sd_init_controls()
1232 exposure_max = 0x60; in sd_init_controls()
1233 exposure_def = 0x13; in sd_init_controls()
1236 saturation_min = 0; in sd_init_controls()
1239 brightness_min = 0; in sd_init_controls()
1241 brightness_def = 0; in sd_init_controls()
1244 exposure_min = 0; in sd_init_controls()
1247 hflip_def = 0; in sd_init_controls()
1256 V4L2_CID_HUE, -90, 90, 1, 0); in sd_init_controls()
1265 V4L2_CID_CONTRAST, 0, contrast_max, 1, contrast_def); in sd_init_controls()
1269 V4L2_CID_AUTOGAIN, 0, 1, 1, 1); in sd_init_controls()
1271 V4L2_CID_GAIN, 0, 63, 1, 20); in sd_init_controls()
1276 V4L2_EXPOSURE_MANUAL, 0, in sd_init_controls()
1283 V4L2_CID_AUTO_WHITE_BALANCE, 0, 1, 1, 1); in sd_init_controls()
1287 V4L2_CID_SHARPNESS, 0, 63, 1, 0); in sd_init_controls()
1290 V4L2_CID_HFLIP, 0, 1, 1, hflip_def); in sd_init_controls()
1292 V4L2_CID_VFLIP, 0, 1, 1, 0); in sd_init_controls()
1295 V4L2_CID_POWER_LINE_FREQUENCY_50HZ, 0, in sd_init_controls()
1304 v4l2_ctrl_auto_cluster(2, &sd->autogain, 0, true); in sd_init_controls()
1309 return 0; in sd_init_controls()
1327 ov534_reg_write(gspca_dev, 0xe7, 0x3a); in sd_init()
1328 ov534_reg_write(gspca_dev, 0xe0, 0x08); in sd_init()
1332 ov534_reg_write(gspca_dev, OV534_REG_ADDRESS, 0x42); in sd_init()
1335 sccb_reg_write(gspca_dev, 0x12, 0x80); in sd_init()
1339 sccb_reg_read(gspca_dev, 0x0a); in sd_init()
1340 sensor_id = sccb_reg_read(gspca_dev, 0x0a) << 8; in sd_init()
1341 sccb_reg_read(gspca_dev, 0x0b); in sd_init()
1342 sensor_id |= sccb_reg_read(gspca_dev, 0x0b); in sd_init()
1345 if ((sensor_id & 0xfff0) == 0x7670) { in sd_init()
1405 sccb_reg_write(gspca_dev, 0x1e, 0x04); in sd_start()
1408 mode = gspca_dev->curr_mode; /* 0: 320x240, 1: 640x480 */ in sd_start()
1435 ov534_reg_write(gspca_dev, 0xe0, 0x00); in sd_start()
1441 ov534_reg_write(gspca_dev, 0xe0, 0x09); in sd_stopN()
1442 ov534_set_led(gspca_dev, 0); in sd_stopN()
1453 #define UVC_STREAM_FID (1 << 0)
1474 if (data[0] != 12 || len < 12) { in sd_pkt_scan()
1492 this_fid = (data[1] & UVC_STREAM_FID) ? 1 : 0; in sd_pkt_scan()
1498 NULL, 0); in sd_pkt_scan()
1505 sd->last_pts = 0; in sd_pkt_scan()
1531 } while (remaining_len > 0); in sd_pkt_scan()
1554 if (tpf->numerator == 0 || tpf->denominator == 0) in sd_set_streamparm()
1582 {USB_DEVICE(0x1415, 0x2000)},
1583 {USB_DEVICE(0x06f8, 0x3002)},