diff options
author | Igor M. Liplianin <liplianin@netup.ru> | 2009-11-06 21:07:56 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 15:41:25 -0500 |
commit | 46960eea9c0f7abb3a0a65276939762b97eac337 (patch) | |
tree | 33aa976a87b5fde3aad05e12e184210cae03c81a /drivers/media/dvb/frontends/stv0900_init.h | |
parent | 502cd96d5b0714e0ab022766014f58b0684699a8 (diff) |
V4L/DVB (13338): stv0900: big rework to support cut 3.0.
Patch 1 of 4.
Also patch changes logic to prevent code repetitions and big indents.
It makes checkpatch silent :)
Signed-off-by: Igor M. Liplianin <liplianin@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/frontends/stv0900_init.h')
-rw-r--r-- | drivers/media/dvb/frontends/stv0900_init.h | 257 |
1 files changed, 200 insertions, 57 deletions
diff --git a/drivers/media/dvb/frontends/stv0900_init.h b/drivers/media/dvb/frontends/stv0900_init.h index ff388b47a4e..b684df9995d 100644 --- a/drivers/media/dvb/frontends/stv0900_init.h +++ b/drivers/media/dvb/frontends/stv0900_init.h | |||
@@ -141,85 +141,228 @@ struct stv0900_short_frames_car_loop_optim { | |||
141 | 141 | ||
142 | }; | 142 | }; |
143 | 143 | ||
144 | struct stv0900_short_frames_car_loop_optim_vs_mod { | ||
145 | enum fe_stv0900_modulation modulation; | ||
146 | u8 car_loop_2; /* SR<3msps */ | ||
147 | u8 car_loop_5; /* 3<SR<=7msps */ | ||
148 | u8 car_loop_10; /* 7<SR<=15msps */ | ||
149 | u8 car_loop_20; /* 10<SR<=25msps */ | ||
150 | u8 car_loop_30; /* 10<SR<=45msps */ | ||
151 | }; | ||
152 | |||
144 | /* Cut 1.x Tracking carrier loop carrier QPSK 1/2 to 8PSK 9/10 long Frame */ | 153 | /* Cut 1.x Tracking carrier loop carrier QPSK 1/2 to 8PSK 9/10 long Frame */ |
145 | static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoop[14] = { | 154 | static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoop[14] = { |
146 | /*Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon 10MPoff 20MPon 20MPoff 30MPon 30MPoff */ | 155 | /*Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon |
147 | { STV0900_QPSK_12, 0x1C, 0x0D, 0x1B, 0x2C, 0x3A, 0x1C, 0x2A, 0x3B, 0x2A, 0x1B }, | 156 | 10MPoff 20MPon 20MPoff 30MPon 30MPoff */ |
148 | { STV0900_QPSK_35, 0x2C, 0x0D, 0x2B, 0x2C, 0x3A, 0x0C, 0x3A, 0x2B, 0x2A, 0x0B }, | 157 | { STV0900_QPSK_12, 0x1C, 0x0D, 0x1B, 0x2C, 0x3A, |
149 | { STV0900_QPSK_23, 0x2C, 0x0D, 0x2B, 0x2C, 0x0B, 0x0C, 0x3A, 0x1B, 0x2A, 0x3A }, | 158 | 0x1C, 0x2A, 0x3B, 0x2A, 0x1B }, |
150 | { STV0900_QPSK_34, 0x3C, 0x0D, 0x3B, 0x1C, 0x0B, 0x3B, 0x3A, 0x0B, 0x2A, 0x3A }, | 159 | { STV0900_QPSK_35, 0x2C, 0x0D, 0x2B, 0x2C, 0x3A, |
151 | { STV0900_QPSK_45, 0x3C, 0x0D, 0x3B, 0x1C, 0x0B, 0x3B, 0x3A, 0x0B, 0x2A, 0x3A }, | 160 | 0x0C, 0x3A, 0x2B, 0x2A, 0x0B }, |
152 | { STV0900_QPSK_56, 0x0D, 0x0D, 0x3B, 0x1C, 0x0B, 0x3B, 0x3A, 0x0B, 0x2A, 0x3A }, | 161 | { STV0900_QPSK_23, 0x2C, 0x0D, 0x2B, 0x2C, 0x0B, |
153 | { STV0900_QPSK_89, 0x0D, 0x0D, 0x3B, 0x1C, 0x1B, 0x3B, 0x3A, 0x0B, 0x2A, 0x3A }, | 162 | 0x0C, 0x3A, 0x1B, 0x2A, 0x3A }, |
154 | { STV0900_QPSK_910, 0x1D, 0x0D, 0x3B, 0x1C, 0x1B, 0x3B, 0x3A, 0x0B, 0x2A, 0x3A }, | 163 | { STV0900_QPSK_34, 0x3C, 0x0D, 0x3B, 0x1C, 0x0B, |
155 | { STV0900_8PSK_35, 0x29, 0x3B, 0x09, 0x2B, 0x38, 0x0B, 0x18, 0x1A, 0x08, 0x0A }, | 164 | 0x3B, 0x3A, 0x0B, 0x2A, 0x3A }, |
156 | { STV0900_8PSK_23, 0x0A, 0x3B, 0x29, 0x2B, 0x19, 0x0B, 0x38, 0x1A, 0x18, 0x0A }, | 165 | { STV0900_QPSK_45, 0x3C, 0x0D, 0x3B, 0x1C, 0x0B, |
157 | { STV0900_8PSK_34, 0x3A, 0x3B, 0x2A, 0x2B, 0x39, 0x0B, 0x19, 0x1A, 0x38, 0x0A }, | 166 | 0x3B, 0x3A, 0x0B, 0x2A, 0x3A }, |
158 | { STV0900_8PSK_56, 0x1B, 0x3B, 0x0B, 0x2B, 0x1A, 0x0B, 0x39, 0x1A, 0x19, 0x0A }, | 167 | { STV0900_QPSK_56, 0x0D, 0x0D, 0x3B, 0x1C, 0x0B, |
159 | { STV0900_8PSK_89, 0x3B, 0x3B, 0x0B, 0x2B, 0x2A, 0x0B, 0x39, 0x1A, 0x29, 0x39 }, | 168 | 0x3B, 0x3A, 0x0B, 0x2A, 0x3A }, |
160 | { STV0900_8PSK_910, 0x3B, 0x3B, 0x0B, 0x2B, 0x2A, 0x0B, 0x39, 0x1A, 0x29, 0x39 } | 169 | { STV0900_QPSK_89, 0x0D, 0x0D, 0x3B, 0x1C, 0x1B, |
170 | 0x3B, 0x3A, 0x0B, 0x2A, 0x3A }, | ||
171 | { STV0900_QPSK_910, 0x1D, 0x0D, 0x3B, 0x1C, 0x1B, | ||
172 | 0x3B, 0x3A, 0x0B, 0x2A, 0x3A }, | ||
173 | { STV0900_8PSK_35, 0x29, 0x3B, 0x09, 0x2B, 0x38, | ||
174 | 0x0B, 0x18, 0x1A, 0x08, 0x0A }, | ||
175 | { STV0900_8PSK_23, 0x0A, 0x3B, 0x29, 0x2B, 0x19, | ||
176 | 0x0B, 0x38, 0x1A, 0x18, 0x0A }, | ||
177 | { STV0900_8PSK_34, 0x3A, 0x3B, 0x2A, 0x2B, 0x39, | ||
178 | 0x0B, 0x19, 0x1A, 0x38, 0x0A }, | ||
179 | { STV0900_8PSK_56, 0x1B, 0x3B, 0x0B, 0x2B, 0x1A, | ||
180 | 0x0B, 0x39, 0x1A, 0x19, 0x0A }, | ||
181 | { STV0900_8PSK_89, 0x3B, 0x3B, 0x0B, 0x2B, 0x2A, | ||
182 | 0x0B, 0x39, 0x1A, 0x29, 0x39 }, | ||
183 | { STV0900_8PSK_910, 0x3B, 0x3B, 0x0B, 0x2B, 0x2A, | ||
184 | 0x0B, 0x39, 0x1A, 0x29, 0x39 } | ||
161 | }; | 185 | }; |
162 | 186 | ||
163 | 187 | ||
164 | /* Cut 2.0 Tracking carrier loop carrier QPSK 1/2 to 8PSK 9/10 long Frame */ | 188 | /* Cut 2.0 Tracking carrier loop carrier QPSK 1/2 to 8PSK 9/10 long Frame */ |
165 | static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoopCut20[14] = { | 189 | static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoopCut20[14] = { |
166 | /* Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon 10MPoff 20MPon 20MPoff 30MPon 30MPoff */ | 190 | /* Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon |
167 | { STV0900_QPSK_12, 0x1F, 0x3F, 0x1E, 0x3F, 0x3D, 0x1F, 0x3D, 0x3E, 0x3D, 0x1E }, | 191 | 10MPoff 20MPon 20MPoff 30MPon 30MPoff */ |
168 | { STV0900_QPSK_35, 0x2F, 0x3F, 0x2E, 0x2F, 0x3D, 0x0F, 0x0E, 0x2E, 0x3D, 0x0E }, | 192 | { STV0900_QPSK_12, 0x1F, 0x3F, 0x1E, 0x3F, 0x3D, |
169 | { STV0900_QPSK_23, 0x2F, 0x3F, 0x2E, 0x2F, 0x0E, 0x0F, 0x0E, 0x1E, 0x3D, 0x3D }, | 193 | 0x1F, 0x3D, 0x3E, 0x3D, 0x1E }, |
170 | { STV0900_QPSK_34, 0x3F, 0x3F, 0x3E, 0x1F, 0x0E, 0x3E, 0x0E, 0x1E, 0x3D, 0x3D }, | 194 | { STV0900_QPSK_35, 0x2F, 0x3F, 0x2E, 0x2F, 0x3D, |
171 | { STV0900_QPSK_45, 0x3F, 0x3F, 0x3E, 0x1F, 0x0E, 0x3E, 0x0E, 0x1E, 0x3D, 0x3D }, | 195 | 0x0F, 0x0E, 0x2E, 0x3D, 0x0E }, |
172 | { STV0900_QPSK_56, 0x3F, 0x3F, 0x3E, 0x1F, 0x0E, 0x3E, 0x0E, 0x1E, 0x3D, 0x3D }, | 196 | { STV0900_QPSK_23, 0x2F, 0x3F, 0x2E, 0x2F, 0x0E, |
173 | { STV0900_QPSK_89, 0x3F, 0x3F, 0x3E, 0x1F, 0x1E, 0x3E, 0x0E, 0x1E, 0x3D, 0x3D }, | 197 | 0x0F, 0x0E, 0x1E, 0x3D, 0x3D }, |
174 | { STV0900_QPSK_910, 0x3F, 0x3F, 0x3E, 0x1F, 0x1E, 0x3E, 0x0E, 0x1E, 0x3D, 0x3D }, | 198 | { STV0900_QPSK_34, 0x3F, 0x3F, 0x3E, 0x1F, 0x0E, |
175 | { STV0900_8PSK_35, 0x3c, 0x0c, 0x1c, 0x3b, 0x0c, 0x3b, 0x2b, 0x2b, 0x1b, 0x2b }, | 199 | 0x3E, 0x0E, 0x1E, 0x3D, 0x3D }, |
176 | { STV0900_8PSK_23, 0x1d, 0x0c, 0x3c, 0x0c, 0x2c, 0x3b, 0x0c, 0x2b, 0x2b, 0x2b }, | 200 | { STV0900_QPSK_45, 0x3F, 0x3F, 0x3E, 0x1F, 0x0E, |
177 | { STV0900_8PSK_34, 0x0e, 0x1c, 0x3d, 0x0c, 0x0d, 0x3b, 0x2c, 0x3b, 0x0c, 0x2b }, | 201 | 0x3E, 0x0E, 0x1E, 0x3D, 0x3D }, |
178 | { STV0900_8PSK_56, 0x2e, 0x3e, 0x1e, 0x2e, 0x2d, 0x1e, 0x3c, 0x2d, 0x2c, 0x1d }, | 202 | { STV0900_QPSK_56, 0x3F, 0x3F, 0x3E, 0x1F, 0x0E, |
179 | { STV0900_8PSK_89, 0x3e, 0x3e, 0x1e, 0x2e, 0x3d, 0x1e, 0x0d, 0x2d, 0x3c, 0x1d }, | 203 | 0x3E, 0x0E, 0x1E, 0x3D, 0x3D }, |
180 | { STV0900_8PSK_910, 0x3e, 0x3e, 0x1e, 0x2e, 0x3d, 0x1e, 0x1d, 0x2d, 0x0d, 0x1d } | 204 | { STV0900_QPSK_89, 0x3F, 0x3F, 0x3E, 0x1F, 0x1E, |
205 | 0x3E, 0x0E, 0x1E, 0x3D, 0x3D }, | ||
206 | { STV0900_QPSK_910, 0x3F, 0x3F, 0x3E, 0x1F, 0x1E, | ||
207 | 0x3E, 0x0E, 0x1E, 0x3D, 0x3D }, | ||
208 | { STV0900_8PSK_35, 0x3c, 0x0c, 0x1c, 0x3b, 0x0c, | ||
209 | 0x3b, 0x2b, 0x2b, 0x1b, 0x2b }, | ||
210 | { STV0900_8PSK_23, 0x1d, 0x0c, 0x3c, 0x0c, 0x2c, | ||
211 | 0x3b, 0x0c, 0x2b, 0x2b, 0x2b }, | ||
212 | { STV0900_8PSK_34, 0x0e, 0x1c, 0x3d, 0x0c, 0x0d, | ||
213 | 0x3b, 0x2c, 0x3b, 0x0c, 0x2b }, | ||
214 | { STV0900_8PSK_56, 0x2e, 0x3e, 0x1e, 0x2e, 0x2d, | ||
215 | 0x1e, 0x3c, 0x2d, 0x2c, 0x1d }, | ||
216 | { STV0900_8PSK_89, 0x3e, 0x3e, 0x1e, 0x2e, 0x3d, | ||
217 | 0x1e, 0x0d, 0x2d, 0x3c, 0x1d }, | ||
218 | { STV0900_8PSK_910, 0x3e, 0x3e, 0x1e, 0x2e, 0x3d, | ||
219 | 0x1e, 0x1d, 0x2d, 0x0d, 0x1d }, | ||
181 | }; | 220 | }; |
182 | 221 | ||
183 | 222 | ||
184 | 223 | ||
185 | /* Cut 2.0 Tracking carrier loop carrier 16APSK 2/3 to 32APSK 9/10 long Frame */ | 224 | /* Cut 2.0 Tracking carrier loop carrier 16APSK 2/3 to 32APSK 9/10 long Frame */ |
186 | static const struct stv0900_car_loop_optim FE_STV0900_S2APSKCarLoopCut20[11] = { | 225 | static const struct stv0900_car_loop_optim FE_STV0900_S2APSKCarLoopCut20[11] = { |
187 | /* Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon 10MPoff 20MPon 20MPoff 30MPon 30MPoff */ | 226 | /* Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon |
188 | { STV0900_16APSK_23, 0x0C, 0x0C, 0x0C, 0x0C, 0x1D, 0x0C, 0x3C, 0x0C, 0x2C, 0x0C }, | 227 | 10MPoff 20MPon 20MPoff 30MPon 30MPoff */ |
189 | { STV0900_16APSK_34, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x0C, 0x2D, 0x0C, 0x1D, 0x0C }, | 228 | { STV0900_16APSK_23, 0x0C, 0x0C, 0x0C, 0x0C, 0x1D, |
190 | { STV0900_16APSK_45, 0x0C, 0x0C, 0x0C, 0x0C, 0x1E, 0x0C, 0x3D, 0x0C, 0x2D, 0x0C }, | 229 | 0x0C, 0x3C, 0x0C, 0x2C, 0x0C }, |
191 | { STV0900_16APSK_56, 0x0C, 0x0C, 0x0C, 0x0C, 0x1E, 0x0C, 0x3D, 0x0C, 0x2D, 0x0C }, | 230 | { STV0900_16APSK_34, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, |
192 | { STV0900_16APSK_89, 0x0C, 0x0C, 0x0C, 0x0C, 0x2E, 0x0C, 0x0E, 0x0C, 0x3D, 0x0C }, | 231 | 0x0C, 0x2D, 0x0C, 0x1D, 0x0C }, |
193 | { STV0900_16APSK_910, 0x0C, 0x0C, 0x0C, 0x0C, 0x2E, 0x0C, 0x0E, 0x0C, 0x3D, 0x0C }, | 232 | { STV0900_16APSK_45, 0x0C, 0x0C, 0x0C, 0x0C, 0x1E, |
194 | { STV0900_32APSK_34, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C }, | 233 | 0x0C, 0x3D, 0x0C, 0x2D, 0x0C }, |
195 | { STV0900_32APSK_45, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C }, | 234 | { STV0900_16APSK_56, 0x0C, 0x0C, 0x0C, 0x0C, 0x1E, |
196 | { STV0900_32APSK_56, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C }, | 235 | 0x0C, 0x3D, 0x0C, 0x2D, 0x0C }, |
197 | { STV0900_32APSK_89, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C }, | 236 | { STV0900_16APSK_89, 0x0C, 0x0C, 0x0C, 0x0C, 0x2E, |
198 | { STV0900_32APSK_910, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C } | 237 | 0x0C, 0x0E, 0x0C, 0x3D, 0x0C }, |
238 | { STV0900_16APSK_910, 0x0C, 0x0C, 0x0C, 0x0C, 0x2E, | ||
239 | 0x0C, 0x0E, 0x0C, 0x3D, 0x0C }, | ||
240 | { STV0900_32APSK_34, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, | ||
241 | 0x0C, 0x0C, 0x0C, 0x0C, 0x0C }, | ||
242 | { STV0900_32APSK_45, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, | ||
243 | 0x0C, 0x0C, 0x0C, 0x0C, 0x0C }, | ||
244 | { STV0900_32APSK_56, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, | ||
245 | 0x0C, 0x0C, 0x0C, 0x0C, 0x0C }, | ||
246 | { STV0900_32APSK_89, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, | ||
247 | 0x0C, 0x0C, 0x0C, 0x0C, 0x0C }, | ||
248 | { STV0900_32APSK_910, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, | ||
249 | 0x0C, 0x0C, 0x0C, 0x0C, 0x0C }, | ||
199 | }; | 250 | }; |
200 | 251 | ||
201 | 252 | ||
202 | /* Cut 2.0 Tracking carrier loop carrier QPSK 1/4 to QPSK 2/5 long Frame */ | 253 | /* Cut 2.0 Tracking carrier loop carrier QPSK 1/4 to QPSK 2/5 long Frame */ |
203 | static const struct stv0900_car_loop_optim FE_STV0900_S2LowQPCarLoopCut20[3] = { | 254 | static const struct stv0900_car_loop_optim FE_STV0900_S2LowQPCarLoopCut20[3] = { |
204 | /* Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon 10MPoff 20MPon 20MPoff 30MPon 30MPoff */ | 255 | /* Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon |
205 | { STV0900_QPSK_14, 0x0F, 0x3F, 0x0E, 0x3F, 0x2D, 0x2F, 0x2D, 0x1F, 0x3D, 0x3E }, | 256 | 10MPoff 20MPon 20MPoff 30MPon 30MPoff */ |
206 | { STV0900_QPSK_13, 0x0F, 0x3F, 0x0E, 0x3F, 0x2D, 0x2F, 0x3D, 0x0F, 0x3D, 0x2E }, | 257 | { STV0900_QPSK_14, 0x0F, 0x3F, 0x0E, 0x3F, 0x2D, |
207 | { STV0900_QPSK_25, 0x1F, 0x3F, 0x1E, 0x3F, 0x3D, 0x1F, 0x3D, 0x3E, 0x3D, 0x2E } | 258 | 0x2F, 0x2D, 0x1F, 0x3D, 0x3E }, |
259 | { STV0900_QPSK_13, 0x0F, 0x3F, 0x0E, 0x3F, 0x2D, | ||
260 | 0x2F, 0x3D, 0x0F, 0x3D, 0x2E }, | ||
261 | { STV0900_QPSK_25, 0x1F, 0x3F, 0x1E, 0x3F, 0x3D, | ||
262 | 0x1F, 0x3D, 0x3E, 0x3D, 0x2E } | ||
208 | }; | 263 | }; |
209 | 264 | ||
210 | 265 | ||
211 | /* Cut 2.0 Tracking carrier loop carrier short Frame, cut 1.2 and 2.0 */ | 266 | /* Cut 2.0 Tracking carrier loop carrier short Frame, cut 1.2 and 2.0 */ |
212 | static const struct stv0900_short_frames_car_loop_optim FE_STV0900_S2ShortCarLoop[4] = { | 267 | static const |
213 | /*Mod 2M_cut1.2 2M_cut2.0 5M_cut1.2 5M_cut2.0 10M_cut1.2 10M_cut2.0 20M_cut1.2 20M_cut2.0 30M_cut1.2 30M_cut2.0 */ | 268 | struct stv0900_short_frames_car_loop_optim FE_STV0900_S2ShortCarLoop[4] = { |
214 | { STV0900_QPSK, 0x3C, 0x2F, 0x2B, 0x2E, 0x0B, 0x0E, 0x3A, 0x0E, 0x2A, 0x3D }, | 269 | /*Mod 2Mcut1.2 2Mcut2.0 5Mcut1.2 5Mcut2.0 10Mcut1.2 |
215 | { STV0900_8PSK, 0x0B, 0x3E, 0x2A, 0x0E, 0x0A, 0x2D, 0x19, 0x0D, 0x09, 0x3C }, | 270 | 10Mcut2.0 20Mcut1.2 20M_cut2.0 30Mcut1.2 30Mcut2.0*/ |
216 | { STV0900_16APSK, 0x1B, 0x1E, 0x1B, 0x1E, 0x1B, 0x1E, 0x3A, 0x3D, 0x2A, 0x2D }, | 271 | { STV0900_QPSK, 0x3C, 0x2F, 0x2B, 0x2E, 0x0B, |
217 | { STV0900_32APSK, 0x1B, 0x1E, 0x1B, 0x1E, 0x1B, 0x1E, 0x3A, 0x3D, 0x2A, 0x2D } | 272 | 0x0E, 0x3A, 0x0E, 0x2A, 0x3D }, |
273 | { STV0900_8PSK, 0x0B, 0x3E, 0x2A, 0x0E, 0x0A, | ||
274 | 0x2D, 0x19, 0x0D, 0x09, 0x3C }, | ||
275 | { STV0900_16APSK, 0x1B, 0x1E, 0x1B, 0x1E, 0x1B, | ||
276 | 0x1E, 0x3A, 0x3D, 0x2A, 0x2D }, | ||
277 | { STV0900_32APSK, 0x1B, 0x1E, 0x1B, 0x1E, 0x1B, | ||
278 | 0x1E, 0x3A, 0x3D, 0x2A, 0x2D } | ||
279 | }; | ||
280 | |||
281 | static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoopCut30[14] = { | ||
282 | /*Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon | ||
283 | 10MPoff 20MPon 20MPoff 30MPon 30MPoff */ | ||
284 | { STV0900_QPSK_12, 0x3C, 0x2C, 0x0C, 0x2C, 0x1B, | ||
285 | 0x2C, 0x1B, 0x1C, 0x0B, 0x3B }, | ||
286 | { STV0900_QPSK_35, 0x0D, 0x0D, 0x0C, 0x0D, 0x1B, | ||
287 | 0x3C, 0x1B, 0x1C, 0x0B, 0x3B }, | ||
288 | { STV0900_QPSK_23, 0x1D, 0x0D, 0x0C, 0x1D, 0x2B, | ||
289 | 0x3C, 0x1B, 0x1C, 0x0B, 0x3B }, | ||
290 | { STV0900_QPSK_34, 0x1D, 0x1D, 0x0C, 0x1D, 0x2B, | ||
291 | 0x3C, 0x1B, 0x1C, 0x0B, 0x3B }, | ||
292 | { STV0900_QPSK_45, 0x2D, 0x1D, 0x1C, 0x1D, 0x2B, | ||
293 | 0x3C, 0x2B, 0x0C, 0x1B, 0x3B }, | ||
294 | { STV0900_QPSK_56, 0x2D, 0x1D, 0x1C, 0x1D, 0x2B, | ||
295 | 0x3C, 0x2B, 0x0C, 0x1B, 0x3B }, | ||
296 | { STV0900_QPSK_89, 0x3D, 0x2D, 0x1C, 0x1D, 0x3B, | ||
297 | 0x3C, 0x2B, 0x0C, 0x1B, 0x3B }, | ||
298 | { STV0900_QPSK_910, 0x3D, 0x2D, 0x1C, 0x1D, 0x3B, | ||
299 | 0x3C, 0x2B, 0x0C, 0x1B, 0x3B }, | ||
300 | { STV0900_8PSK_35, 0x39, 0x19, 0x39, 0x19, 0x19, | ||
301 | 0x19, 0x19, 0x19, 0x09, 0x19 }, | ||
302 | { STV0900_8PSK_23, 0x2A, 0x39, 0x1A, 0x0A, 0x39, | ||
303 | 0x0A, 0x29, 0x39, 0x29, 0x0A }, | ||
304 | { STV0900_8PSK_34, 0x0B, 0x3A, 0x0B, 0x0B, 0x3A, | ||
305 | 0x1B, 0x1A, 0x0B, 0x1A, 0x3A }, | ||
306 | { STV0900_8PSK_56, 0x0C, 0x1B, 0x3B, 0x2B, 0x1B, | ||
307 | 0x3B, 0x3A, 0x3B, 0x3A, 0x1B }, | ||
308 | { STV0900_8PSK_89, 0x2C, 0x2C, 0x2C, 0x1C, 0x2B, | ||
309 | 0x0C, 0x0B, 0x3B, 0x0B, 0x1B }, | ||
310 | { STV0900_8PSK_910, 0x2C, 0x3C, 0x2C, 0x1C, 0x3B, | ||
311 | 0x1C, 0x0B, 0x3B, 0x0B, 0x1B } | ||
312 | }; | ||
313 | |||
314 | static const | ||
315 | struct stv0900_car_loop_optim FE_STV0900_S2APSKCarLoopCut30[11] = { | ||
316 | /*Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon | ||
317 | 10MPoff 20MPon 20MPoff 30MPon 30MPoff */ | ||
318 | { STV0900_16APSK_23, 0x0A, 0x0A, 0x0A, 0x0A, 0x1A, | ||
319 | 0x0A, 0x3A, 0x0A, 0x2A, 0x0A }, | ||
320 | { STV0900_16APSK_34, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, | ||
321 | 0x0A, 0x3B, 0x0A, 0x1B, 0x0A }, | ||
322 | { STV0900_16APSK_45, 0x0A, 0x0A, 0x0A, 0x0A, 0x1B, | ||
323 | 0x0A, 0x3B, 0x0A, 0x2B, 0x0A }, | ||
324 | { STV0900_16APSK_56, 0x0A, 0x0A, 0x0A, 0x0A, 0x1B, | ||
325 | 0x0A, 0x3B, 0x0A, 0x2B, 0x0A }, | ||
326 | { STV0900_16APSK_89, 0x0A, 0x0A, 0x0A, 0x0A, 0x2B, | ||
327 | 0x0A, 0x0C, 0x0A, 0x3B, 0x0A }, | ||
328 | { STV0900_16APSK_910, 0x0A, 0x0A, 0x0A, 0x0A, 0x2B, | ||
329 | 0x0A, 0x0C, 0x0A, 0x3B, 0x0A }, | ||
330 | { STV0900_32APSK_34, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, | ||
331 | 0x0A, 0x0A, 0x0A, 0x0A, 0x0A }, | ||
332 | { STV0900_32APSK_45, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, | ||
333 | 0x0A, 0x0A, 0x0A, 0x0A, 0x0A }, | ||
334 | { STV0900_32APSK_56, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, | ||
335 | 0x0A, 0x0A, 0x0A, 0x0A, 0x0A }, | ||
336 | { STV0900_32APSK_89, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, | ||
337 | 0x0A, 0x0A, 0x0A, 0x0A, 0x0A }, | ||
338 | { STV0900_32APSK_910, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, | ||
339 | 0x0A, 0x0A, 0x0A, 0x0A, 0x0A } | ||
340 | }; | ||
341 | |||
342 | static const | ||
343 | struct stv0900_car_loop_optim FE_STV0900_S2LowQPCarLoopCut30[3] = { | ||
344 | /*Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon | ||
345 | 10MPoff 20MPon 20MPoff 30MPon 30MPoff*/ | ||
346 | { STV0900_QPSK_14, 0x0C, 0x3C, 0x0B, 0x3C, 0x2A, | ||
347 | 0x2C, 0x2A, 0x1C, 0x3A, 0x3B }, | ||
348 | { STV0900_QPSK_13, 0x0C, 0x3C, 0x0B, 0x3C, 0x2A, | ||
349 | 0x2C, 0x3A, 0x0C, 0x3A, 0x2B }, | ||
350 | { STV0900_QPSK_25, 0x1C, 0x3C, 0x1B, 0x3C, 0x3A, | ||
351 | 0x1C, 0x3A, 0x3B, 0x3A, 0x2B } | ||
352 | }; | ||
353 | |||
354 | static const struct stv0900_short_frames_car_loop_optim_vs_mod | ||
355 | FE_STV0900_S2ShortCarLoopCut30[4] = { | ||
356 | /*Mod 2Mcut3.0 5Mcut3.0 10Mcut3.0 20Mcut3.0 30Mcut3.0*/ | ||
357 | { STV0900_QPSK, 0x2C, 0x2B, 0x0B, 0x0B, 0x3A }, | ||
358 | { STV0900_8PSK, 0x3B, 0x0B, 0x2A, 0x0A, 0x39 }, | ||
359 | { STV0900_16APSK, 0x1B, 0x1B, 0x1B, 0x3A, 0x2A }, | ||
360 | { STV0900_32APSK, 0x1B, 0x1B, 0x1B, 0x3A, 0x2A }, | ||
361 | |||
218 | }; | 362 | }; |
219 | 363 | ||
220 | static const u16 STV0900_InitVal[182][2] = { | 364 | static const u16 STV0900_InitVal[181][2] = { |
221 | { R0900_OUTCFG , 0x00 }, | 365 | { R0900_OUTCFG , 0x00 }, |
222 | { R0900_MODECFG , 0xff }, | ||
223 | { R0900_AGCRF1CFG , 0x11 }, | 366 | { R0900_AGCRF1CFG , 0x11 }, |
224 | { R0900_AGCRF2CFG , 0x13 }, | 367 | { R0900_AGCRF2CFG , 0x13 }, |
225 | { R0900_TSGENERAL1X , 0x14 }, | 368 | { R0900_TSGENERAL1X , 0x14 }, |
@@ -381,7 +524,7 @@ static const u16 STV0900_InitVal[182][2] = { | |||
381 | { R0900_GAINLLR_NF15 , 0x1A }, | 524 | { R0900_GAINLLR_NF15 , 0x1A }, |
382 | { R0900_GAINLLR_NF16 , 0x1F }, | 525 | { R0900_GAINLLR_NF16 , 0x1F }, |
383 | { R0900_GAINLLR_NF17 , 0x21 }, | 526 | { R0900_GAINLLR_NF17 , 0x21 }, |
384 | { R0900_RCCFGH , 0x20 }, | 527 | { R0900_RCCFG2 , 0x20 }, |
385 | { R0900_P1_FECM , 0x01 }, /*disable DSS modes*/ | 528 | { R0900_P1_FECM , 0x01 }, /*disable DSS modes*/ |
386 | { R0900_P2_FECM , 0x01 }, /*disable DSS modes*/ | 529 | { R0900_P2_FECM , 0x01 }, /*disable DSS modes*/ |
387 | { R0900_P1_PRVIT , 0x2F }, /*disable puncture rate 6/7*/ | 530 | { R0900_P1_PRVIT , 0x2F }, /*disable puncture rate 6/7*/ |