V4L/DVB (11665): cx88: Add support for the Hauppauge IROnly board.
authorSteven Toth <stoth@linuxtv.org>
Sat, 28 Mar 2009 17:22:21 +0000 (14:22 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 16 Jun 2009 21:20:50 +0000 (18:20 -0300)
cx88: Add support for the Hauppauge IROnly board.

Signed-off-by: Steven Toth <stoth@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Documentation/video4linux/CARDLIST.cx88
drivers/media/video/cx88/cx88-cards.c
drivers/media/video/cx88/cx88-input.c
drivers/media/video/cx88/cx88.h

index 71e9db0..80527b2 100644 (file)
@@ -78,3 +78,4 @@
  77 -> TBS 8910 DVB-S                                      [8910:8888]
  78 -> Prof 6200 DVB-S                                     [b022:3022]
  79 -> Terratec Cinergy HT PCI MKII                        [153b:1177]
+ 80 -> Hauppauge WinTV-IR Only                             [0070:9290]
index 6bbbfc6..1039757 100644 (file)
@@ -1969,6 +1969,13 @@ static const struct cx88_board cx88_boards[] = {
                },
                .mpeg           = CX88_MPEG_DVB,
        },
+       [CX88_BOARD_HAUPPAUGE_IRONLY] = {
+               .name           = "Hauppauge WinTV-IR Only",
+               .tuner_type     = UNSET,
+               .radio_type     = UNSET,
+               .tuner_addr     = ADDR_UNSET,
+               .radio_addr     = ADDR_UNSET,
+       },
 };
 
 /* ------------------------------------------------------------------ */
@@ -2382,6 +2389,10 @@ static const struct cx88_subid cx88_subids[] = {
                .subvendor = 0x153b,
                .subdevice = 0x1177,
                .card      = CX88_BOARD_TERRATEC_CINERGY_HT_PCI_MKII,
+       }, {
+               .subvendor = 0x0070,
+               .subdevice = 0x9290,
+               .card      = CX88_BOARD_HAUPPAUGE_IRONLY,
        },
 };
 
@@ -2448,6 +2459,7 @@ static void hauppauge_eeprom(struct cx88_core *core, u8 *eeprom_data)
        case 90500: /* Nova-T-PCI (oem) */
        case 90501: /* Nova-T-PCI (oem/IR) */
        case 92000: /* Nova-SE2 (OEM, No Video or IR) */
+       case 92900: /* WinTV-IROnly (No analog or digital Video inputs) */
        case 94009: /* WinTV-HVR1100 (Video and IR Retail) */
        case 94501: /* WinTV-HVR1100 (Video and IR OEM) */
        case 96009: /* WinTV-HVR1300 (PAL Video, MPEG Video and IR RX) */
@@ -2907,6 +2919,7 @@ static void cx88_card_setup(struct cx88_core *core)
        case CX88_BOARD_HAUPPAUGE_HVR1300:
        case CX88_BOARD_HAUPPAUGE_HVR4000:
        case CX88_BOARD_HAUPPAUGE_HVR4000LITE:
+       case CX88_BOARD_HAUPPAUGE_IRONLY:
                if (0 == core->i2c_rc)
                        hauppauge_eeprom(core, eeprom);
                break;
index ec05312..bd2baa7 100644 (file)
@@ -217,6 +217,7 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
        case CX88_BOARD_HAUPPAUGE_HVR4000LITE:
        case CX88_BOARD_PCHDTV_HD3000:
        case CX88_BOARD_PCHDTV_HD5500:
+       case CX88_BOARD_HAUPPAUGE_IRONLY:
                ir_codes = ir_codes_hauppauge_new;
                ir_type = IR_TYPE_RC5;
                ir->sampling = 1;
@@ -459,6 +460,7 @@ void cx88_ir_irq(struct cx88_core *core)
        case CX88_BOARD_HAUPPAUGE_HVR4000LITE:
        case CX88_BOARD_PCHDTV_HD3000:
        case CX88_BOARD_PCHDTV_HD5500:
+       case CX88_BOARD_HAUPPAUGE_IRONLY:
                ircode = ir_decode_biphase(ir->samples, ir->scount, 5, 7);
                ir_dprintk("biphase decoded: %x\n", ircode);
                /*
index 7724d16..2190b60 100644 (file)
@@ -232,6 +232,7 @@ extern struct sram_channel cx88_sram_channels[];
 #define CX88_BOARD_TBS_8910                77
 #define CX88_BOARD_PROF_6200               78
 #define CX88_BOARD_TERRATEC_CINERGY_HT_PCI_MKII 79
+#define CX88_BOARD_HAUPPAUGE_IRONLY        80
 
 enum cx88_itype {
        CX88_VMUX_COMPOSITE1 = 1,