diff options
| -rw-r--r-- | drivers/media/video/cx23885/cx23885-cards.c | 56 | ||||
| -rw-r--r-- | drivers/media/video/cx23885/cx23885-dvb.c | 6 | ||||
| -rw-r--r-- | drivers/media/video/cx23885/cx23885-video.c | 8 | ||||
| -rw-r--r-- | drivers/media/video/cx23885/cx23885.h | 1 |
4 files changed, 69 insertions, 2 deletions
diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c index f8664f2ccfda..bf79003bd8f6 100644 --- a/drivers/media/video/cx23885/cx23885-cards.c +++ b/drivers/media/video/cx23885/cx23885-cards.c | |||
| @@ -282,7 +282,55 @@ struct cx23885_board cx23885_boards[] = { | |||
| 282 | }, | 282 | }, |
| 283 | [CX23885_BOARD_HAUPPAUGE_HVR1255] = { | 283 | [CX23885_BOARD_HAUPPAUGE_HVR1255] = { |
| 284 | .name = "Hauppauge WinTV-HVR1255", | 284 | .name = "Hauppauge WinTV-HVR1255", |
| 285 | .porta = CX23885_ANALOG_VIDEO, | ||
| 285 | .portc = CX23885_MPEG_DVB, | 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, | ||
| 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 | } }, | ||
| 286 | }, | 334 | }, |
| 287 | [CX23885_BOARD_HAUPPAUGE_HVR1210] = { | 335 | [CX23885_BOARD_HAUPPAUGE_HVR1210] = { |
| 288 | .name = "Hauppauge WinTV-HVR1210", | 336 | .name = "Hauppauge WinTV-HVR1210", |
| @@ -639,7 +687,7 @@ struct cx23885_subid cx23885_subids[] = { | |||
| 639 | }, { | 687 | }, { |
| 640 | .subvendor = 0x0070, | 688 | .subvendor = 0x0070, |
| 641 | .subdevice = 0x2259, | 689 | .subdevice = 0x2259, |
| 642 | .card = CX23885_BOARD_HAUPPAUGE_HVR1255, | 690 | .card = CX23885_BOARD_HAUPPAUGE_HVR1255_22111, |
| 643 | }, { | 691 | }, { |
| 644 | .subvendor = 0x0070, | 692 | .subvendor = 0x0070, |
| 645 | .subdevice = 0x2291, | 693 | .subdevice = 0x2291, |
| @@ -1145,6 +1193,7 @@ void cx23885_gpio_setup(struct cx23885_dev *dev) | |||
| 1145 | case CX23885_BOARD_HAUPPAUGE_HVR1270: | 1193 | case CX23885_BOARD_HAUPPAUGE_HVR1270: |
| 1146 | case CX23885_BOARD_HAUPPAUGE_HVR1275: | 1194 | case CX23885_BOARD_HAUPPAUGE_HVR1275: |
| 1147 | case CX23885_BOARD_HAUPPAUGE_HVR1255: | 1195 | case CX23885_BOARD_HAUPPAUGE_HVR1255: |
| 1196 | case CX23885_BOARD_HAUPPAUGE_HVR1255_22111: | ||
| 1148 | case CX23885_BOARD_HAUPPAUGE_HVR1210: | 1197 | case CX23885_BOARD_HAUPPAUGE_HVR1210: |
| 1149 | /* GPIO-5 RF Control: 0 = RF1 Terrestrial, 1 = RF2 Cable */ | 1198 | /* GPIO-5 RF Control: 0 = RF1 Terrestrial, 1 = RF2 Cable */ |
| 1150 | /* 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 */ |
| @@ -1282,6 +1331,7 @@ int cx23885_ir_init(struct cx23885_dev *dev) | |||
| 1282 | case CX23885_BOARD_HAUPPAUGE_HVR1400: | 1331 | case CX23885_BOARD_HAUPPAUGE_HVR1400: |
| 1283 | case CX23885_BOARD_HAUPPAUGE_HVR1275: | 1332 | case CX23885_BOARD_HAUPPAUGE_HVR1275: |
| 1284 | case CX23885_BOARD_HAUPPAUGE_HVR1255: | 1333 | case CX23885_BOARD_HAUPPAUGE_HVR1255: |
| 1334 | case CX23885_BOARD_HAUPPAUGE_HVR1255_22111: | ||
| 1285 | case CX23885_BOARD_HAUPPAUGE_HVR1210: | 1335 | case CX23885_BOARD_HAUPPAUGE_HVR1210: |
| 1286 | /* FIXME: Implement me */ | 1336 | /* FIXME: Implement me */ |
| 1287 | break; | 1337 | break; |
| @@ -1439,6 +1489,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
| 1439 | case CX23885_BOARD_HAUPPAUGE_HVR1270: | 1489 | case CX23885_BOARD_HAUPPAUGE_HVR1270: |
| 1440 | case CX23885_BOARD_HAUPPAUGE_HVR1275: | 1490 | case CX23885_BOARD_HAUPPAUGE_HVR1275: |
| 1441 | case CX23885_BOARD_HAUPPAUGE_HVR1255: | 1491 | case CX23885_BOARD_HAUPPAUGE_HVR1255: |
| 1492 | case CX23885_BOARD_HAUPPAUGE_HVR1255_22111: | ||
| 1442 | case CX23885_BOARD_HAUPPAUGE_HVR1210: | 1493 | case CX23885_BOARD_HAUPPAUGE_HVR1210: |
| 1443 | case CX23885_BOARD_HAUPPAUGE_HVR1850: | 1494 | case CX23885_BOARD_HAUPPAUGE_HVR1850: |
| 1444 | case CX23885_BOARD_HAUPPAUGE_HVR1290: | 1495 | case CX23885_BOARD_HAUPPAUGE_HVR1290: |
| @@ -1526,6 +1577,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
| 1526 | case CX23885_BOARD_HAUPPAUGE_HVR1270: | 1577 | case CX23885_BOARD_HAUPPAUGE_HVR1270: |
| 1527 | case CX23885_BOARD_HAUPPAUGE_HVR1275: | 1578 | case CX23885_BOARD_HAUPPAUGE_HVR1275: |
| 1528 | case CX23885_BOARD_HAUPPAUGE_HVR1255: | 1579 | case CX23885_BOARD_HAUPPAUGE_HVR1255: |
| 1580 | case CX23885_BOARD_HAUPPAUGE_HVR1255_22111: | ||
| 1529 | case CX23885_BOARD_HAUPPAUGE_HVR1210: | 1581 | case CX23885_BOARD_HAUPPAUGE_HVR1210: |
| 1530 | case CX23885_BOARD_COMPRO_VIDEOMATE_E800: | 1582 | case CX23885_BOARD_COMPRO_VIDEOMATE_E800: |
| 1531 | case CX23885_BOARD_HAUPPAUGE_HVR1290: | 1583 | case CX23885_BOARD_HAUPPAUGE_HVR1290: |
| @@ -1554,6 +1606,8 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
| 1554 | case CX23885_BOARD_NETUP_DUAL_DVBS2_CI: | 1606 | case CX23885_BOARD_NETUP_DUAL_DVBS2_CI: |
| 1555 | case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF: | 1607 | case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF: |
| 1556 | 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: | ||
| 1557 | case CX23885_BOARD_HAUPPAUGE_HVR1270: | 1611 | case CX23885_BOARD_HAUPPAUGE_HVR1270: |
| 1558 | case CX23885_BOARD_HAUPPAUGE_HVR1850: | 1612 | case CX23885_BOARD_HAUPPAUGE_HVR1850: |
| 1559 | case CX23885_BOARD_MYGICA_X8506: | 1613 | case CX23885_BOARD_MYGICA_X8506: |
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c index a80a92c47455..cd542684ba02 100644 --- a/drivers/media/video/cx23885/cx23885-dvb.c +++ b/drivers/media/video/cx23885/cx23885-dvb.c | |||
| @@ -712,6 +712,7 @@ static int dvb_register(struct cx23885_tsport *port) | |||
| 712 | } | 712 | } |
| 713 | break; | 713 | break; |
| 714 | case CX23885_BOARD_HAUPPAUGE_HVR1255: | 714 | case CX23885_BOARD_HAUPPAUGE_HVR1255: |
| 715 | case CX23885_BOARD_HAUPPAUGE_HVR1255_22111: | ||
| 715 | i2c_bus = &dev->i2c_bus[0]; | 716 | i2c_bus = &dev->i2c_bus[0]; |
| 716 | fe0->dvb.frontend = dvb_attach(s5h1411_attach, | 717 | fe0->dvb.frontend = dvb_attach(s5h1411_attach, |
| 717 | &hcw_s5h1411_config, | 718 | &hcw_s5h1411_config, |
| @@ -721,6 +722,11 @@ static int dvb_register(struct cx23885_tsport *port) | |||
| 721 | 0x60, &dev->i2c_bus[1].i2c_adap, | 722 | 0x60, &dev->i2c_bus[1].i2c_adap, |
| 722 | &hauppauge_tda18271_config); | 723 | &hauppauge_tda18271_config); |
| 723 | } | 724 | } |
| 725 | |||
| 726 | tda18271_attach(&dev->ts1.analog_fe, | ||
| 727 | 0x60, &dev->i2c_bus[1].i2c_adap, | ||
| 728 | &hauppauge_tda18271_config); | ||
| 729 | |||
| 724 | break; | 730 | break; |
| 725 | case CX23885_BOARD_HAUPPAUGE_HVR1800: | 731 | case CX23885_BOARD_HAUPPAUGE_HVR1800: |
| 726 | i2c_bus = &dev->i2c_bus[0]; | 732 | i2c_bus = &dev->i2c_bus[0]; |
diff --git a/drivers/media/video/cx23885/cx23885-video.c b/drivers/media/video/cx23885/cx23885-video.c index 4d05689df426..22f8e7fbd665 100644 --- a/drivers/media/video/cx23885/cx23885-video.c +++ b/drivers/media/video/cx23885/cx23885-video.c | |||
| @@ -506,6 +506,8 @@ static int cx23885_video_mux(struct cx23885_dev *dev, unsigned int input) | |||
| 506 | if ((dev->board == CX23885_BOARD_HAUPPAUGE_HVR1800) || | 506 | if ((dev->board == CX23885_BOARD_HAUPPAUGE_HVR1800) || |
| 507 | (dev->board == CX23885_BOARD_MPX885) || | 507 | (dev->board == CX23885_BOARD_MPX885) || |
| 508 | (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1250) || | 508 | (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1250) || |
| 509 | (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1255) || | ||
| 510 | (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1255_22111) || | ||
| 509 | (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1850)) { | 511 | (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1850)) { |
| 510 | /* Configure audio routing */ | 512 | /* Configure audio routing */ |
| 511 | v4l2_subdev_call(dev->sd_cx25840, audio, s_routing, | 513 | v4l2_subdev_call(dev->sd_cx25840, audio, s_routing, |
| @@ -1579,7 +1581,9 @@ static int cx23885_set_freq_via_ops(struct cx23885_dev *dev, | |||
| 1579 | 1581 | ||
| 1580 | fe = vfe->dvb.frontend; | 1582 | fe = vfe->dvb.frontend; |
| 1581 | 1583 | ||
| 1582 | if (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1850) | 1584 | if ((dev->board == CX23885_BOARD_HAUPPAUGE_HVR1850) || |
| 1585 | (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1255) || | ||
| 1586 | (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1255_22111)) | ||
| 1583 | fe = &dev->ts1.analog_fe; | 1587 | fe = &dev->ts1.analog_fe; |
| 1584 | 1588 | ||
| 1585 | if (fe && fe->ops.tuner_ops.set_analog_params) { | 1589 | if (fe && fe->ops.tuner_ops.set_analog_params) { |
| @@ -1609,6 +1613,8 @@ int cx23885_set_frequency(struct file *file, void *priv, | |||
| 1609 | int ret; | 1613 | int ret; |
| 1610 | 1614 | ||
| 1611 | switch (dev->board) { | 1615 | switch (dev->board) { |
| 1616 | case CX23885_BOARD_HAUPPAUGE_HVR1255: | ||
| 1617 | case CX23885_BOARD_HAUPPAUGE_HVR1255_22111: | ||
| 1612 | case CX23885_BOARD_HAUPPAUGE_HVR1850: | 1618 | case CX23885_BOARD_HAUPPAUGE_HVR1850: |
| 1613 | ret = cx23885_set_freq_via_ops(dev, f); | 1619 | ret = cx23885_set_freq_via_ops(dev, f); |
| 1614 | break; | 1620 | break; |
diff --git a/drivers/media/video/cx23885/cx23885.h b/drivers/media/video/cx23885/cx23885.h index d884784a1c85..13c37ec07ae7 100644 --- a/drivers/media/video/cx23885/cx23885.h +++ b/drivers/media/video/cx23885/cx23885.h | |||
| @@ -90,6 +90,7 @@ | |||
| 90 | #define CX23885_BOARD_MYGICA_X8507 33 | 90 | #define CX23885_BOARD_MYGICA_X8507 33 |
| 91 | #define CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL 34 | 91 | #define CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL 34 |
| 92 | #define CX23885_BOARD_TEVII_S471 35 | 92 | #define CX23885_BOARD_TEVII_S471 35 |
| 93 | #define CX23885_BOARD_HAUPPAUGE_HVR1255_22111 36 | ||
| 93 | 94 | ||
| 94 | #define GPIO_0 0x00000001 | 95 | #define GPIO_0 0x00000001 |
| 95 | #define GPIO_1 0x00000002 | 96 | #define GPIO_1 0x00000002 |
