V4L/DVB (12931): SAA7164: Fix the 88021 definition to work with production boards.
authorSteven Toth <stoth@kernellabs.com>
Tue, 12 May 2009 01:03:07 +0000 (22:03 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 19 Sep 2009 03:14:56 +0000 (00:14 -0300)
Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Documentation/video4linux/CARDLIST.saa7164
drivers/media/video/saa7164/saa7164-cards.c
drivers/media/video/saa7164/saa7164-dvb.c
drivers/media/video/saa7164/saa7164.h

index d1e8217e4367a02bcba90442d3e726acd27cb63d..d9bcb5a7e45e6d8cc34c0ad48b48e1e61a0b9538 100644 (file)
@@ -5,4 +5,5 @@
   4 -> Hauppauge WinTV-HVR2200                             [0070:8980]
   5 -> Hauppauge WinTV-HVR2200                             [0070:8900]
   6 -> Hauppauge WinTV-HVR2200                             [0070:8901]
-  7 -> Hauppauge WinTV-HVR2250                             [0070:88A1,0070:8891]
+  7 -> Hauppauge WinTV-HVR2250                             [0070:8891]
+  8 -> Hauppauge WinTV-HVR2250                             [0070:88A1]
index 0678b5f31bdd4f695f5203f5d26db33cec6be98e..9274e1c21877bf414549875a9d8054d138f3903c 100644 (file)
@@ -303,6 +303,62 @@ struct saa7164_board saa7164_boards[] = {
                        .i2c_reg_len    = REGLEN_8bit,
                } },
        },
+       [SAA7164_BOARD_HAUPPAUGE_HVR2250_3] = {
+               .name           = "Hauppauge WinTV-HVR2250",
+               .porta          = SAA7164_MPEG_DVB,
+               .portb          = SAA7164_MPEG_DVB,
+               .chiprev        = SAA7164_CHIP_REV3,
+               .unit           = {{
+                       .id             = 0x22,
+                       .type           = SAA7164_UNIT_EEPROM,
+                       .name           = "4K EEPROM",
+                       .i2c_bus_nr     = SAA7164_I2C_BUS_0,
+                       .i2c_bus_addr   = 0xa0 >> 1,
+                       .i2c_reg_len    = REGLEN_8bit,
+               }, {
+                       .id             = 0x04,
+                       .type           = SAA7164_UNIT_TUNER,
+                       .name           = "TDA18271-1",
+                       .i2c_bus_nr     = SAA7164_I2C_BUS_1,
+                       .i2c_bus_addr   = 0xc0 >> 1,
+                       .i2c_reg_len    = REGLEN_8bit,
+               }, {
+                       .id             = 0x07,
+                       .type           = SAA7164_UNIT_DIGITAL_DEMODULATOR,
+                       .name           = "CX24228/S5H1411-1 (TOP)",
+                       .i2c_bus_nr     = SAA7164_I2C_BUS_1,
+                       .i2c_bus_addr   = 0x32 >> 1,
+                       .i2c_reg_len    = REGLEN_8bit,
+               }, {
+                       .id             = 0x08,
+                       .type           = SAA7164_UNIT_DIGITAL_DEMODULATOR,
+                       .name           = "CX24228/S5H1411-1 (QAM)",
+                       .i2c_bus_nr     = SAA7164_I2C_BUS_1,
+                       .i2c_bus_addr   = 0x34 >> 1,
+                       .i2c_reg_len    = REGLEN_8bit,
+               }, {
+                       .id             = 0x22,
+                       .type           = SAA7164_UNIT_TUNER,
+                       .name           = "TDA18271-2",
+                       .i2c_bus_nr     = SAA7164_I2C_BUS_2,
+                       .i2c_bus_addr   = 0xc0 >> 1,
+                       .i2c_reg_len    = REGLEN_8bit,
+               }, {
+                       .id             = 0x24,
+                       .type           = SAA7164_UNIT_DIGITAL_DEMODULATOR,
+                       .name           = "CX24228/S5H1411-2 (TOP)",
+                       .i2c_bus_nr     = SAA7164_I2C_BUS_2,
+                       .i2c_bus_addr   = 0x32 >> 1,
+                       .i2c_reg_len    = REGLEN_8bit,
+               }, {
+                       .id             = 0x27,
+                       .type           = SAA7164_UNIT_DIGITAL_DEMODULATOR,
+                       .name           = "CX24228/S5H1411-2 (QAM)",
+                       .i2c_bus_nr     = SAA7164_I2C_BUS_2,
+                       .i2c_bus_addr   = 0x34 >> 1,
+                       .i2c_reg_len    = REGLEN_8bit,
+               } },
+       },
 };
 const unsigned int saa7164_bcount = ARRAY_SIZE(saa7164_boards);
 
@@ -333,7 +389,7 @@ struct saa7164_subid saa7164_subids[] = {
        }, {
                .subvendor = 0x0070,
                .subdevice = 0x88A1,
-               .card      = SAA7164_BOARD_HAUPPAUGE_HVR2250_2,
+               .card      = SAA7164_BOARD_HAUPPAUGE_HVR2250_3,
        }, {
                .subvendor = 0x0070,
                .subdevice = 0x8891,
@@ -385,6 +441,7 @@ void saa7164_gpio_setup(struct saa7164_dev *dev)
        case SAA7164_BOARD_HAUPPAUGE_HVR2200_3:
        case SAA7164_BOARD_HAUPPAUGE_HVR2250:
        case SAA7164_BOARD_HAUPPAUGE_HVR2250_2:
+       case SAA7164_BOARD_HAUPPAUGE_HVR2250_3:
                /*
                GPIO 2: s5h1411 / tda10048-1 demod reset
                GPIO 3: s5h1411 / tda10048-2 demod reset
@@ -464,7 +521,7 @@ void saa7164_card_setup(struct saa7164_dev *dev)
        case SAA7164_BOARD_HAUPPAUGE_HVR2200_2:
        case SAA7164_BOARD_HAUPPAUGE_HVR2200_3:
        case SAA7164_BOARD_HAUPPAUGE_HVR2250:
-       case SAA7164_BOARD_HAUPPAUGE_HVR2250_2:
+       case SAA7164_BOARD_HAUPPAUGE_HVR2250_3:
                hauppauge_eeprom(dev, &eeprom[0]);
                break;
        }
index e9ff88a11a1206c2a435b6fa056a8874ade906ea..67e4f9d3d24967f39628aae8894c1693d539980c 100644 (file)
@@ -542,6 +542,7 @@ int saa7164_dvb_register(struct saa7164_tsport *port)
                break;
        case SAA7164_BOARD_HAUPPAUGE_HVR2250:
        case SAA7164_BOARD_HAUPPAUGE_HVR2250_2:
+       case SAA7164_BOARD_HAUPPAUGE_HVR2250_3:
                i2c_bus = &dev->i2c_bus[port->nr + 1];
 
                port->dvb.frontend = dvb_attach(s5h1411_attach,
index dd8991b2801865b00a16750a04e41c1d75b478b1..e0d8ec0fd95cbb7cfaee1fd075e276171953c01f 100644 (file)
@@ -72,6 +72,7 @@
 #define SAA7164_BOARD_HAUPPAUGE_HVR2200_2      5
 #define SAA7164_BOARD_HAUPPAUGE_HVR2200_3      6
 #define SAA7164_BOARD_HAUPPAUGE_HVR2250_2      7
+#define SAA7164_BOARD_HAUPPAUGE_HVR2250_3      8
 
 #define SAA7164_MAX_UNITS              8
 #define SAA7164_TS_NUMBER_OF_LINES     312