diff options
author | Matthias Schwarzott <zzam@gentoo.org> | 2014-10-31 03:26:18 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2014-11-03 13:18:49 -0500 |
commit | c4e7b893a59b8ec3c24c15ff2b73e334d13047d2 (patch) | |
tree | da2943eb622d08b30df70d579c2ecc6614ae8cd1 /drivers/media/common/tveeprom.c | |
parent | 336fea922936c114f68b8c0bcbff5fcfac3507d9 (diff) |
[media] tveeprom: Update list of chips and extend serial number to 32bits
The update was supplied directly by PCTV.
Add tuner ids 182-188.
Add audproc ids 45-52.
Add decoder chip ids 43-53.
Use 32bits for the serial number.
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/common/tveeprom.c')
-rw-r--r-- | drivers/media/common/tveeprom.c | 36 |
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 | ||
378 | static int hasRadioTuner(int tunerType) | 400 | static 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); |