1*74ba9207SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 26bca3580SAndrew de Quincey /* 36bca3580SAndrew de Quincey Driver for Philips tda10086 DVBS Frontend 46bca3580SAndrew de Quincey 56bca3580SAndrew de Quincey (c) 2006 Andrew de Quincey 66bca3580SAndrew de Quincey 76bca3580SAndrew de Quincey 86bca3580SAndrew de Quincey */ 96bca3580SAndrew de Quincey 106bca3580SAndrew de Quincey #ifndef TDA10086_H 116bca3580SAndrew de Quincey #define TDA10086_H 126bca3580SAndrew de Quincey 136bca3580SAndrew de Quincey #include <linux/dvb/frontend.h> 146bca3580SAndrew de Quincey #include <linux/firmware.h> 156bca3580SAndrew de Quincey 169a1b04e4SHartmut Hackmann enum tda10086_xtal { 179a1b04e4SHartmut Hackmann TDA10086_XTAL_16M, 189a1b04e4SHartmut Hackmann TDA10086_XTAL_4M 199a1b04e4SHartmut Hackmann }; 209a1b04e4SHartmut Hackmann 216bca3580SAndrew de Quincey struct tda10086_config 226bca3580SAndrew de Quincey { 236bca3580SAndrew de Quincey /* the demodulator's i2c address */ 246bca3580SAndrew de Quincey u8 demod_address; 256bca3580SAndrew de Quincey 266bca3580SAndrew de Quincey /* does the "inversion" need inverted? */ 276bca3580SAndrew de Quincey u8 invert; 28ea75baf4SHartmut Hackmann 29ea75baf4SHartmut Hackmann /* do we need the diseqc signal with carrier? */ 30ea75baf4SHartmut Hackmann u8 diseqc_tone; 319a1b04e4SHartmut Hackmann 329a1b04e4SHartmut Hackmann /* frequency of the reference xtal */ 339a1b04e4SHartmut Hackmann enum tda10086_xtal xtal_freq; 346bca3580SAndrew de Quincey }; 356bca3580SAndrew de Quincey 369b174527SArnd Bergmann #if IS_REACHABLE(CONFIG_DVB_TDA10086) 376bca3580SAndrew de Quincey extern struct dvb_frontend* tda10086_attach(const struct tda10086_config* config, 386bca3580SAndrew de Quincey struct i2c_adapter* i2c); 39fc13d929SMichael Krufky #else 40fc13d929SMichael Krufky static inline struct dvb_frontend* tda10086_attach(const struct tda10086_config* config, 41fc13d929SMichael Krufky struct i2c_adapter* i2c) 42fc13d929SMichael Krufky { 43271ddbf7SHarvey Harrison printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 44fc13d929SMichael Krufky return NULL; 45fc13d929SMichael Krufky } 46b1c54fe2SHartmut Hackmann #endif /* CONFIG_DVB_TDA10086 */ 476bca3580SAndrew de Quincey 48b1c54fe2SHartmut Hackmann #endif /* TDA10086_H */ 49