1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Elonics R820T silicon tuner driver 4 * 5 * Copyright (C) 2012 Antti Palosaari <crope@iki.fi> 6 */ 7 8 #ifndef R820T_H 9 #define R820T_H 10 11 #include <media/dvb_frontend.h> 12 13 enum r820t_chip { 14 CHIP_R820T, 15 CHIP_R620D, 16 CHIP_R828D, 17 CHIP_R828, 18 CHIP_R828S, 19 CHIP_R820C, 20 }; 21 22 struct r820t_config { 23 u8 i2c_addr; /* 0x34 */ 24 u32 xtal; 25 enum r820t_chip rafael_chip; 26 unsigned max_i2c_msg_len; 27 bool use_diplexer; 28 bool use_predetect; 29 }; 30 31 #if IS_REACHABLE(CONFIG_MEDIA_TUNER_R820T) 32 struct dvb_frontend *r820t_attach(struct dvb_frontend *fe, 33 struct i2c_adapter *i2c, 34 const struct r820t_config *cfg); 35 #else 36 static inline struct dvb_frontend *r820t_attach(struct dvb_frontend *fe, 37 struct i2c_adapter *i2c, 38 const struct r820t_config *cfg) 39 { 40 pr_warn("%s: driver disabled by Kconfig\n", __func__); 41 return NULL; 42 } 43 #endif 44 45 #endif 46