Merge tag 'mmc-v4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
[cascardo/linux.git] / drivers / media / pci / cx23885 / cx23885-cards.c
index 4abf50f..99ba8d6 100644 (file)
@@ -770,6 +770,11 @@ struct cx23885_board cx23885_boards[] = {
                .portb        = CX23885_MPEG_DVB,
                .portc        = CX23885_MPEG_DVB,
        },
+       [CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC] = {
+               .name        = "Hauppauge WinTV-QuadHD-ATSC",
+               .portb        = CX23885_MPEG_DVB,
+               .portc        = CX23885_MPEG_DVB,
+       },
 };
 const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards);
 
@@ -1073,6 +1078,14 @@ struct cx23885_subid cx23885_subids[] = {
                .subvendor = 0x0070,
                .subdevice = 0x6b28,
                .card      = CX23885_BOARD_HAUPPAUGE_QUADHD_DVB, /* Tuner Pair 2 */
+       }, {
+               .subvendor = 0x0070,
+               .subdevice = 0x6a18,
+               .card      = CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC, /* Tuner Pair 1 */
+       }, {
+               .subvendor = 0x0070,
+               .subdevice = 0x6b18,
+               .card      = CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC, /* Tuner Pair 2 */
        },
 };
 const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids);
@@ -1278,6 +1291,18 @@ static void hauppauge_eeprom(struct cx23885_dev *dev, u8 *eeprom_data)
                /* WinTV-QuadHD (DVB) Tuner Pair 2 (PCIe, IR, half height,
                   DVB-T/T2/C, DVB-T/T2/C */
                break;
+       case 165100:
+               /*
+                * WinTV-QuadHD (ATSC) Tuner Pair 1 (PCIe, IR, half height,
+                * ATSC, ATSC
+                */
+               break;
+       case 165101:
+               /*
+                * WinTV-QuadHD (DVB) Tuner Pair 2 (PCIe, IR, half height,
+                * ATSC, ATSC
+                */
+               break;
        default:
                printk(KERN_WARNING "%s: warning: "
                        "unknown hauppauge model #%d\n",
@@ -1751,6 +1776,7 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)
                break;
        case CX23885_BOARD_HAUPPAUGE_HVR5525:
        case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC:
                /*
                 * HVR5525 GPIO Details:
                 *  GPIO-00 IR_WIDE
@@ -1826,6 +1852,7 @@ int cx23885_ir_init(struct cx23885_dev *dev)
        case CX23885_BOARD_HAUPPAUGE_HVR1255_22111:
        case CX23885_BOARD_HAUPPAUGE_HVR1210:
        case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC:
                /* FIXME: Implement me */
                break;
        case CX23885_BOARD_HAUPPAUGE_HVR1270:
@@ -2025,6 +2052,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)
        case CX23885_BOARD_HAUPPAUGE_IMPACTVCBE:
        case CX23885_BOARD_HAUPPAUGE_HVR5525:
        case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC:
                if (dev->i2c_bus[0].i2c_rc == 0)
                        hauppauge_eeprom(dev, eeprom+0xc0);
                break;
@@ -2171,6 +2199,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)
                ts2->src_sel_val   = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO;
                break;
        case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC:
                ts1->gen_ctrl_val  = 0xc; /* Serial bus + punctured clock */
                ts1->ts_clk_en_val = 0x1; /* Enable TS_CLK */
                ts1->src_sel_val   = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO;