diff options
author | Hermann Pitton <hermann-pitton@arcor.de> | 2008-07-12 11:27:59 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-07-20 06:24:45 -0400 |
commit | 0b17d0edbc22eda3d0407f98ce4f16ceefb9a97f (patch) | |
tree | 8f7a546a39539a6b637675a8b32ef93b5c6129dd /drivers/media/video/saa7134/saa7134-cards.c | |
parent | cd257a6f4dd908d94e504d2431710f0fcfe62036 (diff) |
V4L/DVB (8319): saa7134: Add support for analog only ASUSTeK P7131
saa7134: add a separate entry for the ASUSTeK P7131 analog only
and do some eeprom detection to escape from the TVFM7135
with the same PCI subsystem on auto detection.
Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-cards.c')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 4e6e5ccaa35e..6893f998d292 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -3519,6 +3519,39 @@ struct saa7134_board saa7134_boards[] = { | |||
3519 | .amux = TV, | 3519 | .amux = TV, |
3520 | .gpio = 0x0200000, | 3520 | .gpio = 0x0200000, |
3521 | }, | 3521 | }, |
3522 | }, | ||
3523 | [SAA7134_BOARD_ASUSTeK_P7131_ANALOG] = { | ||
3524 | .name = "ASUSTeK P7131 Analog", | ||
3525 | .audio_clock = 0x00187de7, | ||
3526 | .tuner_type = TUNER_PHILIPS_TDA8290, | ||
3527 | .radio_type = UNSET, | ||
3528 | .tuner_addr = ADDR_UNSET, | ||
3529 | .radio_addr = ADDR_UNSET, | ||
3530 | .gpiomask = 1 << 21, | ||
3531 | .inputs = {{ | ||
3532 | .name = name_tv, | ||
3533 | .vmux = 1, | ||
3534 | .amux = TV, | ||
3535 | .tv = 1, | ||
3536 | .gpio = 0x0000000, | ||
3537 | }, { | ||
3538 | .name = name_comp1, | ||
3539 | .vmux = 3, | ||
3540 | .amux = LINE2, | ||
3541 | }, { | ||
3542 | .name = name_comp2, | ||
3543 | .vmux = 0, | ||
3544 | .amux = LINE2, | ||
3545 | }, { | ||
3546 | .name = name_svideo, | ||
3547 | .vmux = 8, | ||
3548 | .amux = LINE2, | ||
3549 | } }, | ||
3550 | .radio = { | ||
3551 | .name = name_radio, | ||
3552 | .amux = TV, | ||
3553 | .gpio = 0x0200000, | ||
3554 | }, | ||
3522 | }, | 3555 | }, |
3523 | [SAA7134_BOARD_SABRENT_TV_PCB05] = { | 3556 | [SAA7134_BOARD_SABRENT_TV_PCB05] = { |
3524 | .name = "Sabrent PCMCIA TV-PCB05", | 3557 | .name = "Sabrent PCMCIA TV-PCB05", |
@@ -5605,6 +5638,7 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
5605 | case SAA7134_BOARD_FLYDVBT_LR301: | 5638 | case SAA7134_BOARD_FLYDVBT_LR301: |
5606 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: | 5639 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: |
5607 | case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA: | 5640 | case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA: |
5641 | case SAA7134_BOARD_ASUSTeK_P7131_ANALOG: | ||
5608 | case SAA7134_BOARD_FLYDVBTDUO: | 5642 | case SAA7134_BOARD_FLYDVBTDUO: |
5609 | case SAA7134_BOARD_PROTEUS_2309: | 5643 | case SAA7134_BOARD_PROTEUS_2309: |
5610 | case SAA7134_BOARD_AVERMEDIA_A16AR: | 5644 | case SAA7134_BOARD_AVERMEDIA_A16AR: |
@@ -5941,6 +5975,15 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
5941 | i2c_transfer(&dev->i2c_adap, &msg, 1); | 5975 | i2c_transfer(&dev->i2c_adap, &msg, 1); |
5942 | break; | 5976 | break; |
5943 | } | 5977 | } |
5978 | case SAA7134_BOARD_ASUSTeK_TVFM7135: | ||
5979 | /* The card below is detected as card=53, but is different */ | ||
5980 | if (dev->autodetected && (dev->eedata[0x27] == 0x03)) { | ||
5981 | dev->board = SAA7134_BOARD_ASUSTeK_P7131_ANALOG; | ||
5982 | printk(KERN_INFO "%s: P7131 analog only, using " | ||
5983 | "entry of %s\n", | ||
5984 | dev->name, saa7134_boards[dev->board].name); | ||
5985 | } | ||
5986 | break; | ||
5944 | case SAA7134_BOARD_HAUPPAUGE_HVR1110: | 5987 | case SAA7134_BOARD_HAUPPAUGE_HVR1110: |
5945 | hauppauge_eeprom(dev, dev->eedata+0x80); | 5988 | hauppauge_eeprom(dev, dev->eedata+0x80); |
5946 | /* break intentionally omitted */ | 5989 | /* break intentionally omitted */ |