aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHermann Pitton <hermann-pitton@arcor.de>2008-07-12 11:27:59 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-07-20 06:24:45 -0400
commit0b17d0edbc22eda3d0407f98ce4f16ceefb9a97f (patch)
tree8f7a546a39539a6b637675a8b32ef93b5c6129dd
parentcd257a6f4dd908d94e504d2431710f0fcfe62036 (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>
-rw-r--r--Documentation/video4linux/CARDLIST.saa71341
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c43
-rw-r--r--drivers/media/video/saa7134/saa7134-input.c1
-rw-r--r--drivers/media/video/saa7134/saa7134.h1
4 files changed, 46 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
index 171905e872f1..39868af9cf9f 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -144,3 +144,4 @@
144143 -> Beholder BeholdTV M63 [5ace:6191] 144143 -> Beholder BeholdTV M63 [5ace:6191]
145144 -> Beholder BeholdTV M6 Extra [5ace:6193] 145144 -> Beholder BeholdTV M6 Extra [5ace:6193]
146145 -> AVerMedia MiniPCI DVB-T Hybrid M103 [1461:f636] 146145 -> AVerMedia MiniPCI DVB-T Hybrid M103 [1461:f636]
147146 -> ASUSTeK P7131 Analog
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 */
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c
index 6edabc06e6d0..e6217fe13339 100644
--- a/drivers/media/video/saa7134/saa7134-input.c
+++ b/drivers/media/video/saa7134/saa7134-input.c
@@ -409,6 +409,7 @@ int saa7134_input_init1(struct saa7134_dev *dev)
409 break; 409 break;
410 case SAA7134_BOARD_ASUSTeK_P7131_DUAL: 410 case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
411 case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA: 411 case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:
412 case SAA7134_BOARD_ASUSTeK_P7131_ANALOG:
412 ir_codes = ir_codes_asus_pc39; 413 ir_codes = ir_codes_asus_pc39;
413 mask_keydown = 0x0040000; 414 mask_keydown = 0x0040000;
414 rc5_gpio = 1; 415 rc5_gpio = 1;
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
index 6e5a4094d6be..6927cbea8624 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -267,6 +267,7 @@ struct saa7134_format {
267#define SAA7134_BOARD_BEHOLD_M63 143 267#define SAA7134_BOARD_BEHOLD_M63 143
268#define SAA7134_BOARD_BEHOLD_M6_EXTRA 144 268#define SAA7134_BOARD_BEHOLD_M6_EXTRA 144
269#define SAA7134_BOARD_AVERMEDIA_M103 145 269#define SAA7134_BOARD_AVERMEDIA_M103 145
270#define SAA7134_BOARD_ASUSTeK_P7131_ANALOG 146
270 271
271#define SAA7134_MAXBOARDS 8 272#define SAA7134_MAXBOARDS 8
272#define SAA7134_INPUT_MAX 8 273#define SAA7134_INPUT_MAX 8