1
2
3
4
5
6
7
8
9
10
11 #ifndef AF9013_H
12 #define AF9013_H
13
14 #include <linux/dvb/frontend.h>
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 struct af9013_platform_data {
36
37
38
39 u32 clk;
40 #define AF9013_TUNER_MXL5003D 3
41 #define AF9013_TUNER_MXL5005D 13
42 #define AF9013_TUNER_MXL5005R 30
43 #define AF9013_TUNER_ENV77H11D5 129
44 #define AF9013_TUNER_MT2060 130
45 #define AF9013_TUNER_MC44S803 133
46 #define AF9013_TUNER_QT1010 134
47 #define AF9013_TUNER_UNKNOWN 140
48 #define AF9013_TUNER_MT2060_2 147
49 #define AF9013_TUNER_TDA18271 156
50 #define AF9013_TUNER_QT1010A 162
51 #define AF9013_TUNER_MXL5007T 177
52 #define AF9013_TUNER_TDA18218 179
53 u8 tuner;
54 u32 if_frequency;
55 #define AF9013_TS_MODE_USB 0
56 #define AF9013_TS_MODE_PARALLEL 1
57 #define AF9013_TS_MODE_SERIAL 2
58 u8 ts_mode;
59 u8 ts_output_pin;
60 bool spec_inv;
61 u8 api_version[4];
62 #define AF9013_GPIO_ON (1 << 0)
63 #define AF9013_GPIO_EN (1 << 1)
64 #define AF9013_GPIO_O (1 << 2)
65 #define AF9013_GPIO_I (1 << 3)
66 #define AF9013_GPIO_LO (AF9013_GPIO_ON|AF9013_GPIO_EN)
67 #define AF9013_GPIO_HI (AF9013_GPIO_ON|AF9013_GPIO_EN|AF9013_GPIO_O)
68 #define AF9013_GPIO_TUNER_ON (AF9013_GPIO_ON|AF9013_GPIO_EN)
69 #define AF9013_GPIO_TUNER_OFF (AF9013_GPIO_ON|AF9013_GPIO_EN|AF9013_GPIO_O)
70 u8 gpio[4];
71
72 struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
73 struct i2c_adapter* (*get_i2c_adapter)(struct i2c_client *);
74 int (*pid_filter_ctrl)(struct dvb_frontend *, int);
75 int (*pid_filter)(struct dvb_frontend *, u8, u16, int);
76 };
77
78
79
80
81
82
83
84
85
86
87 #endif