aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common/tveeprom.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/common/tveeprom.c')
-rw-r--r--drivers/media/common/tveeprom.c36
1 files changed, 29 insertions, 7 deletions
diff --git a/drivers/media/common/tveeprom.c b/drivers/media/common/tveeprom.c
index c7dace671a9d..47da0378cad8 100644
--- a/drivers/media/common/tveeprom.c
+++ b/drivers/media/common/tveeprom.c
@@ -286,9 +286,17 @@ static const struct {
286 { TUNER_ABSENT, "Xceive XC5200C"}, 286 { TUNER_ABSENT, "Xceive XC5200C"},
287 { TUNER_ABSENT, "NXP 18273"}, 287 { TUNER_ABSENT, "NXP 18273"},
288 { TUNER_ABSENT, "Montage M88TS2022"}, 288 { TUNER_ABSENT, "Montage M88TS2022"},
289 /* 180-189 */ 289 /* 180-188 */
290 { TUNER_ABSENT, "NXP 18272M"}, 290 { TUNER_ABSENT, "NXP 18272M"},
291 { TUNER_ABSENT, "NXP 18272S"}, 291 { TUNER_ABSENT, "NXP 18272S"},
292
293 { TUNER_ABSENT, "Mirics MSi003"},
294 { TUNER_ABSENT, "MaxLinear MxL256"},
295 { TUNER_ABSENT, "SiLabs Si2158"},
296 { TUNER_ABSENT, "SiLabs Si2178"},
297 { TUNER_ABSENT, "SiLabs Si2157"},
298 { TUNER_ABSENT, "SiLabs Si2177"},
299 { TUNER_ABSENT, "ITE IT9137FN"},
292}; 300};
293 301
294/* Use TVEEPROM_AUDPROC_INTERNAL for those audio 'chips' that are 302/* Use TVEEPROM_AUDPROC_INTERNAL for those audio 'chips' that are
@@ -351,6 +359,16 @@ static const struct {
351 { TVEEPROM_AUDPROC_INTERNAL, "CX23887" }, 359 { TVEEPROM_AUDPROC_INTERNAL, "CX23887" },
352 { TVEEPROM_AUDPROC_INTERNAL, "SAA7164" }, 360 { TVEEPROM_AUDPROC_INTERNAL, "SAA7164" },
353 { TVEEPROM_AUDPROC_INTERNAL, "AU8522" }, 361 { TVEEPROM_AUDPROC_INTERNAL, "AU8522" },
362 /* 45-49 */
363 { TVEEPROM_AUDPROC_INTERNAL, "AVF4910B" },
364 { TVEEPROM_AUDPROC_INTERNAL, "SAA7231" },
365 { TVEEPROM_AUDPROC_INTERNAL, "CX23102" },
366 { TVEEPROM_AUDPROC_INTERNAL, "SAA7163" },
367 { TVEEPROM_AUDPROC_OTHER, "AK4113" },
368 /* 50-52 */
369 { TVEEPROM_AUDPROC_OTHER, "CS5340" },
370 { TVEEPROM_AUDPROC_OTHER, "CS8416" },
371 { TVEEPROM_AUDPROC_OTHER, "CX20810" },
354}; 372};
355 373
356/* This list is supplied by Hauppauge. Thanks! */ 374/* This list is supplied by Hauppauge. Thanks! */
@@ -371,8 +389,12 @@ static const char *decoderIC[] = {
371 "CX25843", "CX23418", "NEC61153", "CX23885", "CX23888", 389 "CX25843", "CX23418", "NEC61153", "CX23885", "CX23888",
372 /* 35-39 */ 390 /* 35-39 */
373 "SAA7131", "CX25837", "CX23887", "CX23885A", "CX23887A", 391 "SAA7131", "CX25837", "CX23887", "CX23885A", "CX23887A",
374 /* 40-42 */ 392 /* 40-44 */
375 "SAA7164", "CX23885B", "AU8522" 393 "SAA7164", "CX23885B", "AU8522", "ADV7401", "AVF4910B",
394 /* 45-49 */
395 "SAA7231", "CX23102", "SAA7163", "ADV7441A", "ADV7181C",
396 /* 50-53 */
397 "CX25836", "TDA9955", "TDA19977", "ADV7842"
376}; 398};
377 399
378static int hasRadioTuner(int tunerType) 400static int hasRadioTuner(int tunerType)
@@ -548,10 +570,10 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,
548 tvee->serial_number = 570 tvee->serial_number =
549 eeprom_data[i+5] + 571 eeprom_data[i+5] +
550 (eeprom_data[i+6] << 8) + 572 (eeprom_data[i+6] << 8) +
551 (eeprom_data[i+7] << 16); 573 (eeprom_data[i+7] << 16)+
574 (eeprom_data[i+8] << 24);
552 575
553 if ((eeprom_data[i + 8] & 0xf0) && 576 if (eeprom_data[i + 8] == 0xf0) {
554 (tvee->serial_number < 0xffffff)) {
555 tvee->MAC_address[0] = 0x00; 577 tvee->MAC_address[0] = 0x00;
556 tvee->MAC_address[1] = 0x0D; 578 tvee->MAC_address[1] = 0x0D;
557 tvee->MAC_address[2] = 0xFE; 579 tvee->MAC_address[2] = 0xFE;
@@ -696,7 +718,7 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,
696 } 718 }
697 } 719 }
698 720
699 tveeprom_info("Hauppauge model %d, rev %s, serial# %d\n", 721 tveeprom_info("Hauppauge model %d, rev %s, serial# %u\n",
700 tvee->model, tvee->rev_str, tvee->serial_number); 722 tvee->model, tvee->rev_str, tvee->serial_number);
701 if (tvee->has_MAC_address == 1) 723 if (tvee->has_MAC_address == 1)
702 tveeprom_info("MAC address is %pM\n", tvee->MAC_address); 724 tveeprom_info("MAC address is %pM\n", tvee->MAC_address);