xref: /linux/drivers/media/tuners/it913x.h (revision 88b38befc0d8b7590f0b083dc4c8e4cee0b84788)
1 /*
2  * ITE Tech IT9137 silicon tuner driver
3  *
4  *  Copyright (C) 2011 Malcolm Priestley (tvboxspy@gmail.com)
5  *  IT9137 Copyright (C) ITE Tech Inc.
6  *
7  *  This program is free software; you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License as published by
9  *  the Free Software Foundation; either version 2 of the License, or
10  *  (at your option) any later version.
11  *
12  *  This program is distributed in the hope that it will be useful,
13  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *
16  *  GNU General Public License for more details.
17  *
18  *  You should have received a copy of the GNU General Public License
19  *  along with this program; if not, write to the Free Software
20  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.=
21  */
22 
23 #ifndef IT913X_H
24 #define IT913X_H
25 
26 #include "dvb_frontend.h"
27 
28 struct ite_config {
29 	u8 chip_ver;
30 	u16 chip_type;
31 	u32 firmware;
32 	u8 firmware_ver;
33 	u8 adc_x2;
34 	u8 tuner_id_0;
35 	u8 tuner_id_1;
36 	u8 dual_mode;
37 	u8 adf;
38 	/* option to read SIGNAL_LEVEL */
39 	u8 read_slevel;
40 };
41 
42 #if defined(CONFIG_MEDIA_TUNER_IT913X) || \
43 	(defined(CONFIG_MEDIA_TUNER_IT913X_MODULE) && defined(MODULE))
44 extern struct dvb_frontend *it913x_attach(struct dvb_frontend *fe,
45 	struct i2c_adapter *i2c_adap, u8 i2c_addr, struct ite_config *config);
46 #else
47 static inline struct dvb_frontend *it913x_attach(struct dvb_frontend *fe,
48 	struct i2c_adapter *i2c_adap, u8 i2c_addr, struct ite_config *config)
49 {
50 	pr_warn("%s: driver disabled by Kconfig\n", __func__);
51 	return NULL;
52 }
53 #endif
54 
55 #endif
56