0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef CXD2841ER_H
0014 #define CXD2841ER_H
0015
0016 #include <linux/dvb/frontend.h>
0017
0018 #define CXD2841ER_USE_GATECTRL 1
0019 #define CXD2841ER_AUTO_IFHZ 2
0020 #define CXD2841ER_TS_SERIAL 4
0021 #define CXD2841ER_ASCOT 8
0022 #define CXD2841ER_EARLY_TUNE 16
0023 #define CXD2841ER_NO_WAIT_LOCK 32
0024 #define CXD2841ER_NO_AGCNEG 64
0025 #define CXD2841ER_TSBITS 128
0026
0027 enum cxd2841er_xtal {
0028 SONY_XTAL_20500,
0029 SONY_XTAL_24000,
0030 SONY_XTAL_41000
0031 };
0032
0033 struct cxd2841er_config {
0034 u8 i2c_addr;
0035 enum cxd2841er_xtal xtal;
0036 u32 flags;
0037 };
0038
0039 #if IS_REACHABLE(CONFIG_DVB_CXD2841ER)
0040 extern struct dvb_frontend *cxd2841er_attach_s(struct cxd2841er_config *cfg,
0041 struct i2c_adapter *i2c);
0042
0043 extern struct dvb_frontend *cxd2841er_attach_t_c(struct cxd2841er_config *cfg,
0044 struct i2c_adapter *i2c);
0045 #else
0046 static inline struct dvb_frontend *cxd2841er_attach_s(
0047 struct cxd2841er_config *cfg,
0048 struct i2c_adapter *i2c)
0049 {
0050 pr_warn("%s: driver disabled by Kconfig\n", __func__);
0051 return NULL;
0052 }
0053
0054 static inline struct dvb_frontend *cxd2841er_attach_t_c(
0055 struct cxd2841er_config *cfg, struct i2c_adapter *i2c)
0056 {
0057 pr_warn("%s: driver disabled by Kconfig\n", __func__);
0058 return NULL;
0059 }
0060
0061 #endif
0062
0063 #endif