diff options
author | Antti Palosaari <crope@iki.fi> | 2012-03-18 17:09:01 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-03-19 21:22:53 -0400 |
commit | 3553085cb47b10762e77ca783683dbf8142f9762 (patch) | |
tree | 32b28149686ee7316fc146694bb90d50e36c9674 /drivers/media/video/em28xx/em28xx-dvb.c | |
parent | 67de3311a0de1366cda1504b9a0a87dec885243a (diff) |
[media] em28xx: support for 1b80:e425 MaxMedia UB425-TC
Hardware is based of:
Empia EM2874B
Micronas DRX 3913KA2
NXP TDA18271HDC2
Only DVB-C supported currently since missing firmware.
According to my tests, DRX 3913KA2 demodulator requires firmware
in order to support DVB-T mode.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-dvb.c')
-rw-r--r-- | drivers/media/video/em28xx/em28xx-dvb.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-dvb.c b/drivers/media/video/em28xx/em28xx-dvb.c index fbd90104323d..0b3e301adde9 100644 --- a/drivers/media/video/em28xx/em28xx-dvb.c +++ b/drivers/media/video/em28xx/em28xx-dvb.c | |||
@@ -325,6 +325,12 @@ struct drxk_config hauppauge_930c_drxk = { | |||
325 | .chunk_size = 56, | 325 | .chunk_size = 56, |
326 | }; | 326 | }; |
327 | 327 | ||
328 | struct drxk_config maxmedia_ub425_tc_drxk = { | ||
329 | .adr = 0x29, | ||
330 | .single_master = 1, | ||
331 | .no_i2c_bridge = 1, | ||
332 | }; | ||
333 | |||
328 | static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable) | 334 | static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable) |
329 | { | 335 | { |
330 | struct em28xx_dvb *dvb = fe->sec_priv; | 336 | struct em28xx_dvb *dvb = fe->sec_priv; |
@@ -936,6 +942,29 @@ static int em28xx_dvb_init(struct em28xx *dev) | |||
936 | dvb_attach(a8293_attach, dvb->fe[0], &dev->i2c_adap, | 942 | dvb_attach(a8293_attach, dvb->fe[0], &dev->i2c_adap, |
937 | &em28xx_a8293_config); | 943 | &em28xx_a8293_config); |
938 | break; | 944 | break; |
945 | case EM2874_BOARD_MAXMEDIA_UB425_TC: | ||
946 | /* attach demodulator */ | ||
947 | dvb->fe[0] = dvb_attach(drxk_attach, &maxmedia_ub425_tc_drxk, | ||
948 | &dev->i2c_adap); | ||
949 | |||
950 | if (dvb->fe[0]) { | ||
951 | /* disable I2C-gate */ | ||
952 | dvb->fe[0]->ops.i2c_gate_ctrl = NULL; | ||
953 | |||
954 | /* attach tuner */ | ||
955 | if (!dvb_attach(tda18271c2dd_attach, dvb->fe[0], | ||
956 | &dev->i2c_adap, 0x60)) { | ||
957 | dvb_frontend_detach(dvb->fe[0]); | ||
958 | result = -EINVAL; | ||
959 | goto out_free; | ||
960 | } | ||
961 | } | ||
962 | |||
963 | /* TODO: we need drx-3913k firmware in order to support DVB-T */ | ||
964 | em28xx_info("MaxMedia UB425-TC: only DVB-C supported by that " \ | ||
965 | "driver version\n"); | ||
966 | |||
967 | break; | ||
939 | default: | 968 | default: |
940 | em28xx_errdev("/2: The frontend of your DVB/ATSC card" | 969 | em28xx_errdev("/2: The frontend of your DVB/ATSC card" |
941 | " isn't supported yet\n"); | 970 | " isn't supported yet\n"); |