r820t.h (885B)
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 13enum r820t_chip { 14 CHIP_R820T, 15 CHIP_R620D, 16 CHIP_R828D, 17 CHIP_R828, 18 CHIP_R828S, 19 CHIP_R820C, 20}; 21 22struct 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) 32struct dvb_frontend *r820t_attach(struct dvb_frontend *fe, 33 struct i2c_adapter *i2c, 34 const struct r820t_config *cfg); 35#else 36static 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