diff options
author | Steven Toth <stoth@hauppauge.com> | 2008-04-19 00:14:19 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:09:44 -0400 |
commit | b3ea01668907bdb32b0c690d28f9f2b1298bd258 (patch) | |
tree | 5c2aeb1648e05c243b2a361782d45298df3a30e3 /drivers/media/video/cx23885/cx23885-cards.c | |
parent | 7bbb1ce4f3e517666ad27f3307d49bb2da69ffec (diff) |
V4L/DVB (7645): Add support for the Hauppauge HVR-1200
This adds support for DVB-T mode only, analog mode is not supported.
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/cx23885/cx23885-cards.c')
-rw-r--r-- | drivers/media/video/cx23885/cx23885-cards.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c index 77cd452e6e5b..8cb32f307a5d 100644 --- a/drivers/media/video/cx23885/cx23885-cards.c +++ b/drivers/media/video/cx23885/cx23885-cards.c | |||
@@ -130,6 +130,10 @@ struct cx23885_board cx23885_boards[] = { | |||
130 | .name = "Hauppauge WinTV-HVR1500", | 130 | .name = "Hauppauge WinTV-HVR1500", |
131 | .portc = CX23885_MPEG_DVB, | 131 | .portc = CX23885_MPEG_DVB, |
132 | }, | 132 | }, |
133 | [CX23885_BOARD_HAUPPAUGE_HVR1200] = { | ||
134 | .name = "Hauppauge WinTV-HVR1200", | ||
135 | .portc = CX23885_MPEG_DVB, | ||
136 | }, | ||
133 | }; | 137 | }; |
134 | const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards); | 138 | const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards); |
135 | 139 | ||
@@ -181,6 +185,10 @@ struct cx23885_subid cx23885_subids[] = { | |||
181 | .subvendor = 0x0070, | 185 | .subvendor = 0x0070, |
182 | .subdevice = 0x7717, | 186 | .subdevice = 0x7717, |
183 | .card = CX23885_BOARD_HAUPPAUGE_HVR1500, | 187 | .card = CX23885_BOARD_HAUPPAUGE_HVR1500, |
188 | }, { | ||
189 | .subvendor = 0x0070, | ||
190 | .subdevice = 0x71d1, | ||
191 | .card = CX23885_BOARD_HAUPPAUGE_HVR1200, | ||
184 | }, | 192 | }, |
185 | }; | 193 | }; |
186 | const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids); | 194 | const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids); |
@@ -314,6 +322,17 @@ void cx23885_gpio_setup(struct cx23885_dev *dev) | |||
314 | cx_set(GP0_IO, 0x00040004); | 322 | cx_set(GP0_IO, 0x00040004); |
315 | mdelay(20); | 323 | mdelay(20); |
316 | break; | 324 | break; |
325 | case CX23885_BOARD_HAUPPAUGE_HVR1200: | ||
326 | /* GPIO-0 tda10048 demodulator reset */ | ||
327 | /* GPIO-2 tda18271 tuner reset */ | ||
328 | |||
329 | /* Put the parts into reset and back */ | ||
330 | cx_set(GP0_IO, 0x00050000); | ||
331 | mdelay(20); | ||
332 | cx_clear(GP0_IO, 0x00000005); | ||
333 | mdelay(20); | ||
334 | cx_set(GP0_IO, 0x00050005); | ||
335 | break; | ||
317 | } | 336 | } |
318 | } | 337 | } |
319 | 338 | ||
@@ -324,6 +343,7 @@ int cx23885_ir_init(struct cx23885_dev *dev) | |||
324 | case CX23885_BOARD_HAUPPAUGE_HVR1500: | 343 | case CX23885_BOARD_HAUPPAUGE_HVR1500: |
325 | case CX23885_BOARD_HAUPPAUGE_HVR1500Q: | 344 | case CX23885_BOARD_HAUPPAUGE_HVR1500Q: |
326 | case CX23885_BOARD_HAUPPAUGE_HVR1800: | 345 | case CX23885_BOARD_HAUPPAUGE_HVR1800: |
346 | case CX23885_BOARD_HAUPPAUGE_HVR1200: | ||
327 | /* FIXME: Implement me */ | 347 | /* FIXME: Implement me */ |
328 | break; | 348 | break; |
329 | } | 349 | } |
@@ -353,6 +373,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
353 | break; | 373 | break; |
354 | case CX23885_BOARD_HAUPPAUGE_HVR1800: | 374 | case CX23885_BOARD_HAUPPAUGE_HVR1800: |
355 | case CX23885_BOARD_HAUPPAUGE_HVR1800lp: | 375 | case CX23885_BOARD_HAUPPAUGE_HVR1800lp: |
376 | case CX23885_BOARD_HAUPPAUGE_HVR1200: | ||
356 | if (dev->i2c_bus[0].i2c_rc == 0) | 377 | if (dev->i2c_bus[0].i2c_rc == 0) |
357 | hauppauge_eeprom(dev, eeprom+0xc0); | 378 | hauppauge_eeprom(dev, eeprom+0xc0); |
358 | break; | 379 | break; |
@@ -369,6 +390,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
369 | case CX23885_BOARD_HAUPPAUGE_HVR1500Q: | 390 | case CX23885_BOARD_HAUPPAUGE_HVR1500Q: |
370 | case CX23885_BOARD_HAUPPAUGE_HVR1800: | 391 | case CX23885_BOARD_HAUPPAUGE_HVR1800: |
371 | case CX23885_BOARD_HAUPPAUGE_HVR1800lp: | 392 | case CX23885_BOARD_HAUPPAUGE_HVR1800lp: |
393 | case CX23885_BOARD_HAUPPAUGE_HVR1200: | ||
372 | default: | 394 | default: |
373 | ts2->gen_ctrl_val = 0xc; /* Serial bus + punctured clock */ | 395 | ts2->gen_ctrl_val = 0xc; /* Serial bus + punctured clock */ |
374 | ts2->ts_clk_en_val = 0x1; /* Enable TS_CLK */ | 396 | ts2->ts_clk_en_val = 0x1; /* Enable TS_CLK */ |