2019-05-27 09:55:06 +03:00
/* SPDX-License-Identifier: GPL-2.0-or-later */
2009-03-03 17: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 21:03:51 +03:00
# include <media/dvb_frontend.h>
2009-03-03 17:35:25 +03:00
2009-06-19 12:45:23 +04:00
struct stv0900_reg {
u16 addr ;
u8 val ;
} ;
2009-03-03 17:35:25 +03:00
struct stv0900_config {
u8 demod_address ;
2009-10-17 15:58:26 +04:00
u8 demod_mode ;
2009-03-03 17: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 12:45:23 +04:00
struct stv0900_reg * ts_config_regs ;
2009-03-03 17: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-15 02:24:56 +03:00
u8 tun1_type ; /* for now 3 for stb6100 auto, else - software */
u8 tun2_type ;
2009-11-17 04:22:32 +03:00
/* Set device param to start dma */
int ( * set_ts_params ) ( struct dvb_frontend * fe , int is_punctured ) ;
2011-02-26 00:41:22 +03:00
/* Hook for Lock LED */
void ( * set_lock_led ) ( struct dvb_frontend * fe , int offon ) ;
2009-03-03 17:35:25 +03:00
} ;
2015-02-18 20:12:42 +03:00
# if IS_REACHABLE(CONFIG_DVB_STV0900)
2009-03-03 17: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