2010-08-29 01:07:37 +04:00
/**
* Driver for Sharp IX2505V ( marked B0017 ) DVB - S silicon tuner
*
* Copyright ( C ) 2010 Malcolm Priestley
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License Version 2 , as
* published by the Free Software Foundation .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 675 Mass Ave , Cambridge , MA 0213 9 , USA .
*/
# ifndef DVB_IX2505V_H
# define DVB_IX2505V_H
# include <linux/i2c.h>
# include "dvb_frontend.h"
/**
* Attach a ix2505v tuner to the supplied frontend structure .
*
* @ param fe Frontend to attach to .
* @ param config ix2505v_config structure
* @ return FE pointer on success , NULL on failure .
*/
struct ix2505v_config {
u8 tuner_address ;
/*Baseband AMP gain control 0/1=0dB(default) 2=-2bB 3=-4dB */
u8 tuner_gain ;
/*Charge pump output +/- 0=120 1=260 2=555 3=1200(default) */
u8 tuner_chargepump ;
/* delay after tune */
int min_delay_ms ;
/* disables reads*/
u8 tuner_write_only ;
} ;
2015-02-18 20:12:42 +03:00
# if IS_REACHABLE(CONFIG_DVB_IX2505V)
2010-08-29 01:07:37 +04:00
extern struct dvb_frontend * ix2505v_attach ( struct dvb_frontend * fe ,
const struct ix2505v_config * config , struct i2c_adapter * i2c ) ;
# else
static inline struct dvb_frontend * ix2505v_attach ( struct dvb_frontend * fe ,
const struct ix2505v_config * config , struct i2c_adapter * i2c )
{
printk ( KERN_WARNING " %s: driver disabled by Kconfig \n " , __func__ ) ;
return NULL ;
}
# endif
# endif /* DVB_IX2505V_H */