1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 Driver for M88RS2000 demodulator 4 5 6 */ 7 8 #ifndef M88RS2000_H 9 #define M88RS2000_H 10 11 #include <linux/dvb/frontend.h> 12 #include <media/dvb_frontend.h> 13 14 struct m88rs2000_config { 15 /* Demodulator i2c address */ 16 u8 demod_addr; 17 18 u8 *inittab; 19 20 /* minimum delay before retuning */ 21 int min_delay_ms; 22 23 int (*set_ts_params)(struct dvb_frontend *, int); 24 }; 25 26 enum { 27 CALL_IS_SET_FRONTEND = 0x0, 28 CALL_IS_READ, 29 }; 30 31 #if IS_REACHABLE(CONFIG_DVB_M88RS2000) 32 extern struct dvb_frontend *m88rs2000_attach( 33 const struct m88rs2000_config *config, struct i2c_adapter *i2c); 34 #else 35 static inline struct dvb_frontend *m88rs2000_attach( 36 const struct m88rs2000_config *config, struct i2c_adapter *i2c) 37 { 38 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 39 return NULL; 40 } 41 #endif /* CONFIG_DVB_M88RS2000 */ 42 43 #define RS2000_FE_CRYSTAL_KHZ 27000 44 45 enum { 46 DEMOD_WRITE = 0x1, 47 WRITE_DELAY = 0x10, 48 }; 49 #endif /* M88RS2000_H */ 50