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: |