diff options
-rw-r--r-- | drivers/media/video/cx23885/cx23885-cards.c | 14 | ||||
-rw-r--r-- | drivers/media/video/cx23885/cx23885-dvb.c | 5 | ||||
-rw-r--r-- | drivers/media/video/cx23885/cx23885-video.c | 8 |
3 files changed, 25 insertions, 2 deletions
diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c index a2ba09e0aef0..2cbac93866be 100644 --- a/drivers/media/video/cx23885/cx23885-cards.c +++ b/drivers/media/video/cx23885/cx23885-cards.c | |||
@@ -200,11 +200,16 @@ struct cx23885_board cx23885_boards[] = { | |||
200 | }, | 200 | }, |
201 | [CX23885_BOARD_MYGICA_X8506] = { | 201 | [CX23885_BOARD_MYGICA_X8506] = { |
202 | .name = "Mygica X8506 DMB-TH", | 202 | .name = "Mygica X8506 DMB-TH", |
203 | .tuner_type = TUNER_ABSENT, | 203 | .tuner_type = TUNER_XC5000, |
204 | .tuner_addr = 0x61, | ||
204 | .porta = CX23885_ANALOG_VIDEO, | 205 | .porta = CX23885_ANALOG_VIDEO, |
205 | .portb = CX23885_MPEG_DVB, | 206 | .portb = CX23885_MPEG_DVB, |
206 | .input = { | 207 | .input = { |
207 | { | 208 | { |
209 | .type = CX23885_VMUX_TELEVISION, | ||
210 | .vmux = CX25840_COMPOSITE2, | ||
211 | }, | ||
212 | { | ||
208 | .type = CX23885_VMUX_COMPOSITE1, | 213 | .type = CX23885_VMUX_COMPOSITE1, |
209 | .vmux = CX25840_COMPOSITE8, | 214 | .vmux = CX25840_COMPOSITE8, |
210 | }, | 215 | }, |
@@ -224,11 +229,16 @@ struct cx23885_board cx23885_boards[] = { | |||
224 | }, | 229 | }, |
225 | [CX23885_BOARD_MAGICPRO_PROHDTVE2] = { | 230 | [CX23885_BOARD_MAGICPRO_PROHDTVE2] = { |
226 | .name = "Magic-Pro ProHDTV Extreme 2", | 231 | .name = "Magic-Pro ProHDTV Extreme 2", |
227 | .tuner_type = TUNER_ABSENT, | 232 | .tuner_type = TUNER_XC5000, |
233 | .tuner_addr = 0x61, | ||
228 | .porta = CX23885_ANALOG_VIDEO, | 234 | .porta = CX23885_ANALOG_VIDEO, |
229 | .portb = CX23885_MPEG_DVB, | 235 | .portb = CX23885_MPEG_DVB, |
230 | .input = { | 236 | .input = { |
231 | { | 237 | { |
238 | .type = CX23885_VMUX_TELEVISION, | ||
239 | .vmux = CX25840_COMPOSITE2, | ||
240 | }, | ||
241 | { | ||
232 | .type = CX23885_VMUX_COMPOSITE1, | 242 | .type = CX23885_VMUX_COMPOSITE1, |
233 | .vmux = CX25840_COMPOSITE8, | 243 | .vmux = CX25840_COMPOSITE8, |
234 | }, | 244 | }, |
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c index 875597640d74..4d439f2c4abc 100644 --- a/drivers/media/video/cx23885/cx23885-dvb.c +++ b/drivers/media/video/cx23885/cx23885-dvb.c | |||
@@ -486,6 +486,11 @@ static int cx23885_dvb_set_frontend(struct dvb_frontend *fe, | |||
486 | break; | 486 | break; |
487 | } | 487 | } |
488 | break; | 488 | break; |
489 | case CX23885_BOARD_MYGICA_X8506: | ||
490 | case CX23885_BOARD_MAGICPRO_PROHDTVE2: | ||
491 | /* Select Digital TV */ | ||
492 | cx23885_gpio_set(dev, GPIO_0); | ||
493 | break; | ||
489 | } | 494 | } |
490 | return 0; | 495 | return 0; |
491 | } | 496 | } |
diff --git a/drivers/media/video/cx23885/cx23885-video.c b/drivers/media/video/cx23885/cx23885-video.c index e14cb39d8412..8b372b4f0de2 100644 --- a/drivers/media/video/cx23885/cx23885-video.c +++ b/drivers/media/video/cx23885/cx23885-video.c | |||
@@ -402,6 +402,13 @@ static int cx23885_video_mux(struct cx23885_dev *dev, unsigned int input) | |||
402 | INPUT(input)->gpio2, INPUT(input)->gpio3); | 402 | INPUT(input)->gpio2, INPUT(input)->gpio3); |
403 | dev->input = input; | 403 | dev->input = input; |
404 | 404 | ||
405 | if (dev->board == CX23885_BOARD_MYGICA_X8506 || | ||
406 | dev->board == CX23885_BOARD_MAGICPRO_PROHDTVE2) { | ||
407 | /* Select Analog TV */ | ||
408 | if (INPUT(input)->type == CX23885_VMUX_TELEVISION) | ||
409 | cx23885_gpio_clear(dev, GPIO_0); | ||
410 | } | ||
411 | |||
405 | /* Tell the internal A/V decoder */ | 412 | /* Tell the internal A/V decoder */ |
406 | v4l2_subdev_call(dev->sd_cx25840, video, s_routing, | 413 | v4l2_subdev_call(dev->sd_cx25840, video, s_routing, |
407 | INPUT(input)->vmux, 0, 0); | 414 | INPUT(input)->vmux, 0, 0); |
@@ -1508,6 +1515,7 @@ int cx23885_video_register(struct cx23885_dev *dev) | |||
1508 | tun_setup.mode_mask = T_ANALOG_TV; | 1515 | tun_setup.mode_mask = T_ANALOG_TV; |
1509 | tun_setup.type = dev->tuner_type; | 1516 | tun_setup.type = dev->tuner_type; |
1510 | tun_setup.addr = v4l2_i2c_subdev_addr(sd); | 1517 | tun_setup.addr = v4l2_i2c_subdev_addr(sd); |
1518 | tun_setup.tuner_callback = cx23885_tuner_callback; | ||
1511 | 1519 | ||
1512 | v4l2_subdev_call(sd, tuner, s_type_addr, &tun_setup); | 1520 | v4l2_subdev_call(sd, tuner, s_type_addr, &tun_setup); |
1513 | } | 1521 | } |