diff options
Diffstat (limited to 'drivers/media/dvb/frontends/tda18271-priv.h')
-rw-r--r-- | drivers/media/dvb/frontends/tda18271-priv.h | 72 |
1 files changed, 70 insertions, 2 deletions
diff --git a/drivers/media/dvb/frontends/tda18271-priv.h b/drivers/media/dvb/frontends/tda18271-priv.h index 912b81e0c765..8552c6ae0d1f 100644 --- a/drivers/media/dvb/frontends/tda18271-priv.h +++ b/drivers/media/dvb/frontends/tda18271-priv.h | |||
@@ -69,11 +69,54 @@ | |||
69 | 69 | ||
70 | /*---------------------------------------------------------------------*/ | 70 | /*---------------------------------------------------------------------*/ |
71 | 71 | ||
72 | struct tda18271_rf_tracking_filter_cal { | ||
73 | u32 rfmax; | ||
74 | u8 rfband; | ||
75 | u32 rf1_def; | ||
76 | u32 rf2_def; | ||
77 | u32 rf3_def; | ||
78 | u32 rf1; | ||
79 | u32 rf2; | ||
80 | u32 rf3; | ||
81 | int rf_a1; | ||
82 | int rf_b1; | ||
83 | int rf_a2; | ||
84 | int rf_b2; | ||
85 | }; | ||
86 | |||
87 | struct tda18271_std_map_item { | ||
88 | u32 if_freq; | ||
89 | u8 std_bits; | ||
90 | }; | ||
91 | |||
92 | struct tda18271_std_map { | ||
93 | struct tda18271_std_map_item atv_b; | ||
94 | struct tda18271_std_map_item atv_dk; | ||
95 | struct tda18271_std_map_item atv_gh; | ||
96 | struct tda18271_std_map_item atv_i; | ||
97 | struct tda18271_std_map_item atv_l; | ||
98 | struct tda18271_std_map_item atv_lc; | ||
99 | struct tda18271_std_map_item atv_mn; | ||
100 | struct tda18271_std_map_item atsc_6; | ||
101 | struct tda18271_std_map_item dvbt_6; | ||
102 | struct tda18271_std_map_item dvbt_7; | ||
103 | struct tda18271_std_map_item dvbt_8; | ||
104 | struct tda18271_std_map_item qam_6; | ||
105 | struct tda18271_std_map_item qam_8; | ||
106 | }; | ||
107 | |||
72 | enum tda18271_mode { | 108 | enum tda18271_mode { |
73 | TDA18271_ANALOG, | 109 | TDA18271_ANALOG, |
74 | TDA18271_DIGITAL, | 110 | TDA18271_DIGITAL, |
75 | }; | 111 | }; |
76 | 112 | ||
113 | struct tda18271_map_layout; | ||
114 | |||
115 | enum tda18271_ver { | ||
116 | TDA18271HDC1, | ||
117 | TDA18271HDC2, | ||
118 | }; | ||
119 | |||
77 | struct tda18271_priv { | 120 | struct tda18271_priv { |
78 | u8 i2c_addr; | 121 | u8 i2c_addr; |
79 | struct i2c_adapter *i2c_adap; | 122 | struct i2c_adapter *i2c_adap; |
@@ -81,6 +124,16 @@ struct tda18271_priv { | |||
81 | 124 | ||
82 | enum tda18271_mode mode; | 125 | enum tda18271_mode mode; |
83 | enum tda18271_i2c_gate gate; | 126 | enum tda18271_i2c_gate gate; |
127 | enum tda18271_ver id; | ||
128 | |||
129 | unsigned int cal_initialized:1; | ||
130 | |||
131 | struct tda18271_std_map *std; | ||
132 | struct tda18271_map_layout *maps; | ||
133 | struct tda18271_rf_tracking_filter_cal rf_cal_state[8]; | ||
134 | |||
135 | int (*tune) (struct dvb_frontend *fe, | ||
136 | u32 ifc, u32 freq, u32 bw, u8 std); | ||
84 | 137 | ||
85 | u32 frequency; | 138 | u32 frequency; |
86 | u32 bandwidth; | 139 | u32 bandwidth; |
@@ -93,6 +146,7 @@ extern int tda18271_debug; | |||
93 | #define DBG_INFO 1 | 146 | #define DBG_INFO 1 |
94 | #define DBG_MAP 2 | 147 | #define DBG_MAP 2 |
95 | #define DBG_REG 4 | 148 | #define DBG_REG 4 |
149 | #define DBG_ADV 8 | ||
96 | 150 | ||
97 | #define tda_printk(kern, fmt, arg...) \ | 151 | #define tda_printk(kern, fmt, arg...) \ |
98 | printk(kern "%s: " fmt, __FUNCTION__, ##arg) | 152 | printk(kern "%s: " fmt, __FUNCTION__, ##arg) |
@@ -117,17 +171,31 @@ enum tda18271_map_type { | |||
117 | /* tda18271_map */ | 171 | /* tda18271_map */ |
118 | RF_CAL, | 172 | RF_CAL, |
119 | RF_CAL_KMCO, | 173 | RF_CAL_KMCO, |
174 | RF_CAL_DC_OVER_DT, | ||
120 | BP_FILTER, | 175 | BP_FILTER, |
121 | RF_BAND, | 176 | RF_BAND, |
122 | GAIN_TAPER, | 177 | GAIN_TAPER, |
123 | IR_MEASURE, | 178 | IR_MEASURE, |
124 | }; | 179 | }; |
125 | 180 | ||
126 | extern int tda18271_lookup_pll_map(enum tda18271_map_type map_type, | 181 | extern int tda18271_lookup_pll_map(struct dvb_frontend *fe, |
182 | enum tda18271_map_type map_type, | ||
127 | u32 *freq, u8 *post_div, u8 *div); | 183 | u32 *freq, u8 *post_div, u8 *div); |
128 | extern int tda18271_lookup_map(enum tda18271_map_type map_type, | 184 | extern int tda18271_lookup_map(struct dvb_frontend *fe, |
185 | enum tda18271_map_type map_type, | ||
129 | u32 *freq, u8 *val); | 186 | u32 *freq, u8 *val); |
130 | 187 | ||
188 | extern int tda18271_lookup_thermometer(struct dvb_frontend *fe); | ||
189 | |||
190 | extern int tda18271_lookup_rf_band(struct dvb_frontend *fe, | ||
191 | u32 *freq, u8 *rf_band); | ||
192 | |||
193 | extern int tda18271_lookup_cid_target(struct dvb_frontend *fe, | ||
194 | u32 *freq, u8 *cid_target, | ||
195 | u16 *count_limit); | ||
196 | |||
197 | extern int tda18271_assign_map_layout(struct dvb_frontend *fe); | ||
198 | |||
131 | #endif /* __TDA18271_PRIV_H__ */ | 199 | #endif /* __TDA18271_PRIV_H__ */ |
132 | 200 | ||
133 | /* | 201 | /* |