diff options
Diffstat (limited to 'drivers/media/video/cx23885/cx23885-cards.c')
-rw-r--r-- | drivers/media/video/cx23885/cx23885-cards.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c index d40232cda462..e11fa10a13a6 100644 --- a/drivers/media/video/cx23885/cx23885-cards.c +++ b/drivers/media/video/cx23885/cx23885-cards.c | |||
@@ -117,7 +117,10 @@ struct cx23885_board cx23885_boards[] = { | |||
117 | .name = "Hauppauge WinTV-HVR1500Q", | 117 | .name = "Hauppauge WinTV-HVR1500Q", |
118 | .portc = CX23885_MPEG_DVB, | 118 | .portc = CX23885_MPEG_DVB, |
119 | }, | 119 | }, |
120 | 120 | [CX23885_BOARD_HAUPPAUGE_HVR1500] = { | |
121 | .name = "Hauppauge WinTV-HVR1500", | ||
122 | .portc = CX23885_MPEG_DVB, | ||
123 | }, | ||
121 | }; | 124 | }; |
122 | const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards); | 125 | const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards); |
123 | 126 | ||
@@ -153,6 +156,10 @@ struct cx23885_subid cx23885_subids[] = { | |||
153 | .subvendor = 0x0070, | 156 | .subvendor = 0x0070, |
154 | .subdevice = 0x7797, | 157 | .subdevice = 0x7797, |
155 | .card = CX23885_BOARD_HAUPPAUGE_HVR1500Q, | 158 | .card = CX23885_BOARD_HAUPPAUGE_HVR1500Q, |
159 | },{ | ||
160 | .subvendor = 0x0070, | ||
161 | .subdevice = 0x7717, | ||
162 | .card = CX23885_BOARD_HAUPPAUGE_HVR1500, | ||
156 | }, | 163 | }, |
157 | }; | 164 | }; |
158 | const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids); | 165 | const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids); |
@@ -214,6 +221,18 @@ void cx23885_gpio_setup(struct cx23885_dev *dev) | |||
214 | /* GPIO-0 cx24227 demodulator reset */ | 221 | /* GPIO-0 cx24227 demodulator reset */ |
215 | cx_set(GP0_IO, 0x00010001); /* Bring the part out of reset */ | 222 | cx_set(GP0_IO, 0x00010001); /* Bring the part out of reset */ |
216 | break; | 223 | break; |
224 | case CX23885_BOARD_HAUPPAUGE_HVR1500: | ||
225 | /* GPIO-0 cx24227 demodulator */ | ||
226 | /* GPIO-2 xc3028 tuner */ | ||
227 | |||
228 | /* Put the parts into reset */ | ||
229 | cx_set(GP0_IO, 0x00050000); | ||
230 | cx_clear(GP0_IO, 0x00000005); | ||
231 | msleep(5); | ||
232 | |||
233 | /* Bring the parts out of reset */ | ||
234 | cx_set(GP0_IO, 0x00050005); | ||
235 | break; | ||
217 | case CX23885_BOARD_HAUPPAUGE_HVR1500Q: | 236 | case CX23885_BOARD_HAUPPAUGE_HVR1500Q: |
218 | /* GPIO-0 cx24227 demodulator reset */ | 237 | /* GPIO-0 cx24227 demodulator reset */ |
219 | /* GPIO-2 xc5000 tuner reset */ | 238 | /* GPIO-2 xc5000 tuner reset */ |
@@ -236,6 +255,7 @@ int cx23885_ir_init(struct cx23885_dev *dev) | |||
236 | { | 255 | { |
237 | switch (dev->board) { | 256 | switch (dev->board) { |
238 | case CX23885_BOARD_HAUPPAUGE_HVR1250: | 257 | case CX23885_BOARD_HAUPPAUGE_HVR1250: |
258 | case CX23885_BOARD_HAUPPAUGE_HVR1500: | ||
239 | case CX23885_BOARD_HAUPPAUGE_HVR1500Q: | 259 | case CX23885_BOARD_HAUPPAUGE_HVR1500Q: |
240 | case CX23885_BOARD_HAUPPAUGE_HVR1800: | 260 | case CX23885_BOARD_HAUPPAUGE_HVR1800: |
241 | /* FIXME: Implement me */ | 261 | /* FIXME: Implement me */ |
@@ -260,6 +280,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
260 | 280 | ||
261 | switch (dev->board) { | 281 | switch (dev->board) { |
262 | case CX23885_BOARD_HAUPPAUGE_HVR1250: | 282 | case CX23885_BOARD_HAUPPAUGE_HVR1250: |
283 | case CX23885_BOARD_HAUPPAUGE_HVR1500: | ||
263 | case CX23885_BOARD_HAUPPAUGE_HVR1500Q: | 284 | case CX23885_BOARD_HAUPPAUGE_HVR1500Q: |
264 | case CX23885_BOARD_HAUPPAUGE_HVR1800: | 285 | case CX23885_BOARD_HAUPPAUGE_HVR1800: |
265 | case CX23885_BOARD_HAUPPAUGE_HVR1800lp: | 286 | case CX23885_BOARD_HAUPPAUGE_HVR1800lp: |
@@ -275,6 +296,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
275 | ts1->src_sel_val = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO; | 296 | ts1->src_sel_val = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO; |
276 | break; | 297 | break; |
277 | case CX23885_BOARD_HAUPPAUGE_HVR1250: | 298 | case CX23885_BOARD_HAUPPAUGE_HVR1250: |
299 | case CX23885_BOARD_HAUPPAUGE_HVR1500: | ||
278 | case CX23885_BOARD_HAUPPAUGE_HVR1500Q: | 300 | case CX23885_BOARD_HAUPPAUGE_HVR1500Q: |
279 | case CX23885_BOARD_HAUPPAUGE_HVR1800: | 301 | case CX23885_BOARD_HAUPPAUGE_HVR1800: |
280 | case CX23885_BOARD_HAUPPAUGE_HVR1800lp: | 302 | case CX23885_BOARD_HAUPPAUGE_HVR1800lp: |