Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
af9033.h
Go to the documentation of this file.
1 /*
2  * Afatech AF9033 demodulator driver
3  *
4  * Copyright (C) 2009 Antti Palosaari <[email protected]>
5  * Copyright (C) 2012 Antti Palosaari <[email protected]>
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  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along
18  * with this program; if not, write to the Free Software Foundation, Inc.,
19  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20  */
21 
22 #ifndef AF9033_H
23 #define AF9033_H
24 
25 struct af9033_config {
26  /*
27  * I2C address
28  */
30 
31  /*
32  * clock Hz
33  * 12000000, 22000000, 24000000, 34000000, 32000000, 28000000, 26000000,
34  * 30000000, 36000000, 20480000, 16384000
35  */
37 
38  /*
39  * tuner
40  */
41 #define AF9033_TUNER_TUA9001 0x27 /* Infineon TUA 9001 */
42 #define AF9033_TUNER_FC0011 0x28 /* Fitipower FC0011 */
43 #define AF9033_TUNER_MXL5007T 0xa0 /* MaxLinear MxL5007T */
44 #define AF9033_TUNER_TDA18218 0xa1 /* NXP TDA 18218HN */
45 #define AF9033_TUNER_FC2580 0x32 /* FCI FC2580 */
47 
48  /*
49  * TS settings
50  */
51 #define AF9033_TS_MODE_USB 0
52 #define AF9033_TS_MODE_PARALLEL 1
53 #define AF9033_TS_MODE_SERIAL 2
55 
56  /*
57  * input spectrum inversion
58  */
59  bool spec_inv;
60 };
61 
62 
63 #if defined(CONFIG_DVB_AF9033) || \
64  (defined(CONFIG_DVB_AF9033_MODULE) && defined(MODULE))
65 extern struct dvb_frontend *af9033_attach(const struct af9033_config *config,
66  struct i2c_adapter *i2c);
67 #else
68 static inline struct dvb_frontend *af9033_attach(
69  const struct af9033_config *config, struct i2c_adapter *i2c)
70 {
71  pr_warn("%s: driver disabled by Kconfig\n", __func__);
72  return NULL;
73 }
74 #endif
75 
76 #endif /* AF9033_H */