[linux-dvb] a700 support (was: [patch 5/5] mt312: add attach-time setting to invert lnb-voltage (Matthias Schwarzott))

Matthias Schwarzott zzam at gentoo.org
Sun Apr 27 05:40:29 CEST 2008


On Montag, 14. April 2008, Eduard Huguet wrote:
> > ---------- Missatge reenviat ----------
> > From: Matthias Schwarzott <zzam at gentoo.org>
> > To: linux-dvb at linuxtv.org
> > Date: Sat, 12 Apr 2008 17:04:50 +0200
> > Subject: [linux-dvb] [patch 5/5] mt312: add attach-time setting to invert
> > lnb-voltage
> > Add a setting to config struct for inversion of lnb-voltage.
> > Needed for support of Avermedia A700 cards.
> >
> > Signed-off-by: Matthias Schwarzott <zzam at gentoo.org>
> > Index: v4l-dvb/linux/drivers/media/dvb/frontends/mt312.c
> > ===================================================================
> > --- v4l-dvb.orig/linux/drivers/media/dvb/frontends/mt312.c
> > +++ v4l-dvb/linux/drivers/media/dvb/frontends/mt312.c
> > @@ -422,11 +422,16 @@ static int mt312_set_voltage(struct dvb_
> >   {
> >         struct mt312_state *state = fe->demodulator_priv;
> >         const u8 volt_tab[3] = { 0x00, 0x40, 0x00 };
> > +       u8 val;
> >
> >         if (v > SEC_VOLTAGE_OFF)
> >                 return -EINVAL;
> >
> > -       return mt312_writereg(state, DISEQC_MODE, volt_tab[v]);
> > +       val = volt_tab[v];
> > +       if (state->config->voltage_inverted)
> > +               val ^= 0x40;
> > +
> > +       return mt312_writereg(state, DISEQC_MODE, val);
> >   }
> >
> >   static int mt312_read_status(struct dvb_frontend *fe, fe_status_t *s)
> > Index: v4l-dvb/linux/drivers/media/dvb/frontends/mt312.h
> > ===================================================================
> > --- v4l-dvb.orig/linux/drivers/media/dvb/frontends/mt312.h
> > +++ v4l-dvb/linux/drivers/media/dvb/frontends/mt312.h
> > @@ -31,6 +31,9 @@
> >   struct mt312_config {
> >         /* the demodulator's i2c address */
> >         u8 demod_address;
> > +
> > +       /* inverted voltage setting */
> > +       int voltage_inverted:1;
> >   };
> >
> >   #if defined(CONFIG_DVB_MT312) || (defined(CONFIG_DVB_MT312_MODULE) &&
> > defined(MODULE))
> > --
>
> Thanks for the patches. ¿Is your lastest unified diff on your page
> (a700_full_20080412.diff) equivalent to these patches or must they be
> applied separately?
Another 2 weeks later. These patches already have been applied at hg level. So 
now the new remaining full patch (a700_full_20080427.diff) is to be applied 
on top.

It contains a zl10036 driver and the changes to the glue code in saa7134-dvb.
zl10036 works most of the time here, but I am not fully happy with its current 
design.

Open issues:
* Should set_params routine be kept spiltted as it is?
* Is bandwidth handling sane?
Now calc the needed bw by symbolrate and add 3MHz.
Datasheet suggests to start at max setting and decrease as possible after the 
lock is established (using freq. offset info from demod).
* The used gain values are found by try and error and do not work for all 
transponders here.
The most difficult transponder here was RTL - and that now works for me with 
exactly these gain settings (rfg=0, ba=1, bg=1).

>
> I'll try to some tests tonight, if you have made some progress. By the way,
> ¿could you tell me if it's better to use use_frontend=0 or 1 for
> saa7134-dvb module? I think that this changes the driver used for frontend,
> but I'm not sure.

use_frontend is intended to be used for choosing between dvb-s and dvb-t or 
similar if the frontend offers both exclusively. I abused this parameter to 
choose between the two driver for zl10313 demod. This is no longer used, so 
forget about this parameter.

Regards
Matthias
-------------- next part --------------
A non-text attachment was scrubbed...
Name: a700_full_20080427.diff
Type: text/x-diff
Size: 24153 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/linux-dvb/attachments/20080427/f6b0a6c1/attachment-0001.diff 


More information about the linux-dvb mailing list