diff options
Diffstat (limited to 'drivers/media/video/cx23885/cx23885-cards.c')
| -rw-r--r-- | drivers/media/video/cx23885/cx23885-cards.c | 89 |
1 files changed, 79 insertions, 10 deletions
diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c index 13739e002a63..080e11157e5f 100644 --- a/drivers/media/video/cx23885/cx23885-cards.c +++ b/drivers/media/video/cx23885/cx23885-cards.c | |||
| @@ -127,22 +127,37 @@ struct cx23885_board cx23885_boards[] = { | |||
| 127 | }, | 127 | }, |
| 128 | [CX23885_BOARD_HAUPPAUGE_HVR1250] = { | 128 | [CX23885_BOARD_HAUPPAUGE_HVR1250] = { |
| 129 | .name = "Hauppauge WinTV-HVR1250", | 129 | .name = "Hauppauge WinTV-HVR1250", |
| 130 | .porta = CX23885_ANALOG_VIDEO, | ||
| 130 | .portc = CX23885_MPEG_DVB, | 131 | .portc = CX23885_MPEG_DVB, |
| 132 | #ifdef MT2131_NO_ANALOG_SUPPORT_YET | ||
| 133 | .tuner_type = TUNER_PHILIPS_TDA8290, | ||
| 134 | .tuner_addr = 0x42, /* 0x84 >> 1 */ | ||
| 135 | .tuner_bus = 1, | ||
| 136 | #endif | ||
| 137 | .force_bff = 1, | ||
| 131 | .input = {{ | 138 | .input = {{ |
| 139 | #ifdef MT2131_NO_ANALOG_SUPPORT_YET | ||
| 132 | .type = CX23885_VMUX_TELEVISION, | 140 | .type = CX23885_VMUX_TELEVISION, |
| 133 | .vmux = 0, | 141 | .vmux = CX25840_VIN7_CH3 | |
| 142 | CX25840_VIN5_CH2 | | ||
| 143 | CX25840_VIN2_CH1, | ||
| 144 | .amux = CX25840_AUDIO8, | ||
| 134 | .gpio0 = 0xff00, | 145 | .gpio0 = 0xff00, |
| 135 | }, { | 146 | }, { |
| 136 | .type = CX23885_VMUX_DEBUG, | 147 | #endif |
| 137 | .vmux = 0, | ||
| 138 | .gpio0 = 0xff01, | ||
| 139 | }, { | ||
| 140 | .type = CX23885_VMUX_COMPOSITE1, | 148 | .type = CX23885_VMUX_COMPOSITE1, |
| 141 | .vmux = 1, | 149 | .vmux = CX25840_VIN7_CH3 | |
| 150 | CX25840_VIN4_CH2 | | ||
| 151 | CX25840_VIN6_CH1, | ||
| 152 | .amux = CX25840_AUDIO7, | ||
| 142 | .gpio0 = 0xff02, | 153 | .gpio0 = 0xff02, |
| 143 | }, { | 154 | }, { |
| 144 | .type = CX23885_VMUX_SVIDEO, | 155 | .type = CX23885_VMUX_SVIDEO, |
| 145 | .vmux = 2, | 156 | .vmux = CX25840_VIN7_CH3 | |
| 157 | CX25840_VIN4_CH2 | | ||
| 158 | CX25840_VIN8_CH1 | | ||
| 159 | CX25840_SVIDEO_ON, | ||
| 160 | .amux = CX25840_AUDIO7, | ||
| 146 | .gpio0 = 0xff02, | 161 | .gpio0 = 0xff02, |
| 147 | } }, | 162 | } }, |
| 148 | }, | 163 | }, |
| @@ -267,7 +282,55 @@ struct cx23885_board cx23885_boards[] = { | |||
| 267 | }, | 282 | }, |
| 268 | [CX23885_BOARD_HAUPPAUGE_HVR1255] = { | 283 | [CX23885_BOARD_HAUPPAUGE_HVR1255] = { |
| 269 | .name = "Hauppauge WinTV-HVR1255", | 284 | .name = "Hauppauge WinTV-HVR1255", |
| 285 | .porta = CX23885_ANALOG_VIDEO, | ||
| 286 | .portc = CX23885_MPEG_DVB, | ||
| 287 | .tuner_type = TUNER_ABSENT, | ||
| 288 | .tuner_addr = 0x42, /* 0x84 >> 1 */ | ||
| 289 | .force_bff = 1, | ||
| 290 | .input = {{ | ||
| 291 | .type = CX23885_VMUX_TELEVISION, | ||
| 292 | .vmux = CX25840_VIN7_CH3 | | ||
| 293 | CX25840_VIN5_CH2 | | ||
| 294 | CX25840_VIN2_CH1 | | ||
| 295 | CX25840_DIF_ON, | ||
| 296 | .amux = CX25840_AUDIO8, | ||
| 297 | }, { | ||
| 298 | .type = CX23885_VMUX_COMPOSITE1, | ||
| 299 | .vmux = CX25840_VIN7_CH3 | | ||
| 300 | CX25840_VIN4_CH2 | | ||
| 301 | CX25840_VIN6_CH1, | ||
| 302 | .amux = CX25840_AUDIO7, | ||
| 303 | }, { | ||
| 304 | .type = CX23885_VMUX_SVIDEO, | ||
| 305 | .vmux = CX25840_VIN7_CH3 | | ||
| 306 | CX25840_VIN4_CH2 | | ||
| 307 | CX25840_VIN8_CH1 | | ||
| 308 | CX25840_SVIDEO_ON, | ||
| 309 | .amux = CX25840_AUDIO7, | ||
| 310 | } }, | ||
| 311 | }, | ||
| 312 | [CX23885_BOARD_HAUPPAUGE_HVR1255_22111] = { | ||
| 313 | .name = "Hauppauge WinTV-HVR1255", | ||
| 314 | .porta = CX23885_ANALOG_VIDEO, | ||
| 270 | .portc = CX23885_MPEG_DVB, | 315 | .portc = CX23885_MPEG_DVB, |
| 316 | .tuner_type = TUNER_ABSENT, | ||
| 317 | .tuner_addr = 0x42, /* 0x84 >> 1 */ | ||
| 318 | .force_bff = 1, | ||
| 319 | .input = {{ | ||
| 320 | .type = CX23885_VMUX_TELEVISION, | ||
| 321 | .vmux = CX25840_VIN7_CH3 | | ||
| 322 | CX25840_VIN5_CH2 | | ||
| 323 | CX25840_VIN2_CH1 | | ||
| 324 | CX25840_DIF_ON, | ||
| 325 | .amux = CX25840_AUDIO8, | ||
| 326 | }, { | ||
| 327 | .type = CX23885_VMUX_SVIDEO, | ||
| 328 | .vmux = CX25840_VIN7_CH3 | | ||
| 329 | CX25840_VIN4_CH2 | | ||
| 330 | CX25840_VIN8_CH1 | | ||
| 331 | CX25840_SVIDEO_ON, | ||
| 332 | .amux = CX25840_AUDIO7, | ||
| 333 | } }, | ||
| 271 | }, | 334 | }, |
| 272 | [CX23885_BOARD_HAUPPAUGE_HVR1210] = { | 335 | [CX23885_BOARD_HAUPPAUGE_HVR1210] = { |
| 273 | .name = "Hauppauge WinTV-HVR1210", | 336 | .name = "Hauppauge WinTV-HVR1210", |
| @@ -624,7 +687,7 @@ struct cx23885_subid cx23885_subids[] = { | |||
| 624 | }, { | 687 | }, { |
| 625 | .subvendor = 0x0070, | 688 | .subvendor = 0x0070, |
| 626 | .subdevice = 0x2259, | 689 | .subdevice = 0x2259, |
| 627 | .card = CX23885_BOARD_HAUPPAUGE_HVR1255, | 690 | .card = CX23885_BOARD_HAUPPAUGE_HVR1255_22111, |
| 628 | }, { | 691 | }, { |
| 629 | .subvendor = 0x0070, | 692 | .subvendor = 0x0070, |
| 630 | .subdevice = 0x2291, | 693 | .subdevice = 0x2291, |
| @@ -900,7 +963,7 @@ int cx23885_tuner_callback(void *priv, int component, int command, int arg) | |||
| 900 | struct cx23885_dev *dev = port->dev; | 963 | struct cx23885_dev *dev = port->dev; |
| 901 | u32 bitmask = 0; | 964 | u32 bitmask = 0; |
| 902 | 965 | ||
| 903 | if (command == XC2028_RESET_CLK) | 966 | if ((command == XC2028_RESET_CLK) || (command == XC2028_I2C_FLUSH)) |
| 904 | return 0; | 967 | return 0; |
| 905 | 968 | ||
| 906 | if (command != 0) { | 969 | if (command != 0) { |
| @@ -1130,6 +1193,7 @@ void cx23885_gpio_setup(struct cx23885_dev *dev) | |||
| 1130 | case CX23885_BOARD_HAUPPAUGE_HVR1270: | 1193 | case CX23885_BOARD_HAUPPAUGE_HVR1270: |
| 1131 | case CX23885_BOARD_HAUPPAUGE_HVR1275: | 1194 | case CX23885_BOARD_HAUPPAUGE_HVR1275: |
| 1132 | case CX23885_BOARD_HAUPPAUGE_HVR1255: | 1195 | case CX23885_BOARD_HAUPPAUGE_HVR1255: |
| 1196 | case CX23885_BOARD_HAUPPAUGE_HVR1255_22111: | ||
| 1133 | case CX23885_BOARD_HAUPPAUGE_HVR1210: | 1197 | case CX23885_BOARD_HAUPPAUGE_HVR1210: |
| 1134 | /* GPIO-5 RF Control: 0 = RF1 Terrestrial, 1 = RF2 Cable */ | 1198 | /* GPIO-5 RF Control: 0 = RF1 Terrestrial, 1 = RF2 Cable */ |
| 1135 | /* GPIO-6 I2C Gate which can isolate the demod from the bus */ | 1199 | /* GPIO-6 I2C Gate which can isolate the demod from the bus */ |
| @@ -1267,6 +1331,7 @@ int cx23885_ir_init(struct cx23885_dev *dev) | |||
| 1267 | case CX23885_BOARD_HAUPPAUGE_HVR1400: | 1331 | case CX23885_BOARD_HAUPPAUGE_HVR1400: |
| 1268 | case CX23885_BOARD_HAUPPAUGE_HVR1275: | 1332 | case CX23885_BOARD_HAUPPAUGE_HVR1275: |
| 1269 | case CX23885_BOARD_HAUPPAUGE_HVR1255: | 1333 | case CX23885_BOARD_HAUPPAUGE_HVR1255: |
| 1334 | case CX23885_BOARD_HAUPPAUGE_HVR1255_22111: | ||
| 1270 | case CX23885_BOARD_HAUPPAUGE_HVR1210: | 1335 | case CX23885_BOARD_HAUPPAUGE_HVR1210: |
| 1271 | /* FIXME: Implement me */ | 1336 | /* FIXME: Implement me */ |
| 1272 | break; | 1337 | break; |
| @@ -1424,6 +1489,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
| 1424 | case CX23885_BOARD_HAUPPAUGE_HVR1270: | 1489 | case CX23885_BOARD_HAUPPAUGE_HVR1270: |
| 1425 | case CX23885_BOARD_HAUPPAUGE_HVR1275: | 1490 | case CX23885_BOARD_HAUPPAUGE_HVR1275: |
| 1426 | case CX23885_BOARD_HAUPPAUGE_HVR1255: | 1491 | case CX23885_BOARD_HAUPPAUGE_HVR1255: |
| 1492 | case CX23885_BOARD_HAUPPAUGE_HVR1255_22111: | ||
| 1427 | case CX23885_BOARD_HAUPPAUGE_HVR1210: | 1493 | case CX23885_BOARD_HAUPPAUGE_HVR1210: |
| 1428 | case CX23885_BOARD_HAUPPAUGE_HVR1850: | 1494 | case CX23885_BOARD_HAUPPAUGE_HVR1850: |
| 1429 | case CX23885_BOARD_HAUPPAUGE_HVR1290: | 1495 | case CX23885_BOARD_HAUPPAUGE_HVR1290: |
| @@ -1511,6 +1577,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
| 1511 | case CX23885_BOARD_HAUPPAUGE_HVR1270: | 1577 | case CX23885_BOARD_HAUPPAUGE_HVR1270: |
| 1512 | case CX23885_BOARD_HAUPPAUGE_HVR1275: | 1578 | case CX23885_BOARD_HAUPPAUGE_HVR1275: |
| 1513 | case CX23885_BOARD_HAUPPAUGE_HVR1255: | 1579 | case CX23885_BOARD_HAUPPAUGE_HVR1255: |
| 1580 | case CX23885_BOARD_HAUPPAUGE_HVR1255_22111: | ||
| 1514 | case CX23885_BOARD_HAUPPAUGE_HVR1210: | 1581 | case CX23885_BOARD_HAUPPAUGE_HVR1210: |
| 1515 | case CX23885_BOARD_COMPRO_VIDEOMATE_E800: | 1582 | case CX23885_BOARD_COMPRO_VIDEOMATE_E800: |
| 1516 | case CX23885_BOARD_HAUPPAUGE_HVR1290: | 1583 | case CX23885_BOARD_HAUPPAUGE_HVR1290: |
| @@ -1526,10 +1593,10 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
| 1526 | */ | 1593 | */ |
| 1527 | switch (dev->board) { | 1594 | switch (dev->board) { |
| 1528 | case CX23885_BOARD_TEVII_S470: | 1595 | case CX23885_BOARD_TEVII_S470: |
| 1529 | case CX23885_BOARD_HAUPPAUGE_HVR1250: | ||
| 1530 | /* Currently only enabled for the integrated IR controller */ | 1596 | /* Currently only enabled for the integrated IR controller */ |
| 1531 | if (!enable_885_ir) | 1597 | if (!enable_885_ir) |
| 1532 | break; | 1598 | break; |
| 1599 | case CX23885_BOARD_HAUPPAUGE_HVR1250: | ||
| 1533 | case CX23885_BOARD_HAUPPAUGE_HVR1800: | 1600 | case CX23885_BOARD_HAUPPAUGE_HVR1800: |
| 1534 | case CX23885_BOARD_HAUPPAUGE_HVR1800lp: | 1601 | case CX23885_BOARD_HAUPPAUGE_HVR1800lp: |
| 1535 | case CX23885_BOARD_HAUPPAUGE_HVR1700: | 1602 | case CX23885_BOARD_HAUPPAUGE_HVR1700: |
| @@ -1539,6 +1606,8 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
| 1539 | case CX23885_BOARD_NETUP_DUAL_DVBS2_CI: | 1606 | case CX23885_BOARD_NETUP_DUAL_DVBS2_CI: |
| 1540 | case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF: | 1607 | case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF: |
| 1541 | case CX23885_BOARD_COMPRO_VIDEOMATE_E800: | 1608 | case CX23885_BOARD_COMPRO_VIDEOMATE_E800: |
| 1609 | case CX23885_BOARD_HAUPPAUGE_HVR1255: | ||
| 1610 | case CX23885_BOARD_HAUPPAUGE_HVR1255_22111: | ||
| 1542 | case CX23885_BOARD_HAUPPAUGE_HVR1270: | 1611 | case CX23885_BOARD_HAUPPAUGE_HVR1270: |
| 1543 | case CX23885_BOARD_HAUPPAUGE_HVR1850: | 1612 | case CX23885_BOARD_HAUPPAUGE_HVR1850: |
| 1544 | case CX23885_BOARD_MYGICA_X8506: | 1613 | case CX23885_BOARD_MYGICA_X8506: |
