2019-05-27 08:55:06 +02:00
/* SPDX-License-Identifier: GPL-2.0-or-later */
2009-03-03 11:35:25 -03:00
/*
* stv0900 . h
*
* Driver for ST STV0900 satellite demodulator IC .
*
* Copyright ( C ) ST Microelectronics .
* Copyright ( C ) 2009 NetUP Inc .
* Copyright ( C ) 2009 Igor M . Liplianin < liplianin @ netup . ru >
*/
# ifndef STV0900_H
# define STV0900_H
# include <linux/dvb/frontend.h>
2017-12-28 13:03:51 -05:00
# include <media/dvb_frontend.h>
2009-03-03 11:35:25 -03:00
2009-06-19 05:45:23 -03:00
struct stv0900_reg {
u16 addr ;
u8 val ;
} ;
2009-03-03 11:35:25 -03:00
struct stv0900_config {
u8 demod_address ;
2009-10-17 08:58:26 -03:00
u8 demod_mode ;
2009-03-03 11:35:25 -03:00
u32 xtal ;
u8 clkmode ; /* 0 for CLKI, 2 for XTALI */
u8 diseqc_mode ;
u8 path1_mode ;
u8 path2_mode ;
2009-06-19 05:45:23 -03:00
struct stv0900_reg * ts_config_regs ;
2009-03-03 11:35:25 -03:00
u8 tun1_maddress ; /* 0, 1, 2, 3 for 0xc0, 0xc2, 0xc4, 0xc6 */
u8 tun2_maddress ;
u8 tun1_adc ; /* 1 for stv6110, 2 for stb6100 */
u8 tun2_adc ;
2009-12-14 20:24:56 -03:00
u8 tun1_type ; /* for now 3 for stb6100 auto, else - software */
u8 tun2_type ;
2009-11-16 22:22:32 -03:00
/* Set device param to start dma */
int ( * set_ts_params ) ( struct dvb_frontend * fe , int is_punctured ) ;
2011-02-25 18:41:22 -03:00
/* Hook for Lock LED */
void ( * set_lock_led ) ( struct dvb_frontend * fe , int offon ) ;
2009-03-03 11:35:25 -03:00
} ;
2015-02-18 14:12:42 -03:00
# if IS_REACHABLE(CONFIG_DVB_STV0900)
2009-03-03 11:35:25 -03:00
extern struct dvb_frontend * stv0900_attach ( const struct stv0900_config * config ,
struct i2c_adapter * i2c , int demod ) ;
# else
static inline struct dvb_frontend * stv0900_attach ( const struct stv0900_config * config ,
struct i2c_adapter * i2c , int demod )
{
printk ( KERN_WARNING " %s: driver disabled by Kconfig \n " , __func__ ) ;
return NULL ;
}
# endif
# endif