diff options
author | Eric Thomas <ethomas@claranet.fr> | 2006-08-08 08:10:04 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-09-26 10:53:15 -0400 |
commit | ad10c930e8857585cc316e96c15f02b42020bac6 (patch) | |
tree | 58432135a77cf51b1f73fe0611b6a1904e520d1c | |
parent | 2ab652993623954c7bfdadeba311d15a3e1494c0 (diff) |
V4L/DVB (4359): Cx88: add initial support for Hauppauge HVR3000 trimode card
add initial support for Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DVB-T
only analog is working for now
Signed-off-by: Eric Thomas <ethomas@claranet.fr>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | Documentation/video4linux/CARDLIST.cx88 | 1 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-cards.c | 28 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88.h | 1 |
3 files changed, 30 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.cx88 b/Documentation/video4linux/CARDLIST.cx88 index 00d9a1f2a54c..d9756d6111ab 100644 --- a/Documentation/video4linux/CARDLIST.cx88 +++ b/Documentation/video4linux/CARDLIST.cx88 | |||
@@ -51,3 +51,4 @@ | |||
51 | 50 -> NPG Tech Real TV FM Top 10 [14f1:0842] | 51 | 50 -> NPG Tech Real TV FM Top 10 [14f1:0842] |
52 | 51 -> WinFast DTV2000 H [107d:665e] | 52 | 51 -> WinFast DTV2000 H [107d:665e] |
53 | 52 -> Geniatech DVB-S [14f1:0084] | 53 | 52 -> Geniatech DVB-S [14f1:0084] |
54 | 53 -> Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DVB-T [0070:1404] | ||
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c index 14bd4863d157..48a1f8aee679 100644 --- a/drivers/media/video/cx88/cx88-cards.c +++ b/drivers/media/video/cx88/cx88-cards.c | |||
@@ -1209,6 +1209,28 @@ struct cx88_board cx88_boards[] = { | |||
1209 | }}, | 1209 | }}, |
1210 | .dvb = 1, | 1210 | .dvb = 1, |
1211 | }, | 1211 | }, |
1212 | [CX88_BOARD_HAUPPAUGE_HVR3000] = { | ||
1213 | /* FIXME: Add dvb & radio support */ | ||
1214 | .name = "Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DVB-T", | ||
1215 | .tuner_type = TUNER_PHILIPS_FMD1216ME_MK3, | ||
1216 | .radio_type = UNSET, | ||
1217 | .tuner_addr = ADDR_UNSET, | ||
1218 | .radio_addr = ADDR_UNSET, | ||
1219 | .tda9887_conf = TDA9887_PRESENT, | ||
1220 | .input = {{ | ||
1221 | .type = CX88_VMUX_TELEVISION, | ||
1222 | .vmux = 0, | ||
1223 | .gpio0 = 0x84bf, | ||
1224 | },{ | ||
1225 | .type = CX88_VMUX_COMPOSITE1, | ||
1226 | .vmux = 1, | ||
1227 | .gpio0 = 0x84bf, | ||
1228 | },{ | ||
1229 | .type = CX88_VMUX_SVIDEO, | ||
1230 | .vmux = 2, | ||
1231 | .gpio0 = 0x84bf, | ||
1232 | }}, | ||
1233 | }, | ||
1212 | }; | 1234 | }; |
1213 | const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards); | 1235 | const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards); |
1214 | 1236 | ||
@@ -1458,6 +1480,10 @@ struct cx88_subid cx88_subids[] = { | |||
1458 | .subvendor = 0x14f1, | 1480 | .subvendor = 0x14f1, |
1459 | .subdevice = 0x0084, | 1481 | .subdevice = 0x0084, |
1460 | .card = CX88_BOARD_GENIATECH_DVBS, | 1482 | .card = CX88_BOARD_GENIATECH_DVBS, |
1483 | },{ | ||
1484 | .subvendor = 0x0070, | ||
1485 | .subdevice = 0x1404, | ||
1486 | .card = CX88_BOARD_HAUPPAUGE_HVR3000, | ||
1461 | }, | 1487 | }, |
1462 | }; | 1488 | }; |
1463 | const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids); | 1489 | const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids); |
@@ -1501,6 +1527,7 @@ static void hauppauge_eeprom(struct cx88_core *core, u8 *eeprom_data) | |||
1501 | /* Make sure we support the board model */ | 1527 | /* Make sure we support the board model */ |
1502 | switch (tv.model) | 1528 | switch (tv.model) |
1503 | { | 1529 | { |
1530 | case 14569: /* WinTV-HVR3000 (OEM, no IR, no back panel video) */ | ||
1504 | case 28552: /* WinTV-PVR 'Roslyn' (No IR) */ | 1531 | case 28552: /* WinTV-PVR 'Roslyn' (No IR) */ |
1505 | case 34519: /* WinTV-PCI-FM */ | 1532 | case 34519: /* WinTV-PCI-FM */ |
1506 | case 90002: /* Nova-T-PCI (9002) */ | 1533 | case 90002: /* Nova-T-PCI (9002) */ |
@@ -1666,6 +1693,7 @@ void cx88_card_setup(struct cx88_core *core) | |||
1666 | case CX88_BOARD_HAUPPAUGE_DVB_T1: | 1693 | case CX88_BOARD_HAUPPAUGE_DVB_T1: |
1667 | case CX88_BOARD_HAUPPAUGE_HVR1100: | 1694 | case CX88_BOARD_HAUPPAUGE_HVR1100: |
1668 | case CX88_BOARD_HAUPPAUGE_HVR1100LP: | 1695 | case CX88_BOARD_HAUPPAUGE_HVR1100LP: |
1696 | case CX88_BOARD_HAUPPAUGE_HVR3000: | ||
1669 | if (0 == core->i2c_rc) | 1697 | if (0 == core->i2c_rc) |
1670 | hauppauge_eeprom(core,eeprom); | 1698 | hauppauge_eeprom(core,eeprom); |
1671 | break; | 1699 | break; |
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h index e7810955dd4f..ce441e27f214 100644 --- a/drivers/media/video/cx88/cx88.h +++ b/drivers/media/video/cx88/cx88.h | |||
@@ -197,6 +197,7 @@ extern struct sram_channel cx88_sram_channels[]; | |||
197 | #define CX88_BOARD_NPGTECH_REALTV_TOP10FM 50 | 197 | #define CX88_BOARD_NPGTECH_REALTV_TOP10FM 50 |
198 | #define CX88_BOARD_WINFAST_DTV2000H 51 | 198 | #define CX88_BOARD_WINFAST_DTV2000H 51 |
199 | #define CX88_BOARD_GENIATECH_DVBS 52 | 199 | #define CX88_BOARD_GENIATECH_DVBS 52 |
200 | #define CX88_BOARD_HAUPPAUGE_HVR3000 53 | ||
200 | 201 | ||
201 | enum cx88_itype { | 202 | enum cx88_itype { |
202 | CX88_VMUX_COMPOSITE1 = 1, | 203 | CX88_VMUX_COMPOSITE1 = 1, |