2005-07-08 04:58:29 +04:00
/*
2005-08-08 20:22:43 +04:00
* Support for LGDT3302 and LGDT3303 - VSB / QAM
2005-07-08 04:58:29 +04:00
*
* Copyright ( C ) 2005 Wilson Michaels < wilsonmichaels @ earthlink . net >
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 2 of the License , or
* ( at your option ) any later version .
*
* 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 .
*
*/
2005-07-27 22:46:00 +04:00
# ifndef LGDT330X_H
# define LGDT330X_H
2005-07-08 04:58:29 +04:00
# include <linux/dvb/frontend.h>
2005-08-08 20:22:43 +04:00
typedef enum lg_chip_t {
UNDEFINED ,
LGDT3302 ,
LGDT3303
} lg_chip_type ;
2005-07-27 22:46:00 +04:00
struct lgdt330x_config
2005-07-08 04:58:29 +04:00
{
/* The demodulator's i2c address */
u8 demod_address ;
2005-07-27 22:45:54 +04:00
2005-08-08 20:22:43 +04:00
/* LG demodulator chip LGDT3302 or LGDT3303 */
lg_chip_type demod_chip ;
/* MPEG hardware interface - 0:parallel 1:serial */
int serial_mpeg ;
2005-07-27 22:45:54 +04:00
/* PLL interface */
2005-07-27 22:45:55 +04:00
int ( * pll_rf_set ) ( struct dvb_frontend * fe , int index ) ;
2005-07-08 04:58:29 +04:00
/* Need to set device param for start_dma */
int ( * set_ts_params ) ( struct dvb_frontend * fe , int is_punctured ) ;
2005-11-09 08:35:32 +03:00
/* Flip the polarity of the mpeg data transfer clock using alternate init data
* This option applies ONLY to LGDT3303 - 0 : disabled ( default ) 1 : enabled */
int clock_polarity_flip ;
2005-07-08 04:58:29 +04:00
} ;
2015-02-18 20:12:42 +03:00
# if IS_REACHABLE(CONFIG_DVB_LGDT330X)
2005-07-27 22:46:00 +04:00
extern struct dvb_frontend * lgdt330x_attach ( const struct lgdt330x_config * config ,
2005-07-08 04:58:29 +04:00
struct i2c_adapter * i2c ) ;
2006-08-08 16:10:08 +04:00
# else
static inline struct dvb_frontend * lgdt330x_attach ( const struct lgdt330x_config * config ,
struct i2c_adapter * i2c )
{
2008-04-09 06:20:00 +04:00
printk ( KERN_WARNING " %s: driver disabled by Kconfig \n " , __func__ ) ;
2006-08-08 16:10:08 +04:00
return NULL ;
}
# endif // CONFIG_DVB_LGDT330X
2005-07-08 04:58:29 +04:00
2005-07-27 22:46:00 +04:00
# endif /* LGDT330X_H */