2005-07-07 17:58:29 -07:00
/*
2005-08-08 09:22:43 -07:00
* Support for LGDT3302 and LGDT3303 - VSB / QAM
2005-07-07 17:58:29 -07: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 .
*
* 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 .
*
*/
2005-07-27 11:46:00 -07:00
# ifndef LGDT330X_H
# define LGDT330X_H
2005-07-07 17:58:29 -07:00
# include <linux/dvb/frontend.h>
2005-08-08 09:22:43 -07:00
typedef enum lg_chip_t {
UNDEFINED ,
LGDT3302 ,
LGDT3303
} lg_chip_type ;
2005-07-27 11:46:00 -07:00
struct lgdt330x_config
2005-07-07 17:58:29 -07:00
{
/* The demodulator's i2c address */
u8 demod_address ;
2005-07-27 11:45:54 -07:00
2005-08-08 09:22:43 -07: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 11:45:54 -07:00
/* PLL interface */
2005-07-27 11:45:55 -07:00
int ( * pll_rf_set ) ( struct dvb_frontend * fe , int index ) ;
2005-07-07 17:58:29 -07:00
/* Need to set device param for start_dma */
int ( * set_ts_params ) ( struct dvb_frontend * fe , int is_punctured ) ;
2005-11-08 21:35:32 -08: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-07 17:58:29 -07:00
} ;
2006-10-14 15:44:44 -03:00
# if defined(CONFIG_DVB_LGDT330X) || (defined(CONFIG_DVB_LGDT330X_MODULE) && defined(MODULE))
2005-07-27 11:46:00 -07:00
extern struct dvb_frontend * lgdt330x_attach ( const struct lgdt330x_config * config ,
2005-07-07 17:58:29 -07:00
struct i2c_adapter * i2c ) ;
2006-08-08 09:10:08 -03:00
# else
static inline struct dvb_frontend * lgdt330x_attach ( const struct lgdt330x_config * config ,
struct i2c_adapter * i2c )
{
2008-04-08 23:20:00 -03:00
printk ( KERN_WARNING " %s: driver disabled by Kconfig \n " , __func__ ) ;
2006-08-08 09:10:08 -03:00
return NULL ;
}
# endif // CONFIG_DVB_LGDT330X
2005-07-07 17:58:29 -07:00
2005-07-27 11:46:00 -07:00
# endif /* LGDT330X_H */
2005-07-07 17:58:29 -07:00
/*
* Local variables :
* c - basic - offset : 8
* End :
*/