aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Thomas <ethomas@claranet.fr>2006-08-08 08:10:04 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-09-26 10:53:15 -0400
commitad10c930e8857585cc316e96c15f02b42020bac6 (patch)
tree58432135a77cf51b1f73fe0611b6a1904e520d1c
parent2ab652993623954c7bfdadeba311d15a3e1494c0 (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.cx881
-rw-r--r--drivers/media/video/cx88/cx88-cards.c28
-rw-r--r--drivers/media/video/cx88/cx88.h1
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};
1213const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards); 1235const 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};
1463const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids); 1489const 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
201enum cx88_itype { 202enum cx88_itype {
202 CX88_VMUX_COMPOSITE1 = 1, 203 CX88_VMUX_COMPOSITE1 = 1,