18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci /* 38c2ecf20Sopenharmony_ci Driver for Philips tda10086 DVBS Frontend 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci (c) 2006 Andrew de Quincey 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#ifndef TDA10086_H 118c2ecf20Sopenharmony_ci#define TDA10086_H 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci#include <linux/dvb/frontend.h> 148c2ecf20Sopenharmony_ci#include <linux/firmware.h> 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_cienum tda10086_xtal { 178c2ecf20Sopenharmony_ci TDA10086_XTAL_16M, 188c2ecf20Sopenharmony_ci TDA10086_XTAL_4M 198c2ecf20Sopenharmony_ci}; 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_cistruct tda10086_config 228c2ecf20Sopenharmony_ci{ 238c2ecf20Sopenharmony_ci /* the demodulator's i2c address */ 248c2ecf20Sopenharmony_ci u8 demod_address; 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci /* does the "inversion" need inverted? */ 278c2ecf20Sopenharmony_ci u8 invert; 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci /* do we need the diseqc signal with carrier? */ 308c2ecf20Sopenharmony_ci u8 diseqc_tone; 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci /* frequency of the reference xtal */ 338c2ecf20Sopenharmony_ci enum tda10086_xtal xtal_freq; 348c2ecf20Sopenharmony_ci}; 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci#if IS_REACHABLE(CONFIG_DVB_TDA10086) 378c2ecf20Sopenharmony_ciextern struct dvb_frontend* tda10086_attach(const struct tda10086_config* config, 388c2ecf20Sopenharmony_ci struct i2c_adapter* i2c); 398c2ecf20Sopenharmony_ci#else 408c2ecf20Sopenharmony_cistatic inline struct dvb_frontend* tda10086_attach(const struct tda10086_config* config, 418c2ecf20Sopenharmony_ci struct i2c_adapter* i2c) 428c2ecf20Sopenharmony_ci{ 438c2ecf20Sopenharmony_ci printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 448c2ecf20Sopenharmony_ci return NULL; 458c2ecf20Sopenharmony_ci} 468c2ecf20Sopenharmony_ci#endif /* CONFIG_DVB_TDA10086 */ 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci#endif /* TDA10086_H */ 49