V4L/DVB (5445): Added / corrected support for some ASUS hybrid boards
authorHartmut Hackmann <hartmut.hackmann@t-online.de>
Tue, 13 Mar 2007 23:58:29 +0000 (20:58 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 27 Apr 2007 18:44:52 +0000 (15:44 -0300)
There are 2 new entries for p7131 boards and one correction for a board
with LNA.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Documentation/video4linux/CARDLIST.saa7134
drivers/media/video/saa7134/saa7134-cards.c
drivers/media/video/saa7134/saa7134-dvb.c
drivers/media/video/saa7134/saa7134.h

index 9cbb048..1210b8b 100644 (file)
@@ -76,7 +76,7 @@
  75 -> AVerMedia AVerTVHD MCE A180              [1461:1044]
  76 -> SKNet MonsterTV Mobile                   [1131:4ee9]
  77 -> Pinnacle PCTV 40i/50i/110i (saa7133)     [11bd:002e]
- 78 -> ASUSTeK P7131 Dual                       [1043:4862,1043:4876]
+ 78 -> ASUSTeK P7131 Dual                       [1043:4862,1043:4857]
  79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)
  80 -> ASUS Digimatrix TV                       [1043:0210]
  81 -> Philips Tiger reference design           [1131:2018]
 108 -> Terratec Cinergy HT PCI                  [153b:1175]
 109 -> Philips Tiger - S Reference design
 110 -> Avermedia M102                           [1461:f31e]
+111 -> ASUS P7131 4871                          [1043:4871]
+112 -> ASUSTeK P7131 Dual LNA                   [1043:4876]
index 7572e93..a700e89 100644 (file)
@@ -3351,6 +3351,62 @@ struct saa7134_board saa7134_boards[] = {
                        .amux = LINE2,
                }},
        },
