• Trent Piepho's avatar
    V4L/DVB (5636): Integrate all users of the fmd1216 tuner with dvb-pll · b7754d74
    Trent Piepho authored
    Enhance the dvb-pll definition of the fmd1216 tuner by adding an init sequence
    and a sleep sequence.
    
    The init sequence sets the AGC control register to 0xa0, selecting the fast
    time constant and 112 dBuV take-over point.  This the recommended value for
    DVB-T operation.
    
    The sleep sequence sets bit P4 (which is believed to turn the analog
    demodulator on), turns off the tuning voltage, and sets the AGC control
    register to 0x60 (external AGC voltage, the recommended value for analog
    operation).
    
    The existing dvb-pll users in the cx88 driver, listed below, will gain these
    init and sleep sequences.
    
    CX88_BOARD_HAUPPAUGE_HVR1100    Hauppauge WinTV-HVR1100 DVB-T/Hybrid
    CX88_BOARD_HAUPPAUGE_HVR1100LP  Hauppauge WinTV-HVR1100 DVB-T/Hybrid (Low Profi
    CX88_BOARD_WINFAST_DTV2000H     WinFast DTV2000 H
    CX88_BOARD_HAUPPAUGE_HVR3000    Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DV
    CX88_BOARD_HAUPPAUGE_HVR1300    Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encod
    
    This non-dvb-pll user in the cx88 driver should only gain the sleep sequence,
    as it already had an equivalent init sequence.  The non-dvb-pll code for this
    user is removed.
    
    X88_BOARD_DNTV_LIVE_DVB_T_PRO   digitalnow DNTV Live! DVB-T Pro
    
    In these saa7134 driver, these non-dvb-pll users are converted to use dvb-pll:
    
    SAA7134_BOARD_MD7134                    Medion 7134
    SAA7134_BOARD_ASUS_EUROPA2_HYBRID       Asus Europa2 OEM
    
    The saa7134 functions philips_fmd1216_tuner_init(),
    philips_fmd1216_tuner_sleep(), and philips_fmd1216_tuner_set_params() are
    deleted and the dvb-pll versions are used.
    
    This should result in equivalent sleep, init, and tuning sequences being sent
    to the tuner.
    
    For the cxusb driver, only one board is effected:
    
    USB_PID_MEDION_MD95700          	Medion MD95700
    
    This board used dvb_usb_tuner_init_i2c() and dvb_usb_tuner_set_params_i2c()
    for init and tuning, respectively.  These functions are effectively the same
    as the dvb-pll versions.  They call a tuner pass control function defined at
    the dvb-usb level, but this does not matter, as this card does not have a
    tuner pass control function (only the dib3000mb does).  This board will gain
    the sleep sequence, while init and tuning should be unchanged.
    Signed-off-by: default avatarTrent Piepho <xyzzy@speakeasy.org>
    Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
    b7754d74
cx88-dvb.c 21.9 KB