Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003     Driver for M88RS2000 demodulator
0004 
0005 
0006 */
0007 
0008 #ifndef M88RS2000_H
0009 #define M88RS2000_H
0010 
0011 #include <linux/dvb/frontend.h>
0012 #include <media/dvb_frontend.h>
0013 
0014 struct m88rs2000_config {
0015     /* Demodulator i2c address */
0016     u8 demod_addr;
0017 
0018     u8 *inittab;
0019 
0020     /* minimum delay before retuning */
0021     int min_delay_ms;
0022 
0023     int (*set_ts_params)(struct dvb_frontend *, int);
0024 };
0025 
0026 enum {
0027     CALL_IS_SET_FRONTEND = 0x0,
0028     CALL_IS_READ,
0029 };
0030 
0031 #if IS_REACHABLE(CONFIG_DVB_M88RS2000)
0032 extern struct dvb_frontend *m88rs2000_attach(
0033     const struct m88rs2000_config *config, struct i2c_adapter *i2c);
0034 #else
0035 static inline struct dvb_frontend *m88rs2000_attach(
0036     const struct m88rs2000_config *config, struct i2c_adapter *i2c)
0037 {
0038     printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
0039     return NULL;
0040 }
0041 #endif /* CONFIG_DVB_M88RS2000 */
0042 
0043 #define RS2000_FE_CRYSTAL_KHZ 27000
0044 
0045 enum {
0046     DEMOD_WRITE = 0x1,
0047     WRITE_DELAY = 0x10,
0048 };
0049 #endif /* M88RS2000_H */