Lines Matching +full:0 +full:x042
45 MODULE_PARM_DESC(debug, "Debug level (0-1)");
85 #define TUNER_AUDIO_MONO 0 /* LL */
99 int fw_addr = reg == 0x454 || (reg >= 0x464 && reg <= 0x478) || reg == 0x480 || reg == 0x488; in saa717x_write()
103 msg.flags = 0; in saa717x_write()
105 mm1[0] = (reg >> 8) & 0xff; in saa717x_write()
106 mm1[1] = reg & 0xff; in saa717x_write()
109 mm1[4] = (value >> 16) & 0xff; in saa717x_write()
110 mm1[3] = (value >> 8) & 0xff; in saa717x_write()
111 mm1[2] = value & 0xff; in saa717x_write()
113 mm1[2] = value & 0xff; in saa717x_write()
117 v4l2_dbg(2, debug, sd, "wrote: reg 0x%03x=%08x\n", reg, value); in saa717x_write()
123 while (data[0] || data[1]) { in saa717x_write_regs()
124 saa717x_write(sd, data[0], data[1]); in saa717x_write_regs()
133 int fw_addr = (reg >= 0x404 && reg <= 0x4b8) || reg == 0x528; in saa717x_read()
135 unsigned char mm2[4] = { 0, 0, 0, 0 }; in saa717x_read()
139 msgs[0].flags = 0; in saa717x_read()
141 msgs[0].addr = msgs[1].addr = client->addr; in saa717x_read()
142 mm1[0] = (reg >> 8) & 0xff; in saa717x_read()
143 mm1[1] = reg & 0xff; in saa717x_read()
144 msgs[0].len = 2; in saa717x_read()
145 msgs[0].buf = mm1; in saa717x_read()
151 value = (mm2[2] << 16) | (mm2[1] << 8) | mm2[0]; in saa717x_read()
153 value = mm2[0]; in saa717x_read()
155 v4l2_dbg(2, debug, sd, "read: reg 0x%03x=0x%08x\n", reg, value); in saa717x_read()
164 0x101, 0x008, /* Increment delay */
166 0x103, 0x000, /* Analog input control 2 */
167 0x104, 0x090, /* Analog input control 3 */
168 0x105, 0x090, /* Analog input control 4 */
169 0x106, 0x0eb, /* Horizontal sync start */
170 0x107, 0x0e0, /* Horizontal sync stop */
171 0x109, 0x055, /* Luminance control */
173 0x10f, 0x02a, /* Chroma gain control */
174 0x110, 0x000, /* Chroma control 2 */
176 0x114, 0x045, /* analog/ADC */
178 0x118, 0x040, /* RAW data gain */
179 0x119, 0x080, /* RAW data offset */
181 0x044, 0x000, /* VBI horizontal input window start (L) TASK A */
182 0x045, 0x000, /* VBI horizontal input window start (H) TASK A */
183 0x046, 0x0cf, /* VBI horizontal input window stop (L) TASK A */
184 0x047, 0x002, /* VBI horizontal input window stop (H) TASK A */
186 0x049, 0x000, /* VBI vertical input window start (H) TASK A */
188 0x04c, 0x0d0, /* VBI horizontal output length (L) TASK A */
189 0x04d, 0x002, /* VBI horizontal output length (H) TASK A */
191 0x064, 0x080, /* Lumina brightness TASK A */
192 0x065, 0x040, /* Luminance contrast TASK A */
193 0x066, 0x040, /* Chroma saturation TASK A */
195 0x068, 0x000, /* VBI horizontal scaling increment (L) TASK A */
196 0x069, 0x004, /* VBI horizontal scaling increment (H) TASK A */
197 0x06a, 0x000, /* VBI phase offset TASK A */
199 0x06e, 0x000, /* Horizontal phase offset Luma TASK A */
200 0x06f, 0x000, /* Horizontal phase offset Chroma TASK A */
202 0x072, 0x000, /* Vertical filter mode TASK A */
204 0x084, 0x000, /* VBI horizontal input window start (L) TAKS B */
205 0x085, 0x000, /* VBI horizontal input window start (H) TAKS B */
206 0x086, 0x0cf, /* VBI horizontal input window stop (L) TAKS B */
207 0x087, 0x002, /* VBI horizontal input window stop (H) TAKS B */
209 0x089, 0x000, /* VBI vertical input window start (H) TAKS B */
211 0x08c, 0x0d0, /* VBI horizontal output length (L) TASK B */
212 0x08d, 0x002, /* VBI horizontal output length (H) TASK B */
214 0x0a4, 0x080, /* Lumina brightness TASK B */
215 0x0a5, 0x040, /* Luminance contrast TASK B */
216 0x0a6, 0x040, /* Chroma saturation TASK B */
217 /* 0A7H reserved */
218 0x0a8, 0x000, /* VBI horizontal scaling increment (L) TASK B */
219 0x0a9, 0x004, /* VBI horizontal scaling increment (H) TASK B */
220 0x0aa, 0x000, /* VBI phase offset TASK B */
222 0x0ae, 0x000, /* Horizontal phase offset Luma TASK B */
223 0x0af, 0x000, /*Horizontal phase offset Chroma TASK B */
225 0x0b2, 0x000, /* Vertical filter mode TASK B */
227 0x00c, 0x000, /* Start point GREEN path */
228 0x00d, 0x000, /* Start point BLUE path */
229 0x00e, 0x000, /* Start point RED path */
231 0x010, 0x010, /* GREEN path gamma curve --- */
232 0x011, 0x020,
233 0x012, 0x030,
234 0x013, 0x040,
235 0x014, 0x050,
236 0x015, 0x060,
237 0x016, 0x070,
238 0x017, 0x080,
239 0x018, 0x090,
240 0x019, 0x0a0,
241 0x01a, 0x0b0,
242 0x01b, 0x0c0,
243 0x01c, 0x0d0,
244 0x01d, 0x0e0,
245 0x01e, 0x0f0,
246 0x01f, 0x0ff, /* --- GREEN path gamma curve */
248 0x020, 0x010, /* BLUE path gamma curve --- */
249 0x021, 0x020,
250 0x022, 0x030,
251 0x023, 0x040,
252 0x024, 0x050,
253 0x025, 0x060,
254 0x026, 0x070,
255 0x027, 0x080,
256 0x028, 0x090,
257 0x029, 0x0a0,
258 0x02a, 0x0b0,
259 0x02b, 0x0c0,
260 0x02c, 0x0d0,
261 0x02d, 0x0e0,
262 0x02e, 0x0f0,
263 0x02f, 0x0ff, /* --- BLUE path gamma curve */
265 0x030, 0x010, /* RED path gamma curve --- */
266 0x031, 0x020,
267 0x032, 0x030,
268 0x033, 0x040,
269 0x034, 0x050,
270 0x035, 0x060,
271 0x036, 0x070,
272 0x037, 0x080,
273 0x038, 0x090,
274 0x039, 0x0a0,
275 0x03a, 0x0b0,
276 0x03b, 0x0c0,
277 0x03c, 0x0d0,
278 0x03d, 0x0e0,
279 0x03e, 0x0f0,
280 0x03f, 0x0ff, /* --- RED path gamma curve */
282 0x109, 0x085, /* Luminance control */
285 0x584, 0x000, /* AGC gain control */
286 0x585, 0x000, /* Program count */
287 0x586, 0x003, /* Status reset */
288 0x588, 0x0ff, /* Number of audio samples (L) */
289 0x589, 0x00f, /* Number of audio samples (M) */
290 0x58a, 0x000, /* Number of audio samples (H) */
291 0x58b, 0x000, /* Audio select */
292 0x58c, 0x010, /* Audio channel assign1 */
293 0x58d, 0x032, /* Audio channel assign2 */
294 0x58e, 0x054, /* Audio channel assign3 */
295 0x58f, 0x023, /* Audio format */
296 0x590, 0x000, /* SIF control */
298 0x595, 0x000, /* ?? */
299 0x596, 0x000, /* ?? */
300 0x597, 0x000, /* ?? */
302 0x464, 0x00, /* Digital input crossbar1 */
304 0x46c, 0xbbbb10, /* Digital output selection1-3 */
305 0x470, 0x101010, /* Digital output selection4-6 */
307 0x478, 0x00, /* Sound feature control */
309 0x474, 0x18, /* Softmute control */
311 0x454, 0x0425b9, /* Sound Easy programming(reset) */
312 0x454, 0x042539, /* Sound Easy programming(reset) */
316 0x042, 0x003, /* Data path configuration for VBI (TASK A) */
318 0x082, 0x003, /* Data path configuration for VBI (TASK B) */
320 0x108, 0x0f8, /* Sync control */
321 0x2a9, 0x0fd, /* ??? */
322 0x102, 0x089, /* select video input "mode 9" */
323 0x111, 0x000, /* Mode/delay control */
325 0x10e, 0x00a, /* Chroma control 1 */
327 0x594, 0x002, /* SIF, analog I/O select */
329 0x454, 0x0425b9, /* Sound */
330 0x454, 0x042539,
332 0x111, 0x000,
333 0x10e, 0x00a,
334 0x464, 0x000,
335 0x300, 0x000,
336 0x301, 0x006,
337 0x302, 0x000,
338 0x303, 0x006,
339 0x308, 0x040,
340 0x309, 0x000,
341 0x30a, 0x000,
342 0x30b, 0x000,
343 0x000, 0x002,
344 0x001, 0x000,
345 0x002, 0x000,
346 0x003, 0x000,
347 0x004, 0x033,
348 0x040, 0x01d,
349 0x041, 0x001,
350 0x042, 0x004,
351 0x043, 0x000,
352 0x080, 0x01e,
353 0x081, 0x001,
354 0x082, 0x004,
355 0x083, 0x000,
356 0x190, 0x018,
357 0x115, 0x000,
358 0x116, 0x012,
359 0x117, 0x018,
360 0x04a, 0x011,
361 0x08a, 0x011,
362 0x04b, 0x000,
363 0x08b, 0x000,
364 0x048, 0x000,
365 0x088, 0x000,
366 0x04e, 0x012,
367 0x08e, 0x012,
368 0x058, 0x012,
369 0x098, 0x012,
370 0x059, 0x000,
371 0x099, 0x000,
372 0x05a, 0x003,
373 0x09a, 0x003,
374 0x05b, 0x001,
375 0x09b, 0x001,
376 0x054, 0x008,
377 0x094, 0x008,
378 0x055, 0x000,
379 0x095, 0x000,
380 0x056, 0x0c7,
381 0x096, 0x0c7,
382 0x057, 0x002,
383 0x097, 0x002,
384 0x0ff, 0x0ff,
385 0x060, 0x001,
386 0x0a0, 0x001,
387 0x061, 0x000,
388 0x0a1, 0x000,
389 0x062, 0x000,
390 0x0a2, 0x000,
391 0x063, 0x000,
392 0x0a3, 0x000,
393 0x070, 0x000,
394 0x0b0, 0x000,
395 0x071, 0x004,
396 0x0b1, 0x004,
397 0x06c, 0x0e9,
398 0x0ac, 0x0e9,
399 0x06d, 0x003,
400 0x0ad, 0x003,
401 0x05c, 0x0d0,
402 0x09c, 0x0d0,
403 0x05d, 0x002,
404 0x09d, 0x002,
405 0x05e, 0x0f2,
406 0x09e, 0x0f2,
407 0x05f, 0x000,
408 0x09f, 0x000,
409 0x074, 0x000,
410 0x0b4, 0x000,
411 0x075, 0x000,
412 0x0b5, 0x000,
413 0x076, 0x000,
414 0x0b6, 0x000,
415 0x077, 0x000,
416 0x0b7, 0x000,
417 0x195, 0x008,
418 0x0ff, 0x0ff,
419 0x108, 0x0f8,
420 0x111, 0x000,
421 0x10e, 0x00a,
422 0x2a9, 0x0fd,
423 0x464, 0x001,
424 0x454, 0x042135,
425 0x598, 0x0e7,
426 0x599, 0x07d,
427 0x59a, 0x018,
428 0x59c, 0x066,
429 0x59d, 0x090,
430 0x59e, 0x001,
431 0x584, 0x000,
432 0x585, 0x000,
433 0x586, 0x003,
434 0x588, 0x0ff,
435 0x589, 0x00f,
436 0x58a, 0x000,
437 0x58b, 0x000,
438 0x58c, 0x010,
439 0x58d, 0x032,
440 0x58e, 0x054,
441 0x58f, 0x023,
442 0x590, 0x000,
443 0x595, 0x000,
444 0x596, 0x000,
445 0x597, 0x000,
446 0x464, 0x000,
447 0x46c, 0xbbbb10,
448 0x470, 0x101010,
451 0x478, 0x000,
452 0x474, 0x018,
453 0x454, 0x042135,
454 0x598, 0x0e7,
455 0x599, 0x07d,
456 0x59a, 0x018,
457 0x59c, 0x066,
458 0x59d, 0x090,
459 0x59e, 0x001,
460 0x584, 0x000,
461 0x585, 0x000,
462 0x586, 0x003,
463 0x588, 0x0ff,
464 0x589, 0x00f,
465 0x58a, 0x000,
466 0x58b, 0x000,
467 0x58c, 0x010,
468 0x58d, 0x032,
469 0x58e, 0x054,
470 0x58f, 0x023,
471 0x590, 0x000,
472 0x595, 0x000,
473 0x596, 0x000,
474 0x597, 0x000,
475 0x464, 0x000,
476 0x46c, 0xbbbb10,
477 0x470, 0x101010,
479 0x478, 0x000,
480 0x474, 0x018,
481 0x454, 0x042135,
482 0x598, 0x0e7,
483 0x599, 0x07d,
484 0x59a, 0x018,
485 0x59c, 0x066,
486 0x59d, 0x090,
487 0x59e, 0x001,
488 0x584, 0x000,
489 0x585, 0x000,
490 0x586, 0x003,
491 0x588, 0x0ff,
492 0x589, 0x00f,
493 0x58a, 0x000,
494 0x58b, 0x000,
495 0x58c, 0x010,
496 0x58d, 0x032,
497 0x58e, 0x054,
498 0x58f, 0x023,
499 0x590, 0x000,
500 0x595, 0x000,
501 0x596, 0x000,
502 0x597, 0x000,
503 0x464, 0x000,
504 0x46c, 0xbbbb10,
505 0x470, 0x101010,
506 0x478, 0x000,
507 0x474, 0x018,
508 0x454, 0x042135,
509 0x193, 0x000,
510 0x300, 0x000,
511 0x301, 0x006,
512 0x302, 0x000,
513 0x303, 0x006,
514 0x308, 0x040,
515 0x309, 0x000,
516 0x30a, 0x000,
517 0x30b, 0x000,
518 0x000, 0x002,
519 0x001, 0x000,
520 0x002, 0x000,
521 0x003, 0x000,
522 0x004, 0x033,
523 0x040, 0x01d,
524 0x041, 0x001,
525 0x042, 0x004,
526 0x043, 0x000,
527 0x080, 0x01e,
528 0x081, 0x001,
529 0x082, 0x004,
530 0x083, 0x000,
531 0x190, 0x018,
532 0x115, 0x000,
533 0x116, 0x012,
534 0x117, 0x018,
535 0x04a, 0x011,
536 0x08a, 0x011,
537 0x04b, 0x000,
538 0x08b, 0x000,
539 0x048, 0x000,
540 0x088, 0x000,
541 0x04e, 0x012,
542 0x08e, 0x012,
543 0x058, 0x012,
544 0x098, 0x012,
545 0x059, 0x000,
546 0x099, 0x000,
547 0x05a, 0x003,
548 0x09a, 0x003,
549 0x05b, 0x001,
550 0x09b, 0x001,
551 0x054, 0x008,
552 0x094, 0x008,
553 0x055, 0x000,
554 0x095, 0x000,
555 0x056, 0x0c7,
556 0x096, 0x0c7,
557 0x057, 0x002,
558 0x097, 0x002,
559 0x060, 0x001,
560 0x0a0, 0x001,
561 0x061, 0x000,
562 0x0a1, 0x000,
563 0x062, 0x000,
564 0x0a2, 0x000,
565 0x063, 0x000,
566 0x0a3, 0x000,
567 0x070, 0x000,
568 0x0b0, 0x000,
569 0x071, 0x004,
570 0x0b1, 0x004,
571 0x06c, 0x0e9,
572 0x0ac, 0x0e9,
573 0x06d, 0x003,
574 0x0ad, 0x003,
575 0x05c, 0x0d0,
576 0x09c, 0x0d0,
577 0x05d, 0x002,
578 0x09d, 0x002,
579 0x05e, 0x0f2,
580 0x09e, 0x0f2,
581 0x05f, 0x000,
582 0x09f, 0x000,
583 0x074, 0x000,
584 0x0b4, 0x000,
585 0x075, 0x000,
586 0x0b5, 0x000,
587 0x076, 0x000,
588 0x0b6, 0x000,
589 0x077, 0x000,
590 0x0b7, 0x000,
591 0x195, 0x008,
592 0x598, 0x0e7,
593 0x599, 0x07d,
594 0x59a, 0x018,
595 0x59c, 0x066,
596 0x59d, 0x090,
597 0x59e, 0x001,
598 0x584, 0x000,
599 0x585, 0x000,
600 0x586, 0x003,
601 0x588, 0x0ff,
602 0x589, 0x00f,
603 0x58a, 0x000,
604 0x58b, 0x000,
605 0x58c, 0x010,
606 0x58d, 0x032,
607 0x58e, 0x054,
608 0x58f, 0x023,
609 0x590, 0x000,
610 0x595, 0x000,
611 0x596, 0x000,
612 0x597, 0x000,
613 0x464, 0x000,
614 0x46c, 0xbbbb10,
615 0x470, 0x101010,
616 0x478, 0x000,
617 0x474, 0x018,
618 0x454, 0x042135,
619 0x193, 0x0a6,
620 0x108, 0x0f8,
621 0x042, 0x003,
622 0x082, 0x003,
623 0x454, 0x0425b9,
624 0x454, 0x042539,
625 0x193, 0x000,
626 0x193, 0x0a6,
627 0x464, 0x000,
629 0, 0
634 0x108, 0x0f8, /* Sync control */
635 0x111, 0x000, /* Mode/delay control */
636 0x10e, 0x00a, /* Chroma control 1 */
637 0, 0
642 0x108, 0x0e8, /* Sync control */
643 0x111, 0x000, /* Mode/delay control */
644 0x10e, 0x04a, /* Chroma control 1 */
645 0, 0
650 0x108, 0x0e8, /* Sync control */
651 0x111, 0x000, /* Mode/delay control */
652 0x10e, 0x04a, /* Chroma control 1 */
653 0, 0
660 Register 0x46c
661 7-4: DMA2, 3-0: DMA1 ch. DMA4, DMA3 DMA2, DMA1
662 0: MAIN left, 1: MAIN right
668 0xbbbb00,
671 Register 0x470
672 7-4:DAC right ch. 3-0:DAC left ch.
674 0x00,
677 0xbbbb10, 0x101010,
680 0xbbbb00, 0x00,
683 0xbbbb11, 0x111111,
694 static char *stdres[0x20] = { in get_inf_dev_status()
695 [0x00] = "no standard detected", in get_inf_dev_status()
696 [0x01] = "B/G (in progress)", in get_inf_dev_status()
697 [0x02] = "D/K (in progress)", in get_inf_dev_status()
698 [0x03] = "M (in progress)", in get_inf_dev_status()
700 [0x04] = "B/G A2", in get_inf_dev_status()
701 [0x05] = "B/G NICAM", in get_inf_dev_status()
702 [0x06] = "D/K A2 (1)", in get_inf_dev_status()
703 [0x07] = "D/K A2 (2)", in get_inf_dev_status()
704 [0x08] = "D/K A2 (3)", in get_inf_dev_status()
705 [0x09] = "D/K NICAM", in get_inf_dev_status()
706 [0x0a] = "L NICAM", in get_inf_dev_status()
707 [0x0b] = "I NICAM", in get_inf_dev_status()
709 [0x0c] = "M Korea", in get_inf_dev_status()
710 [0x0d] = "M BTSC ", in get_inf_dev_status()
711 [0x0e] = "M EIAJ", in get_inf_dev_status()
713 [0x0f] = "FM radio / IF 10.7 / 50 deemp", in get_inf_dev_status()
714 [0x10] = "FM radio / IF 10.7 / 75 deemp", in get_inf_dev_status()
715 [0x11] = "FM radio / IF sel / 50 deemp", in get_inf_dev_status()
716 [0x12] = "FM radio / IF sel / 75 deemp", in get_inf_dev_status()
718 [0x13 ... 0x1e] = "unknown", in get_inf_dev_status()
719 [0x1f] = "??? [in progress]", in get_inf_dev_status()
723 *dual_flag = *stereo_flag = 0; in get_inf_dev_status()
725 /* (demdec status: 0x528) */ in get_inf_dev_status()
728 reg_data3 = saa717x_read(sd, 0x0528); in get_inf_dev_status()
730 v4l2_dbg(1, debug, sd, "tvaudio thread status: 0x%x [%s%s%s]\n", in get_inf_dev_status()
731 reg_data3, stdres[reg_data3 & 0x1f], in get_inf_dev_status()
732 (reg_data3 & 0x000020) ? ",stereo" : "", in get_inf_dev_status()
733 (reg_data3 & 0x000040) ? ",dual" : ""); in get_inf_dev_status()
736 (reg_data3 & 0x000080) ? " A2/EIAJ pilot tone " : "", in get_inf_dev_status()
737 (reg_data3 & 0x000100) ? " A2/EIAJ dual " : "", in get_inf_dev_status()
738 (reg_data3 & 0x000200) ? " A2/EIAJ stereo " : "", in get_inf_dev_status()
739 (reg_data3 & 0x000400) ? " A2/EIAJ noise mute " : "", in get_inf_dev_status()
741 (reg_data3 & 0x000800) ? " BTSC/FM radio pilot " : "", in get_inf_dev_status()
742 (reg_data3 & 0x001000) ? " SAP carrier " : "", in get_inf_dev_status()
743 (reg_data3 & 0x002000) ? " BTSC stereo noise mute " : "", in get_inf_dev_status()
744 (reg_data3 & 0x004000) ? " SAP noise mute " : "", in get_inf_dev_status()
745 (reg_data3 & 0x008000) ? " VDSP " : "", in get_inf_dev_status()
747 (reg_data3 & 0x010000) ? " NICST " : "", in get_inf_dev_status()
748 (reg_data3 & 0x020000) ? " NICDU " : "", in get_inf_dev_status()
749 (reg_data3 & 0x040000) ? " NICAM muted " : "", in get_inf_dev_status()
750 (reg_data3 & 0x080000) ? " NICAM reserve sound " : "", in get_inf_dev_status()
752 (reg_data3 & 0x100000) ? " init done " : ""); in get_inf_dev_status()
754 if (reg_data3 & 0x000220) { in get_inf_dev_status()
759 if (reg_data3 & 0x000140) { in get_inf_dev_status()
771 saa717x_write(sd, 0x46c, reg_set_audio_template[audio_mode][0]); in set_audio_mode()
772 saa717x_write(sd, 0x470, reg_set_audio_template[audio_mode][1]); in set_audio_mode()
779 u8 mute = 0xac; /* -84 dB */ in set_audio_regs()
784 saa717x_write(sd, 0x0594, decoder->audio_input); in set_audio_regs()
788 /* normalize ( 65535 to 0 -> 24 to -40 (not -84)) */ in set_audio_regs()
795 /* main volume L[7-0],R[7-0],0x00 24=24dB,-83dB, -84(mute) */ in set_audio_regs()
796 /* def:0dB->6dB(MPG600GR) */ in set_audio_regs()
805 saa717x_write(sd, 0x480, val); in set_audio_regs()
808 val = decoder->audio_main_bass & 0x1f; in set_audio_regs()
809 val |= (decoder->audio_main_treble & 0x1f) << 5; in set_audio_regs()
810 saa717x_write(sd, 0x488, val); in set_audio_regs()
811 return 0; in set_audio_regs()
826 { 1, 0, 0, 0, 0 }, in set_h_prescale()
833 { 8, 15, 0, 4, 3 }, in set_h_prescale()
834 { 9, 15, 0, 4, 3 }, in set_h_prescale()
840 task_shift = task * 0x40; in set_h_prescale()
841 for (i = 0; i < count; i++) in set_h_prescale()
848 saa717x_write(sd, 0x60 + task_shift, vals[i].xpsc); in set_h_prescale()
850 saa717x_write(sd, 0x61 + task_shift, vals[i].xacl); in set_h_prescale()
852 saa717x_write(sd, 0x62 + task_shift, in set_h_prescale()
855 saa717x_write(sd, 0x63 + task_shift, in set_h_prescale()
864 task_shift = task * 0x40; in set_v_scale()
866 saa717x_write(sd, 0x70 + task_shift, yscale & 0xff); in set_v_scale()
868 saa717x_write(sd, 0x71 + task_shift, yscale >> 8); in set_v_scale()
878 saa717x_write(sd, 0x10a, ctrl->val); in saa717x_s_ctrl()
879 return 0; in saa717x_s_ctrl()
882 saa717x_write(sd, 0x10b, ctrl->val); in saa717x_s_ctrl()
883 return 0; in saa717x_s_ctrl()
886 saa717x_write(sd, 0x10c, ctrl->val); in saa717x_s_ctrl()
887 return 0; in saa717x_s_ctrl()
890 saa717x_write(sd, 0x10d, ctrl->val); in saa717x_s_ctrl()
891 return 0; in saa717x_s_ctrl()
914 return 0; in saa717x_s_ctrl()
917 return 0; in saa717x_s_ctrl()
924 int is_tuner = input & 0x80; /* tuner input flag */ in saa717x_s_video_routing()
926 input &= 0x7f; in saa717x_s_video_routing()
929 /* inputs from 0-9 are available*/ in saa717x_s_video_routing()
943 saa717x_write(sd, 0x102, in saa717x_s_video_routing()
944 (saa717x_read(sd, 0x102) & 0xf0) | in saa717x_s_video_routing()
948 saa717x_write(sd, 0x109, in saa717x_s_video_routing()
949 (saa717x_read(sd, 0x109) & 0x7f) | in saa717x_s_video_routing()
950 (input_line < 6 ? 0x0 : 0x80)); in saa717x_s_video_routing()
970 return 0; in saa717x_s_video_routing()
978 return 0; in saa717x_g_register()
983 u16 addr = reg->reg & 0xffff; in saa717x_s_register()
984 u8 val = reg->val & 0xff; in saa717x_s_register()
987 return 0; in saa717x_s_register()
1013 return 0; in saa717x_set_fmt()
1018 if (prescale == 0) in saa717x_set_fmt()
1025 set_h_prescale(sd, 0, prescale); in saa717x_set_fmt()
1030 saa717x_write(sd, 0x6C, (u8)(h_scale & 0xFF)); in saa717x_set_fmt()
1031 saa717x_write(sd, 0x6D, (u8)((h_scale >> 8) & 0xFF)); in saa717x_set_fmt()
1033 saa717x_write(sd, 0xAC, (u8)(h_scale & 0xFF)); in saa717x_set_fmt()
1034 saa717x_write(sd, 0xAD, (u8)((h_scale >> 8) & 0xFF)); in saa717x_set_fmt()
1037 set_v_scale(sd, 0, v_scale); in saa717x_set_fmt()
1043 saa717x_write(sd, 0x5C, (u8)(fmt->width & 0xFF)); in saa717x_set_fmt()
1044 saa717x_write(sd, 0x5D, (u8)((fmt->width >> 8) & 0xFF)); in saa717x_set_fmt()
1046 saa717x_write(sd, 0x9C, (u8)(fmt->width & 0xFF)); in saa717x_set_fmt()
1047 saa717x_write(sd, 0x9D, (u8)((fmt->width >> 8) & 0xFF)); in saa717x_set_fmt()
1051 saa717x_write(sd, 0x5E, (u8)(fmt->height & 0xFF)); in saa717x_set_fmt()
1052 saa717x_write(sd, 0x5F, (u8)((fmt->height >> 8) & 0xFF)); in saa717x_set_fmt()
1054 saa717x_write(sd, 0x9E, (u8)(fmt->height & 0xFF)); in saa717x_set_fmt()
1055 saa717x_write(sd, 0x9F, (u8)((fmt->height >> 8) & 0xFF)); in saa717x_set_fmt()
1056 return 0; in saa717x_set_fmt()
1064 return 0; in saa717x_s_radio()
1074 decoder->radio = 0; in saa717x_s_std()
1076 return 0; in saa717x_s_std()
1090 return 0; in saa717x_s_audio_routing()
1102 saa717x_write(sd, 0x193, enable ? 0xa6 : 0x26); in saa717x_s_stream()
1103 return 0; in saa717x_s_stream()
1138 return 0; in saa717x_s_tuner()
1147 return 0; in saa717x_g_tuner()
1154 if ((dual_f == 0) && (stereo_f == 0)) { in saa717x_g_tuner()
1181 return 0; in saa717x_g_tuner()
1189 return 0; in saa717x_log_status()
1246 u8 id = 0; in saa717x_probe()
1260 if (saa717x_write(sd, 0x5a4, 0xfe) && in saa717x_probe()
1261 saa717x_write(sd, 0x5a5, 0x0f) && in saa717x_probe()
1262 saa717x_write(sd, 0x5a6, 0x00) && in saa717x_probe()
1263 saa717x_write(sd, 0x5a7, 0x01)) in saa717x_probe()
1264 id = saa717x_read(sd, 0x5a0); in saa717x_probe()
1265 if (id != 0xc2 && id != 0x32 && id != 0xf2 && id != 0x6c) { in saa717x_probe()
1269 if (id == 0xc2) in saa717x_probe()
1271 else if (id == 0x32) in saa717x_probe()
1273 else if (id == 0x6c) in saa717x_probe()
1277 v4l2_info(sd, "%s found @ 0x%x (%s)\n", p, in saa717x_probe()
1284 V4L2_CID_BRIGHTNESS, 0, 255, 1, 128); in saa717x_probe()
1286 V4L2_CID_CONTRAST, 0, 255, 1, 68); in saa717x_probe()
1288 V4L2_CID_SATURATION, 0, 255, 1, 64); in saa717x_probe()
1290 V4L2_CID_HUE, -128, 127, 1, 0); in saa717x_probe()
1292 V4L2_CID_AUDIO_VOLUME, 0, 65535, 65535 / 100, 42000); in saa717x_probe()
1294 V4L2_CID_AUDIO_BALANCE, 0, 65535, 65535 / 100, 32768); in saa717x_probe()
1296 V4L2_CID_AUDIO_BASS, -16, 15, 1, 0); in saa717x_probe()
1298 V4L2_CID_AUDIO_TREBLE, -16, 15, 1, 0); in saa717x_probe()
1300 V4L2_CID_AUDIO_MUTE, 0, 1, 1, 0); in saa717x_probe()
1314 decoder->playback = 0; /* initially capture mode used */ in saa717x_probe()
1333 return 0; in saa717x_probe()
1342 return 0; in saa717x_remove()
1348 { "saa717x", 0 },