+       [SAA7134_BOARD_ASUS_P7131_4871] = {
+               .name           = "ASUS P7131 4871",
+               .audio_clock    = 0x00187de7,
+               .tuner_type     = TUNER_PHILIPS_TDA8290,
+               .radio_type     = UNSET,
+               .tuner_addr     = ADDR_UNSET,
+               .radio_addr     = ADDR_UNSET,
+               .tuner_config   = 2,
+               .mpeg           = SAA7134_MPEG_DVB,
+               .gpiomask       = 0x0200000,
+               .inputs = {{
+                       .name   = name_tv,
+                       .vmux   = 1,
+                       .amux   = TV,
+                       .tv     = 1,
+                       .gpio   = 0x0200000,
+               }},
+       },
+       [SAA7134_BOARD_ASUSTeK_P7131_DUAL_LNA] = {
+               .name           = "ASUSTeK P7131 Dual LNA",
+               .audio_clock    = 0x00187de7,
+               .tuner_type     = TUNER_PHILIPS_TDA8290,
+               .radio_type     = UNSET,
+               .tuner_addr     = ADDR_UNSET,
+               .radio_addr     = ADDR_UNSET,
+               .tuner_config   = 2,
+               .gpiomask       = 1 << 21,
+               .mpeg           = SAA7134_MPEG_DVB,
+               .inputs         = {{
+                       .name = name_tv,
+                       .vmux = 1,
+                       .amux = TV,
+                       .tv   = 1,
+                       .gpio = 0x0000000,
+               },{
+                       .name = name_comp1,
+                       .vmux = 3,
+                       .amux = LINE2,
+                       .gpio = 0x0200000,
+               },{
+                       .name = name_comp2,
+                       .vmux = 0,
+                       .amux = LINE2,
+                       .gpio = 0x0200000,
+               },{
+                       .name = name_svideo,
+                       .vmux = 8,
+                       .amux = LINE2,
+                       .gpio = 0x0200000,
+               }},
+               .radio = {
+                       .name = name_radio,
+                       .amux = TV,
+                       .gpio = 0x0200000,
+               },
+       },
 };
 
 const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -3976,7 +4032,7 @@ struct pci_device_id saa7134_pci_tbl[] = {
                .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
                .subvendor    = 0x1043,
                .subdevice    = 0x4876,
-               .driver_data  = SAA7134_BOARD_ASUSTeK_P7131_DUAL,
+               .driver_data  = SAA7134_BOARD_ASUSTeK_P7131_DUAL_LNA,
        },{
                .vendor       = PCI_VENDOR_ID_PHILIPS,
                .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
@@ -4032,6 +4088,18 @@ struct pci_device_id saa7134_pci_tbl[] = {
                .subdevice    = 0x0306,         /* TV@nywhere DUO */
                .driver_data  = SAA7134_BOARD_FLYDVBTDUO,
        },{
+               .vendor       = PCI_VENDOR_ID_PHILIPS,
+               .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
+               .subvendor    = 0x1043,
+               .subdevice    = 0x4871,
+               .driver_data  = SAA7134_BOARD_ASUS_P7131_4871,
+       },{
+               .vendor       = PCI_VENDOR_ID_PHILIPS,
+               .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
+               .subvendor    = 0x1043,
+               .subdevice    = 0x4857,
+               .driver_data  = SAA7134_BOARD_ASUSTeK_P7131_DUAL,
+       },{
                /* --- boards without eeprom + subsystem ID --- */
                .vendor       = PCI_VENDOR_ID_PHILIPS,
                .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
@@ -4136,6 +4204,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
        case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS:
        case SAA7134_BOARD_FLYDVBT_LR301:
        case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
+       case SAA7134_BOARD_ASUSTeK_P7131_DUAL_LNA:
        case SAA7134_BOARD_FLYDVBTDUO:
        case SAA7134_BOARD_PROTEUS_2309:
        case SAA7134_BOARD_AVERMEDIA_A16AR:
@@ -4359,6 +4428,7 @@ int saa7134_board_init2(struct saa7134_dev *dev)
        case SAA7134_BOARD_PINNACLE_PCTV_310i:
        case SAA7134_BOARD_TEVION_DVBT_220RF:
        case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
+       case SAA7134_BOARD_ASUSTeK_P7131_DUAL_LNA:
        case SAA7134_BOARD_MEDION_MD8800_QUADRO:
        case SAA7134_BOARD_HAUPPAUGE_HVR1110:
                /* this is a hybrid board, initialize to analog mode
index 531eb57..f94754f 100644 (file)
@@ -858,6 +858,35 @@ static struct tda1004x_config md8800_dvbt_config = {
        .request_firmware = philips_tda1004x_request_firmware
 };
 
+static struct tda1004x_config asus_p7131_4871_config = {
+       .demod_address = 0x08,
+       .invert        = 1,
+       .invert_oclk   = 0,
+       .xtal_freq     = TDA10046_XTAL_16M,
+       .agc_config    = TDA10046_AGC_TDA827X,
+       .gpio_config   = TDA10046_GP01_I,
+       .if_freq       = TDA10046_FREQ_045,
+       .i2c_gate      = 0x4b,
+       .tuner_address = 0x61,
+       .tuner_config  = 2,
+       .antenna_switch= 2,
+       .request_firmware = philips_tda1004x_request_firmware
+};
+
+static struct tda1004x_config asus_p7131_dual_lna_config = {
+       .demod_address = 0x08,
+       .invert        = 1,
+       .invert_oclk   = 0,
+       .xtal_freq     = TDA10046_XTAL_16M,
+       .agc_config    = TDA10046_AGC_TDA827X,
+       .gpio_config   = TDA10046_GP11_I,
+       .if_freq       = TDA10046_FREQ_045,
+       .i2c_gate      = 0x4b,
+       .tuner_address = 0x61,
+       .tuner_config  = 2,
+       .antenna_switch= 2,
+       .request_firmware = philips_tda1004x_request_firmware
+};
 /* ------------------------------------------------------------------
  * special case: this card uses saa713x GPIO22 for the mode switch
  */
@@ -1121,6 +1150,12 @@ static int dvb_init(struct saa7134_dev *dev)
        case SAA7134_BOARD_PHILIPS_TIGER_S:
                configure_tda827x_fe(dev, &philips_tiger_s_config);
                break;
+       case SAA7134_BOARD_ASUS_P7131_4871:
+               configure_tda827x_fe(dev, &asus_p7131_4871_config);
+               break;
+       case SAA7134_BOARD_ASUSTeK_P7131_DUAL_LNA:
+               configure_tda827x_fe(dev, &asus_p7131_dual_lna_config);
+               break;
        default:
                wprintk("Huh? unknown DVB card?\n");
                break;
index 290e7e5..0c88181 100644 (file)
@@ -233,6 +233,8 @@ struct saa7134_format {
 #define SAA7134_BOARD_CINERGY_HT_PCI       108
 #define SAA7134_BOARD_PHILIPS_TIGER_S      109
 #define SAA7134_BOARD_AVERMEDIA_M102      110
+#define SAA7134_BOARD_ASUS_P7131_4871     111
+#define SAA7134_BOARD_ASUSTeK_P7131_DUAL_LNA 112
 
 #define SAA7134_MAXBOARDS 8
 #define SAA7134_INPUT_MAX 8