diff options
author | Vadim Catana <skystar@moldova.cc> | 2006-01-09 15:25:02 -0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@brturbo.com.br> | 2006-01-09 15:25:02 -0200 |
commit | 0e0351e3709023dbd015d09880b04f0aa8818fcb (patch) | |
tree | 204b97290bd663cf36171e4139c2ad470c7c6b41 /drivers/media/video/cx88/cx88-dvb.c | |
parent | fb56cb65e4b737c93727ea296050e8d24eb7cb42 (diff) | |
download | kernel-crypto-0e0351e3709023dbd015d09880b04f0aa8818fcb.tar.gz kernel-crypto-0e0351e3709023dbd015d09880b04f0aa8818fcb.tar.xz kernel-crypto-0e0351e3709023dbd015d09880b04f0aa8818fcb.zip |
V4L (1007): Add support for KWorld DVB-S 100
- Add support for KWorld DVB-S 100, based on the same chips as Hauppauge
Nova-S Plus (CX23883/CX24123/CX24109), without the Intersil ISL6421,
which is used for LNB control.
- LNB voltage and tone are controled by LNBDC and LNBTone bits from
register 0x29 of the CX24123 demodulator.
- The MO_GP0_IO register from CX23883 is used to turn LNB power on and off.
Signed-off-by: Vadim Catana <skystar@moldova.cc>
Acked-by: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Diffstat (limited to 'drivers/media/video/cx88/cx88-dvb.c')
-rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c index 21972572a94..054094e48fc 100644 --- a/drivers/media/video/cx88/cx88-dvb.c +++ b/drivers/media/video/cx88/cx88-dvb.c @@ -326,9 +326,28 @@ static int cx24123_set_ts_param(struct dvb_frontend* fe, return 0; } +static void cx24123_enable_lnb_voltage(struct dvb_frontend* fe, int on) +{ + struct cx8802_dev *dev= fe->dvb->priv; + struct cx88_core *core = dev->core; + + if (on) + cx_write(MO_GP0_IO, 0x000006f9); + else + cx_write(MO_GP0_IO, 0x000006fB); +} + static struct cx24123_config hauppauge_novas_config = { - .demod_address = 0x55, - .set_ts_params = cx24123_set_ts_param, + .demod_address = 0x55, + .use_isl6421 = 1, + .set_ts_params = cx24123_set_ts_param, +}; + +static struct cx24123_config kworld_dvbs_100_config = { + .demod_address = 0x15, + .use_isl6421 = 0, + .set_ts_params = cx24123_set_ts_param, + .enable_lnb_voltage = cx24123_enable_lnb_voltage, }; #endif @@ -445,6 +464,10 @@ static int dvb_register(struct cx8802_dev *dev) dev->dvb.frontend = cx24123_attach(&hauppauge_novas_config, &dev->core->i2c_adap); break; + case CX88_BOARD_KWORLD_DVBS_100: + dev->dvb.frontend = cx24123_attach(&kworld_dvbs_100_config, + &dev->core->i2c_adap); + break; #endif default: printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n", |