FreeCalypso > hg > freecalypso-sw
comparison gsm-fw/L1/cust1/l1_rf61.c @ 517:eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Thu, 10 Jul 2014 03:43:04 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
516:78495749970a | 517:eafadfee35b2 |
---|---|
1 /************* Revision Controle System Header ************* | |
2 * GSM Layer 1 software | |
3 * | |
4 * Filename l1_rf61.c | |
5 * Version 1.0 | |
6 * Date June 12th, 2005 | |
7 * | |
8 ************* Revision Controle System Header *************/ | |
9 | |
10 T_RF rf = | |
11 { | |
12 RF_LOCOSTO, //RF revision | |
13 RF_HW_BAND_SUPPORT, // radio_band_support E-GSM/DCS + PCS | |
14 | |
15 { //RX structure | |
16 { //AGC structure | |
17 140, // low_agc_noise_thr; | |
18 110, // high_agc_sat_thr; | |
19 0, // low_agc; | |
20 23, // high_agc; | |
21 //IL2AGC tables | |
22 { // below is: il2agc_pwr[121]; | |
23 // il2agc_max[121]; | |
24 // il2agc_av[121]; | |
25 // il2agc_pwr | |
26 // Note this is shared between PCN and EGSM. | |
27 0, /* EGSM_MAX IL=0 */ | |
28 0, /* EGSM_MAX IL=-1 */ | |
29 0, /* EGSM_MAX IL=-2 */ | |
30 0, /* EGSM_MAX IL=-3 */ | |
31 0, /* EGSM_MAX IL=-4 */ | |
32 0, /* EGSM_MAX IL=-5 */ | |
33 0, /* EGSM_MAX IL=-6 */ | |
34 0, /* EGSM_MAX IL=-7 */ | |
35 0, /* EGSM_MAX IL=-8 */ | |
36 0, /* EGSM_MAX IL=-9 */ | |
37 0, /* EGSM_MAX IL=-10 */ | |
38 0, /* EGSM_MAX IL=-11 */ | |
39 0, /* EGSM_MAX IL=-12 */ | |
40 0, /* EGSM_MAX IL=-13 */ | |
41 0, /* EGSM_MAX IL=-14 */ | |
42 0, /* EGSM_MAX IL=-15 */ | |
43 0, /* EGSM_MAX IL=-16 */ | |
44 0, /* EGSM_MAX IL=-17 */ | |
45 0, /* EGSM_MAX IL=-18 */ | |
46 0, /* EGSM_MAX IL=-19 */ | |
47 0, /* EGSM_MAX IL=-20 */ | |
48 0, /* EGSM_MAX IL=-21 */ | |
49 0, /* EGSM_MAX IL=-22 */ | |
50 0, /* EGSM_MAX IL=-23 */ | |
51 0, /* EGSM_MAX IL=-24 */ | |
52 0, /* EGSM_MAX IL=-25 */ | |
53 0, /* EGSM_MAX IL=-26 */ | |
54 0, /* EGSM_MAX IL=-27 */ | |
55 0, /* EGSM_MAX IL=-28 */ | |
56 0, /* EGSM_MAX IL=-29 */ | |
57 0, /* EGSM_MAX IL=-30 */ | |
58 0, /* EGSM_MAX IL=-31 */ | |
59 0, /* EGSM_MAX IL=-32 */ | |
60 0, /* EGSM_MAX IL=-33 */ | |
61 0, /* EGSM_MAX IL=-34 */ | |
62 0, /* EGSM_MAX IL=-35 */ | |
63 0, /* EGSM_MAX IL=-36 */ | |
64 0, /* EGSM_MAX IL=-37 */ | |
65 0, /* EGSM_MAX IL=-38 */ | |
66 0, /* EGSM_MAX IL=-39 */ | |
67 0, /* EGSM_MAX IL=-40 */ | |
68 0, /* EGSM_MAX IL=-41 */ | |
69 0, /* EGSM_MAX IL=-42 */ | |
70 5, /* EGSM_MAX IL=-43 */ | |
71 5, /* EGSM_MAX IL=-44 */ | |
72 0, /* EGSM_MAX IL=-45 */ | |
73 0, /* EGSM_MAX IL=-46 */ | |
74 0, /* EGSM_MAX IL=-47 */ | |
75 0, /* EGSM_MAX IL=-48 */ | |
76 0, /* EGSM_MAX IL=-49 */ | |
77 0, /* EGSM_MAX IL=-50 */ | |
78 0, /* EGSM_MAX IL=-51 */ | |
79 0, /* EGSM_MAX IL=-52 */ | |
80 0, /* EGSM_MAX IL=-53 */ | |
81 0, /* EGSM_MAX IL=-54 */ | |
82 0, /* EGSM_MAX IL=-55 */ | |
83 0, /* EGSM_MAX IL=-56 */ | |
84 0, /* EGSM_MAX IL=-57 */ | |
85 0, /* EGSM_MAX IL=-58 */ | |
86 0, /* EGSM_MAX IL=-59 */ | |
87 0, /* EGSM_MAX IL=-60 */ | |
88 0, /* EGSM_MAX IL=-61 */ | |
89 0, /* EGSM_MAX IL=-62 */ | |
90 0, /* EGSM_MAX IL=-63 */ | |
91 0, /* EGSM_MAX IL=-64 */ | |
92 0, /* EGSM_MAX IL=-65 */ | |
93 0, /* EGSM_MAX IL=-66 */ | |
94 0, /* EGSM_MAX IL=-67 */ | |
95 0, /* EGSM_MAX IL=-68 */ | |
96 0, /* EGSM_MAX IL=-69 */ | |
97 0, /* EGSM_MAX IL=-70 */ | |
98 0, /* EGSM_MAX IL=-71 */ | |
99 0, /* EGSM_MAX IL=-72 */ | |
100 0, /* EGSM_MAX IL=-73 */ | |
101 0, /* EGSM_MAX IL=-74 */ | |
102 5, /* EGSM_MAX IL=-75 */ | |
103 5, /* EGSM_MAX IL=-76 */ | |
104 8, /* EGSM_MAX IL=-77 */ | |
105 8, /* EGSM_MAX IL=-78 */ | |
106 11, /* EGSM_MAX IL=-79 */ | |
107 11, /* EGSM_MAX IL=-80 */ | |
108 11, /* EGSM_MAX IL=-81 */ | |
109 11, /* EGSM_MAX IL=-82 */ | |
110 11, /* EGSM_MAX IL=-83 */ | |
111 11, /* EGSM_MAX IL=-84 */ | |
112 14, /* EGSM_MAX IL=-85 */ | |
113 14, /* EGSM_MAX IL=-86 */ | |
114 14, /* EGSM_MAX IL=-87 */ | |
115 14, /* EGSM_MAX IL=-88 */ | |
116 14, /* EGSM_MAX IL=-89 */ | |
117 14, /* EGSM_MAX IL=-90 */ | |
118 14, /* EGSM_MAX IL=-91 */ | |
119 14, /* EGSM_MAX IL=-92 */ | |
120 14, /* EGSM_MAX IL=-93 */ | |
121 14, /* EGSM_MAX IL=-94 */ | |
122 17, /* EGSM_MAX IL=-95 */ | |
123 17, /* EGSM_MAX IL=-96 */ | |
124 20, /* EGSM_MAX IL=-97 */ | |
125 20, /* EGSM_MAX IL=-98 */ | |
126 20, /* EGSM_MAX IL=-99 */ | |
127 20, /* EGSM_MAX IL=-100 */ | |
128 23, /* EGSM_MAX IL=-101 */ | |
129 23, /* EGSM_MAX IL=-102 */ | |
130 23, /* EGSM_MAX IL=-103 */ | |
131 23, /* EGSM_MAX IL=-104 */ | |
132 23, /* EGSM_MAX IL=-105 */ | |
133 23, /* EGSM_MAX IL=-106 */ | |
134 23, /* EGSM_MAX IL=-107 */ | |
135 23, /* EGSM_MAX IL=-108 */ | |
136 23, /* EGSM_MAX IL=-109 */ | |
137 23, /* EGSM_MAX IL=-110 */ | |
138 23, /* EGSM_MAX IL=-111 */ | |
139 23, /* EGSM_MAX IL=-112 */ | |
140 23, /* EGSM_MAX IL=-113 */ | |
141 23, /* EGSM_MAX IL=-114 */ | |
142 23, /* EGSM_MAX IL=-115 */ | |
143 23, /* EGSM_MAX IL=-116 */ | |
144 23, /* EGSM_MAX IL=-117 */ | |
145 23, /* EGSM_MAX IL=-118 */ | |
146 23, /* EGSM_MAX IL=-119 */ | |
147 23 /* EGSM_MAX IL=-120 */ | |
148 }, | |
149 { // il2agc_max | |
150 // Note this is shared between PCN and EGSM. | |
151 0, /* EGSM_MAX IL=0 */ | |
152 0, /* EGSM_MAX IL=-1 */ | |
153 0, /* EGSM_MAX IL=-2 */ | |
154 0, /* EGSM_MAX IL=-3 */ | |
155 0, /* EGSM_MAX IL=-4 */ | |
156 0, /* EGSM_MAX IL=-5 */ | |
157 0, /* EGSM_MAX IL=-6 */ | |
158 0, /* EGSM_MAX IL=-7 */ | |
159 0, /* EGSM_MAX IL=-8 */ | |
160 0, /* EGSM_MAX IL=-9 */ | |
161 0, /* EGSM_MAX IL=-10 */ | |
162 0, /* EGSM_MAX IL=-11 */ | |
163 0, /* EGSM_MAX IL=-12 */ | |
164 0, /* EGSM_MAX IL=-13 */ | |
165 0, /* EGSM_MAX IL=-14 */ | |
166 0, /* EGSM_MAX IL=-15 */ | |
167 0, /* EGSM_MAX IL=-16 */ | |
168 0, /* EGSM_MAX IL=-17 */ | |
169 0, /* EGSM_MAX IL=-18 */ | |
170 0, /* EGSM_MAX IL=-19 */ | |
171 0, /* EGSM_MAX IL=-20 */ | |
172 0, /* EGSM_MAX IL=-21 */ | |
173 0, /* EGSM_MAX IL=-22 */ | |
174 0, /* EGSM_MAX IL=-23 */ | |
175 0, /* EGSM_MAX IL=-24 */ | |
176 0, /* EGSM_MAX IL=-25 */ | |
177 0, /* EGSM_MAX IL=-26 */ | |
178 0, /* EGSM_MAX IL=-27 */ | |
179 0, /* EGSM_MAX IL=-28 */ | |
180 0, /* EGSM_MAX IL=-29 */ | |
181 0, /* EGSM_MAX IL=-30 */ | |
182 0, /* EGSM_MAX IL=-31 */ | |
183 0, /* EGSM_MAX IL=-32 */ | |
184 0, /* EGSM_MAX IL=-33 */ | |
185 0, /* EGSM_MAX IL=-34 */ | |
186 0, /* EGSM_MAX IL=-35 */ | |
187 0, /* EGSM_MAX IL=-36 */ | |
188 0, /* EGSM_MAX IL=-37 */ | |
189 0, /* EGSM_MAX IL=-38 */ | |
190 0, /* EGSM_MAX IL=-39 */ | |
191 0, /* EGSM_MAX IL=-40 */ | |
192 0, /* EGSM_MAX IL=-41 */ | |
193 0, /* EGSM_MAX IL=-42 */ | |
194 5, /* EGSM_MAX IL=-43 */ | |
195 5, /* EGSM_MAX IL=-44 */ | |
196 0, /* EGSM_MAX IL=-45 */ | |
197 0, /* EGSM_MAX IL=-46 */ | |
198 0, /* EGSM_MAX IL=-47 */ | |
199 0, /* EGSM_MAX IL=-48 */ | |
200 0, /* EGSM_MAX IL=-49 */ | |
201 0, /* EGSM_MAX IL=-50 */ | |
202 0, /* EGSM_MAX IL=-51 */ | |
203 0, /* EGSM_MAX IL=-52 */ | |
204 0, /* EGSM_MAX IL=-53 */ | |
205 0, /* EGSM_MAX IL=-54 */ | |
206 0, /* EGSM_MAX IL=-55 */ | |
207 0, /* EGSM_MAX IL=-56 */ | |
208 0, /* EGSM_MAX IL=-57 */ | |
209 0, /* EGSM_MAX IL=-58 */ | |
210 0, /* EGSM_MAX IL=-59 */ | |
211 0, /* EGSM_MAX IL=-60 */ | |
212 0, /* EGSM_MAX IL=-61 */ | |
213 0, /* EGSM_MAX IL=-62 */ | |
214 0, /* EGSM_MAX IL=-63 */ | |
215 0, /* EGSM_MAX IL=-64 */ | |
216 0, /* EGSM_MAX IL=-65 */ | |
217 0, /* EGSM_MAX IL=-66 */ | |
218 0, /* EGSM_MAX IL=-67 */ | |
219 0, /* EGSM_MAX IL=-68 */ | |
220 0, /* EGSM_MAX IL=-69 */ | |
221 0, /* EGSM_MAX IL=-70 */ | |
222 0, /* EGSM_MAX IL=-71 */ | |
223 0, /* EGSM_MAX IL=-72 */ | |
224 0, /* EGSM_MAX IL=-73 */ | |
225 0, /* EGSM_MAX IL=-74 */ | |
226 5, /* EGSM_MAX IL=-75 */ | |
227 5, /* EGSM_MAX IL=-76 */ | |
228 8, /* EGSM_MAX IL=-77 */ | |
229 8, /* EGSM_MAX IL=-78 */ | |
230 11, /* EGSM_MAX IL=-79 */ | |
231 11, /* EGSM_MAX IL=-80 */ | |
232 11, /* EGSM_MAX IL=-81 */ | |
233 11, /* EGSM_MAX IL=-82 */ | |
234 11, /* EGSM_MAX IL=-83 */ | |
235 11, /* EGSM_MAX IL=-84 */ | |
236 14, /* EGSM_MAX IL=-85 */ | |
237 14, /* EGSM_MAX IL=-86 */ | |
238 14, /* EGSM_MAX IL=-87 */ | |
239 14, /* EGSM_MAX IL=-88 */ | |
240 14, /* EGSM_MAX IL=-89 */ | |
241 14, /* EGSM_MAX IL=-90 */ | |
242 14, /* EGSM_MAX IL=-91 */ | |
243 14, /* EGSM_MAX IL=-92 */ | |
244 14, /* EGSM_MAX IL=-93 */ | |
245 14, /* EGSM_MAX IL=-94 */ | |
246 17, /* EGSM_MAX IL=-95 */ | |
247 17, /* EGSM_MAX IL=-96 */ | |
248 20, /* EGSM_MAX IL=-97 */ | |
249 20, /* EGSM_MAX IL=-98 */ | |
250 20, /* EGSM_MAX IL=-99 */ | |
251 20, /* EGSM_MAX IL=-100 */ | |
252 23, /* EGSM_MAX IL=-101 */ | |
253 23, /* EGSM_MAX IL=-102 */ | |
254 23, /* EGSM_MAX IL=-103 */ | |
255 23, /* EGSM_MAX IL=-104 */ | |
256 23, /* EGSM_MAX IL=-105 */ | |
257 23, /* EGSM_MAX IL=-106 */ | |
258 23, /* EGSM_MAX IL=-107 */ | |
259 23, /* EGSM_MAX IL=-108 */ | |
260 23, /* EGSM_MAX IL=-109 */ | |
261 23, /* EGSM_MAX IL=-110 */ | |
262 23, /* EGSM_MAX IL=-111 */ | |
263 23, /* EGSM_MAX IL=-112 */ | |
264 23, /* EGSM_MAX IL=-113 */ | |
265 23, /* EGSM_MAX IL=-114 */ | |
266 23, /* EGSM_MAX IL=-115 */ | |
267 23, /* EGSM_MAX IL=-116 */ | |
268 23, /* EGSM_MAX IL=-117 */ | |
269 23, /* EGSM_MAX IL=-118 */ | |
270 23, /* EGSM_MAX IL=-119 */ | |
271 23 /* EGSM_MAX IL=-120 */ | |
272 }, | |
273 { // il2agc_av | |
274 // Note this is shared between PCN and EGSM. | |
275 0, /* EGSM_MAX IL=0 */ | |
276 0, /* EGSM_MAX IL=-1 */ | |
277 0, /* EGSM_MAX IL=-2 */ | |
278 0, /* EGSM_MAX IL=-3 */ | |
279 0, /* EGSM_MAX IL=-4 */ | |
280 0, /* EGSM_MAX IL=-5 */ | |
281 0, /* EGSM_MAX IL=-6 */ | |
282 0, /* EGSM_MAX IL=-7 */ | |
283 0, /* EGSM_MAX IL=-8 */ | |
284 0, /* EGSM_MAX IL=-9 */ | |
285 0, /* EGSM_MAX IL=-10 */ | |
286 0, /* EGSM_MAX IL=-11 */ | |
287 0, /* EGSM_MAX IL=-12 */ | |
288 0, /* EGSM_MAX IL=-13 */ | |
289 0, /* EGSM_MAX IL=-14 */ | |
290 0, /* EGSM_MAX IL=-15 */ | |
291 0, /* EGSM_MAX IL=-16 */ | |
292 0, /* EGSM_MAX IL=-17 */ | |
293 0, /* EGSM_MAX IL=-18 */ | |
294 0, /* EGSM_MAX IL=-19 */ | |
295 0, /* EGSM_MAX IL=-20 */ | |
296 0, /* EGSM_MAX IL=-21 */ | |
297 0, /* EGSM_MAX IL=-22 */ | |
298 0, /* EGSM_MAX IL=-23 */ | |
299 0, /* EGSM_MAX IL=-24 */ | |
300 0, /* EGSM_MAX IL=-25 */ | |
301 0, /* EGSM_MAX IL=-26 */ | |
302 0, /* EGSM_MAX IL=-27 */ | |
303 0, /* EGSM_MAX IL=-28 */ | |
304 0, /* EGSM_MAX IL=-29 */ | |
305 0, /* EGSM_MAX IL=-30 */ | |
306 0, /* EGSM_MAX IL=-31 */ | |
307 0, /* EGSM_MAX IL=-32 */ | |
308 0, /* EGSM_MAX IL=-33 */ | |
309 0, /* EGSM_MAX IL=-34 */ | |
310 0, /* EGSM_MAX IL=-35 */ | |
311 0, /* EGSM_MAX IL=-36 */ | |
312 0, /* EGSM_MAX IL=-37 */ | |
313 0, /* EGSM_MAX IL=-38 */ | |
314 0, /* EGSM_MAX IL=-39 */ | |
315 0, /* EGSM_MAX IL=-40 */ | |
316 0, /* EGSM_MAX IL=-41 */ | |
317 0, /* EGSM_MAX IL=-42 */ | |
318 5, /* EGSM_MAX IL=-43 */ | |
319 5, /* EGSM_MAX IL=-44 */ | |
320 0, /* EGSM_MAX IL=-45 */ | |
321 0, /* EGSM_MAX IL=-46 */ | |
322 0, /* EGSM_MAX IL=-47 */ | |
323 0, /* EGSM_MAX IL=-48 */ | |
324 0, /* EGSM_MAX IL=-49 */ | |
325 0, /* EGSM_MAX IL=-50 */ | |
326 0, /* EGSM_MAX IL=-51 */ | |
327 0, /* EGSM_MAX IL=-52 */ | |
328 0, /* EGSM_MAX IL=-53 */ | |
329 0, /* EGSM_MAX IL=-54 */ | |
330 0, /* EGSM_MAX IL=-55 */ | |
331 0, /* EGSM_MAX IL=-56 */ | |
332 0, /* EGSM_MAX IL=-57 */ | |
333 0, /* EGSM_MAX IL=-58 */ | |
334 0, /* EGSM_MAX IL=-59 */ | |
335 0, /* EGSM_MAX IL=-60 */ | |
336 0, /* EGSM_MAX IL=-61 */ | |
337 0, /* EGSM_MAX IL=-62 */ | |
338 0, /* EGSM_MAX IL=-63 */ | |
339 0, /* EGSM_MAX IL=-64 */ | |
340 0, /* EGSM_MAX IL=-65 */ | |
341 0, /* EGSM_MAX IL=-66 */ | |
342 0, /* EGSM_MAX IL=-67 */ | |
343 0, /* EGSM_MAX IL=-68 */ | |
344 0, /* EGSM_MAX IL=-69 */ | |
345 0, /* EGSM_MAX IL=-70 */ | |
346 0, /* EGSM_MAX IL=-71 */ | |
347 0, /* EGSM_MAX IL=-72 */ | |
348 0, /* EGSM_MAX IL=-73 */ | |
349 0, /* EGSM_MAX IL=-74 */ | |
350 5, /* EGSM_MAX IL=-75 */ | |
351 5, /* EGSM_MAX IL=-76 */ | |
352 8, /* EGSM_MAX IL=-77 */ | |
353 8, /* EGSM_MAX IL=-78 */ | |
354 11, /* EGSM_MAX IL=-79 */ | |
355 11, /* EGSM_MAX IL=-80 */ | |
356 11, /* EGSM_MAX IL=-81 */ | |
357 11, /* EGSM_MAX IL=-82 */ | |
358 11, /* EGSM_MAX IL=-83 */ | |
359 11, /* EGSM_MAX IL=-84 */ | |
360 14, /* EGSM_MAX IL=-85 */ | |
361 14, /* EGSM_MAX IL=-86 */ | |
362 14, /* EGSM_MAX IL=-87 */ | |
363 14, /* EGSM_MAX IL=-88 */ | |
364 14, /* EGSM_MAX IL=-89 */ | |
365 14, /* EGSM_MAX IL=-90 */ | |
366 14, /* EGSM_MAX IL=-91 */ | |
367 14, /* EGSM_MAX IL=-92 */ | |
368 14, /* EGSM_MAX IL=-93 */ | |
369 14, /* EGSM_MAX IL=-94 */ | |
370 17, /* EGSM_MAX IL=-95 */ | |
371 17, /* EGSM_MAX IL=-96 */ | |
372 20, /* EGSM_MAX IL=-97 */ | |
373 20, /* EGSM_MAX IL=-98 */ | |
374 20, /* EGSM_MAX IL=-99 */ | |
375 20, /* EGSM_MAX IL=-100 */ | |
376 23, /* EGSM_MAX IL=-101 */ | |
377 23, /* EGSM_MAX IL=-102 */ | |
378 23, /* EGSM_MAX IL=-103 */ | |
379 23, /* EGSM_MAX IL=-104 */ | |
380 23, /* EGSM_MAX IL=-105 */ | |
381 23, /* EGSM_MAX IL=-106 */ | |
382 23, /* EGSM_MAX IL=-107 */ | |
383 23, /* EGSM_MAX IL=-108 */ | |
384 23, /* EGSM_MAX IL=-109 */ | |
385 23, /* EGSM_MAX IL=-110 */ | |
386 23, /* EGSM_MAX IL=-111 */ | |
387 23, /* EGSM_MAX IL=-112 */ | |
388 23, /* EGSM_MAX IL=-113 */ | |
389 23, /* EGSM_MAX IL=-114 */ | |
390 23, /* EGSM_MAX IL=-115 */ | |
391 23, /* EGSM_MAX IL=-116 */ | |
392 23, /* EGSM_MAX IL=-117 */ | |
393 23, /* EGSM_MAX IL=-118 */ | |
394 23, /* EGSM_MAX IL=-119 */ | |
395 23 /* EGSM_MAX IL=-120 */ | |
396 } | |
397 }, | |
398 }, | |
399 { | |
400 {0, 0}, // ramp up and down delays | |
401 GUARD_BITS, // number of guard bits needed for ramp up | |
402 PRG_TX // propagation delay PRG_TX | |
403 }, | |
404 { //AFC parameters | |
405 EEPROM_AFC, | |
406 C_Psi_sta_inv, // (1/C_Psi_sta) | |
407 C_Psi_st, // C_Psi_sta * 0.8 F0.16 | |
408 C_Psi_st_32, // F0.32 | |
409 C_Psi_st_inv // (1/C_Psi_st) | |
410 | |
411 #if (VCXO_ALGO==1) | |
412 ,C_AFC_DAC_CENTER, // VCXO startup parameter - best guess | |
413 C_AFC_DAC_MIN, // VCXO startup parameter - 15ppm | |
414 C_AFC_DAC_MAX, // VCXO startup parameter + 15ppm | |
415 C_AFC_SNR_THR // snr - Default threshold value | |
416 #endif | |
417 } | |
418 }; | |
419 | |
420 #if (L1_FF_MULTIBAND == 0) | |
421 T_RF_BAND rf_band[GSM_BANDS]; //uninitialised rf struct for bands | |
422 #else | |
423 T_RF_BAND rf_band[RF_NB_SUPPORTED_BANDS]; | |
424 #endif | |
425 | |
426 | |
427 const T_RF_BAND rf_900 = | |
428 { | |
429 { //RX structure | |
430 //T_RX_CAL_PARAMS rx_cal_params | |
431 { | |
432 229, //g_magic | |
433 54, //lna_gain_max * 2 | |
434 40, //lna_th_high | |
435 44 //lna_th_low | |
436 }, | |
437 { //T_RF_AGC_BAND agc_bands[RF_RX_CAL_CHAN_SIZE]; | |
438 // Remark: ARFCN=0 (GSM-E) is maintained by 1st GSM subbband. | |
439 // upper_bound, agc_calib | |
440 { 10, 0}, // sub-band1 up to arfcn = 10, Agc calibration = 0db | |
441 { 30, 0}, // sub-band2 up to arfcn = 30, Agc calibration = 0db | |
442 { 51, 0}, // sub-band3 up to arfcn = 51, Agc calibration = 0db | |
443 { 71, 0}, // etc. | |
444 { 90, 0}, // | |
445 { 112, 0}, // | |
446 { 124, 0}, // | |
447 { 991, 0}, // | |
448 { 992, 0}, // | |
449 {1023, 0}, // | |
450 }, | |
451 { //RX temperature compensation | |
452 { -15 , 0 }, | |
453 { -5 , 0 }, | |
454 { 6 , 0 }, | |
455 { 16 , 0 }, | |
456 { 25 , 0 }, | |
457 { 35 , 0 }, | |
458 { 45 , 0 }, | |
459 { 56 , 0 }, | |
460 { 66 , 0 }, | |
461 { 75 , 0 }, | |
462 { 100 , 0 } | |
463 } | |
464 }, | |
465 { //TX structure | |
466 {// gsm900 T_LEVEL_TX | |
467 {457, 0, 0}, // 0 | |
468 {457, 0, 0}, // 1 | |
469 {457, 0, 0}, // 2 | |
470 {457, 0, 0}, // 3 | |
471 {457, 0, 0}, // 4 | |
472 {457, 0, 0}, // 5 Highest power | |
473 {400, 1, 0}, // 6 | |
474 {325, 2, 0}, // 7 | |
475 {270, 3, 0}, // 8 | |
476 {220, 4, 0}, // 9 | |
477 {180, 5, 0}, // 10 | |
478 {155, 6, 0}, // 11 | |
479 {130, 7, 0}, // 12 | |
480 {110, 8, 0}, // 13 | |
481 { 95, 9, 0}, // 14 | |
482 { 80, 10, 0}, // 15 | |
483 { 70, 11, 0}, // 16 | |
484 { 62, 12, 0}, // 17 | |
485 { 55, 13, 0}, // 18 | |
486 { 50, 14, 0}, // 19 Lowest power | |
487 { 50, 14, 0}, // 20 | |
488 { 50, 14, 0}, // 21 | |
489 { 50, 14, 0}, // 22 | |
490 { 50, 14, 0}, // 23 | |
491 { 50, 14, 0}, // 24 | |
492 { 50, 14, 0}, // 25 | |
493 { 50, 14, 0}, // 26 | |
494 { 50, 14, 0}, // 27 | |
495 { 50, 14, 0}, // 28 | |
496 { 50, 14, 0}, // 29 | |
497 { 50, 14, 0}, // 30 | |
498 { 50, 14, 0}, // 31 | |
499 }, | |
500 #if(REL99 && FF_PRF)// needs proper values from RF | |
501 {// gsm900 levels_power_reduction | |
502 {457, 0, 0}, // for uplink 1 timeslot = no power reduction ie 0,0 dB | |
503 {457, 0, 0}, // for 2 uplink timeslot = reduction between 0,0 dB to 3,0 dB | |
504 {457, 0, 0}, // for 3 uplink timeslot = reduction between 1,8 dB to 4,8 dB | |
505 {457, 0, 0}, // for 4 uplink timselot = reduction between 3,0 dB to 6,0 dB | |
506 }, | |
507 #endif | |
508 {// Channel Calibration Tables | |
509 {// arfcn, tx_chan_cal | |
510 { 20, 128 }, // Calibration Table 0 | |
511 { 100, 128 }, | |
512 { 124, 128 }, | |
513 { 586, 128 }, | |
514 { 661, 128 }, | |
515 { 736, 128 }, | |
516 { 885, 128 }, | |
517 { 1023, 128 } | |
518 }, | |
519 {// arfcn, tx_chan_cal | |
520 { 40, 128 }, // Calibration Table 1 | |
521 { 80, 128 }, | |
522 { 124, 128 }, | |
523 { 586, 128 }, | |
524 { 661, 128 }, | |
525 { 736, 128 }, | |
526 { 885, 128 }, | |
527 { 1023, 128 } | |
528 }, | |
529 {// arfcn, tx_chan_cal | |
530 { 40, 128 }, // Calibration Table 2 | |
531 { 80, 128 }, | |
532 { 124, 128 }, | |
533 { 586, 128 }, | |
534 { 661, 128 }, | |
535 { 736, 128 }, | |
536 { 885, 128 }, | |
537 { 1023, 128 } | |
538 }, | |
539 {// arfcn, tx_chan_cal | |
540 { 40, 128 }, // Calibration Table 3 | |
541 { 80, 128 }, | |
542 { 124, 128 }, | |
543 { 586, 128 }, | |
544 { 661, 128 }, | |
545 { 736, 128 }, | |
546 { 885, 128 }, | |
547 { 1023, 128 } | |
548 } | |
549 }, | |
550 { // GSM Power Ramp Values | |
551 { | |
552 {// Ramp-Up #0 profile - Power Level 5 | |
553 0,0,0,0,0,0,10,14,17,25, | |
554 37,64,95,127,160,191,218,238,251,255 | |
555 }, | |
556 {// Ramp-Down #0 profile | |
557 255,251,238,218,191,160,127,95,64,37, | |
558 17,4,0,0,0,0,0,0,0,0 | |
559 }, | |
560 }, | |
561 { | |
562 {// Ramp-Up #1 profile - Power Level 6 | |
563 0,0,0,0,0,0,10,14,21,29, | |
564 37,64,95,127,160,191,218,238,251,255 | |
565 }, | |
566 {// Ramp-Down #1 profile | |
567 255,251,238,218,191,160,127,95,64,37, | |
568 17,4,0,0,0,0,0,0,0,0 | |
569 }, | |
570 }, | |
571 { | |
572 {// Ramp-Up #2 profile - Power Level 7 | |
573 0,0,0,0,0,0,10,14,21,29, | |
574 37,64,95,127,160,191,218,238,251,255 | |
575 }, | |
576 {// Ramp-Down #2 profile | |
577 255,251,238,218,191,160,127,95,64,37, | |
578 17,4,0,0,0,0,0,0,0,0 | |
579 }, | |
580 }, | |
581 { | |
582 {// Ramp-Up #3 profile - Power Level 8 | |
583 0,0,0,0,0,0,10,14,21,29, | |
584 37,64,95,127,160,191,218,238,251,255 | |
585 }, | |
586 {// Ramp-Down #3 profile | |
587 255,251,238,218,191,160,127,95,64,37, | |
588 17,4,0,0,0,0,0,0,0,0 | |
589 }, | |
590 }, | |
591 { | |
592 {// Ramp-Up #4 profile - Power Level 9 | |
593 0,0,0,0,0,0,10,14,17,25, | |
594 37,64,95,127,160,191,218,238,251,255 | |
595 }, | |
596 {// Ramp-Down #4 profile | |
597 255,251,238,218,191,160,127,95,64,37, | |
598 17,4,0,0,0,0,0,0,0,0 | |
599 }, | |
600 }, | |
601 { | |
602 {// Ramp-Up #5 profile - Power Level 10 | |
603 0,0,0,0,0,0,10,14,21,29, | |
604 37,64,95,127,160,191,218,238,251,255 | |
605 }, | |
606 {// Ramp-Down #5 profile | |
607 255,251,238,218,191,160,127,95,64,37, | |
608 17,4,0,0,0,0,0,0,0,0 | |
609 }, | |
610 }, | |
611 { | |
612 {// Ramp-Up #6 profile - Power Level 11 | |
613 0,0,0,0,0,0,10,14,21,29, | |
614 37,64,95,127,160,191,218,238,251,255 | |
615 }, | |
616 {// Ramp-Down #6 profile | |
617 255,251,238,218,191,160,127,95,64,37, | |
618 17,4,0,0,0,0,0,0,0,0 | |
619 }, | |
620 }, | |
621 { | |
622 {// Ramp-Up #7 profile - Power Level 12 | |
623 0,0,0,0,0,0,10,14,21,29, | |
624 37,64,95,127,160,191,218,238,251,255 | |
625 }, | |
626 {// Ramp-Down #7 profile | |
627 255,251,238,218,191,160,127,95,64,37, | |
628 17,4,0,0,0,0,0,0,0,0 | |
629 }, | |
630 }, | |
631 { | |
632 {// Ramp-Up #8 profile - Power Level 13 | |
633 0,0,0,0,0,0,10,14,17,25, | |
634 37,64,95,127,160,191,218,238,251,255 | |
635 }, | |
636 {// Ramp-Down #8 profile | |
637 255,251,238,218,191,160,127,95,64,37, | |
638 17,4,0,0,0,0,0,0,0,0 | |
639 }, | |
640 }, | |
641 { | |
642 {// Ramp-Up #9 profile - Power Level 14 | |
643 0,0,0,0,0,0,10,14,21,29, | |
644 37,64,95,127,160,191,218,238,251,255 | |
645 }, | |
646 {// Ramp-Down #9 profile | |
647 255,251,238,218,191,160,127,95,64,37, | |
648 17,4,0,0,0,0,0,0,0,0 | |
649 }, | |
650 }, | |
651 { | |
652 {// Ramp-Up #10 profile - Power Level 15 | |
653 0,0,0,0,0,0,10,14,21,29, | |
654 37,64,95,127,160,191,218,238,251,255 | |
655 }, | |
656 {// Ramp-Down #10 profile | |
657 255,251,238,218,191,160,127,95,64,37, | |
658 17,4,0,0,0,0,0,0,0,0 | |
659 }, | |
660 }, | |
661 { | |
662 {// Ramp-Up #11 profile - Power Level 16 | |
663 0,0,0,0,0,0,10,14,21,29, | |
664 37,64,95,127,160,191,218,238,251,255 | |
665 }, | |
666 {// Ramp-Down #11 profile | |
667 255,251,238,218,191,160,127,95,64,37, | |
668 17,4,0,0,0,0,0,0,0,0 | |
669 }, | |
670 }, | |
671 { | |
672 {// Ramp-Up #12 profile - Power Level 17 | |
673 0,0,0,0,0,0,10,14,17,25, | |
674 37,64,95,127,160,191,218,238,251,255 | |
675 }, | |
676 {// Ramp-Down #12 profile | |
677 255,251,238,218,191,160,127,95,64,37, | |
678 17,4,0,0,0,0,0,0,0,0 | |
679 }, | |
680 }, | |
681 { | |
682 {// Ramp-Up #13 profile - Power Level 18 | |
683 0,0,0,0,0,0,10,14,21,29, | |
684 37,64,95,127,160,191,218,238,251,255 | |
685 }, | |
686 {// Ramp-Down #13 profile | |
687 255,251,238,218,191,160,127,95,64,37, | |
688 17,4,0,0,0,0,0,0,0,0 | |
689 }, | |
690 }, | |
691 { | |
692 {// Ramp-Up #14 profile - Power Level 19 | |
693 0,0,0,0,0,0,10,14,21,29, | |
694 37,64,95,127,160,191,218,238,251,255 | |
695 }, | |
696 {// Ramp-Down #14 profile | |
697 255,251,238,218,191,160,127,95,64,37, | |
698 17,4,0,0,0,0,0,0,0,0 | |
699 }, | |
700 }, | |
701 { | |
702 {// Ramp-Up #15 profile - Power Level 19 | |
703 0,0,0,0,0,0,10,14,21,29, | |
704 37,64,95,127,160,191,218,238,251,255 | |
705 }, | |
706 {// Ramp-Down #15 profile | |
707 255,251,238,218,191,160,127,95,64,37, | |
708 17,4,0,0,0,0,0,0,0,0 | |
709 }, | |
710 }, | |
711 }, | |
712 { //TX temperature compensation | |
713 #if (ORDER2_TX_TEMP_CAL==1) | |
714 { -11, 0, 0, 0 }, | |
715 { +9, 0, 0, 0 }, | |
716 { +39, 0, 0, 0 }, | |
717 { +59, 0, 0, 0 }, | |
718 { 127, 0, 0, 0 } | |
719 #else | |
720 { -11, 0 }, | |
721 { +9, 0 }, | |
722 { +39, 0 }, | |
723 { +59, 0 }, | |
724 { 127, 0 } | |
725 #endif | |
726 }, | |
727 }, | |
728 //IQ swap | |
729 SWAP_IQ_GSM, | |
730 }; | |
731 | |
732 const T_RF_BAND rf_1800 = | |
733 { | |
734 { //RX structure | |
735 { //T_RX_CAL_PARAMS rx_cal_params | |
736 229, //g_magic | |
737 54, //lna gain * 2 | |
738 40, //lna_th_high | |
739 44 //lna_th_low | |
740 }, | |
741 { //T_RF_AGC_BAND agc_bands[RF_RX_CAL_CHAN_SIZE]; | |
742 /*--------------*/ | |
743 /*-- DCS band --*/ | |
744 /*--------------*/ | |
745 { 548, 0}, // | |
746 { 622, 0}, // | |
747 { 680, 0}, // | |
748 { 745, 0}, // | |
749 { 812, 0}, // | |
750 { 860, 0}, // | |
751 { 885, 0}, // | |
752 { 991, 0}, // | |
753 { 992, 0}, // | |
754 {1023, 0}, // | |
755 }, | |
756 { //RX temperature compensation | |
757 { -15 , 0 }, | |
758 { -5 , 0 }, | |
759 { 6 , 0 }, | |
760 { 16 , 0 }, | |
761 { 25 , 0 }, | |
762 { 35 , 0 }, | |
763 { 45 , 0 }, | |
764 { 56 , 0 }, | |
765 { 66 , 0 }, | |
766 { 75 , 0 }, | |
767 { 100 , 0 } | |
768 } | |
769 }, | |
770 { //TX structure | |
771 {// dcs1800 T_LEVEL_TX | |
772 {424, 0, 0}, // 0 Highest power | |
773 {375, 1, 0}, // 1 | |
774 {310, 2, 0}, // 2 | |
775 {255, 3, 0}, // 3 | |
776 {210, 4, 0}, // 4 | |
777 {180, 5, 0}, // 5 | |
778 {152, 6, 0}, // 6 | |
779 {130, 7, 0}, // 7 | |
780 {112, 8, 0}, // 8 | |
781 {98, 9, 0}, // 9 | |
782 {85, 10, 0}, // 10 | |
783 {75, 11, 0}, // 11 | |
784 {66, 12, 0}, // 12 | |
785 {58, 13, 0}, // 13 | |
786 {52, 14, 0}, // 14 | |
787 {47, 15, 0}, // 15 Lowest power | |
788 {47, 15, 0}, // 16 | |
789 {47, 15, 0}, // 17 | |
790 {47, 15, 0}, // 18 | |
791 {47, 15, 0}, // 19 | |
792 {47, 15, 0}, // 20 | |
793 {47, 15, 0}, // 21 | |
794 {47, 15, 0}, // 22 | |
795 {47, 15, 0}, // 23 | |
796 {47, 15, 0}, // 24 | |
797 {47, 15, 0}, // 25 | |
798 {47, 15, 0}, // 26 | |
799 {47, 15, 0}, // 27 | |
800 {47, 15, 0}, // 28 | |
801 {424, 0, 0}, // 29 Highest power | |
802 {424, 0, 0}, // 30 Highest power | |
803 {424, 0, 0}, // 31 Highest power | |
804 }, | |
805 #if(REL99 && FF_PRF)// needs proper values from RF | |
806 {// 1800 levels_power_reduction | |
807 {424, 0, 0}, // for uplink 1 timeslot = no power reduction ie 0,0 dB | |
808 {424, 0, 0}, // for 2 uplink timeslot = reduction between 0,0 dB to 3,0 dB | |
809 {424, 0, 0}, // for 3 uplink timeslot = reduction between 1,8 dB to 4,8 dB | |
810 {424, 0, 0}, // for 4 uplink timselot = reduction between 3,0 dB to 6,0 dB | |
811 }, | |
812 #endif | |
813 {// Channel Calibration Tables | |
814 {// arfcn, tx_chan_cal | |
815 { 554, 128 }, // Calibration Table 0 | |
816 { 722, 128 }, | |
817 { 746, 128 }, | |
818 { 774, 128 }, | |
819 { 808, 128 }, | |
820 { 851, 128 }, | |
821 { 870, 128 }, | |
822 { 885, 128 } | |
823 }, | |
824 { | |
825 { 554, 128 }, // Calibration Table 1 | |
826 { 722, 128 }, | |
827 { 746, 128 }, | |
828 { 774, 128 }, | |
829 { 808, 128 }, | |
830 { 851, 128 }, | |
831 { 870, 128 }, | |
832 { 885, 128 } | |
833 }, | |
834 {// arfcn, tx_chan_cal | |
835 { 554, 128 }, // Calibration Table 2 | |
836 { 722, 128 }, | |
837 { 746, 128 }, | |
838 { 774, 128 }, | |
839 { 808, 128 }, | |
840 { 851, 128 }, | |
841 { 870, 128 }, | |
842 { 885, 128 } | |
843 }, | |
844 {// arfcn, tx_chan_cal | |
845 { 554, 128 }, // Calibration Table 3 | |
846 { 722, 128 }, | |
847 { 746, 128 }, | |
848 { 774, 128 }, | |
849 { 808, 128 }, | |
850 { 851, 128 }, | |
851 { 870, 128 }, | |
852 { 885, 128 } | |
853 } | |
854 }, | |
855 { // DCS Power Ramp Values | |
856 { | |
857 {// Ramp-Up #0 profile - Power Level 0 | |
858 0,0,0,0,0,0,10,14,17,25, | |
859 37,64,95,127,160,191,218,238,251,255 | |
860 }, | |
861 {// Ramp-Down #0 profile | |
862 255,251,238,218,191,160,127,95,64,37, | |
863 17,4,0,0,0,0,0,0,0,0 | |
864 }, | |
865 }, | |
866 { | |
867 {// Ramp-Up #1 profile - Power Level 1 | |
868 0,0,0,0,0,0,10,14,21,29, | |
869 37,64,95,127,160,191,218,238,251,255 | |
870 }, | |
871 {// Ramp-Down #1 profile | |
872 255,251,238,218,191,160,127,95,64,37, | |
873 17,4,0,0,0,0,0,0,0,0 | |
874 }, | |
875 }, | |
876 { | |
877 {// Ramp-Up #2 profile - Power Level 2 | |
878 0,0,0,0,0,0,10,14,21,29, | |
879 37,64,95,127,160,191,218,238,251,255 | |
880 }, | |
881 {// Ramp-Down #2 profile | |
882 255,251,238,218,191,160,127,95,64,37, | |
883 17,4,0,0,0,0,0,0,0,0 | |
884 }, | |
885 }, | |
886 { | |
887 {// Ramp-Up #3 profile - Power Level 3 | |
888 0,0,0,0,0,0,10,14,21,29, | |
889 37,64,95,127,160,191,218,238,251,255 | |
890 }, | |
891 {// Ramp-Down #3 profile | |
892 255,251,238,218,191,160,127,95,64,37, | |
893 17,4,0,0,0,0,0,0,0,0 | |
894 }, | |
895 }, | |
896 { | |
897 {// Ramp-Up #4 profile - Power Level 4 | |
898 0,0,0,0,0,0,10,14,17,25, | |
899 37,64,95,127,160,191,218,238,251,255 | |
900 }, | |
901 {// Ramp-Down #4 profile | |
902 255,251,238,218,191,160,127,95,64,37, | |
903 17,4,0,0,0,0,0,0,0,0 | |
904 }, | |
905 }, | |
906 { | |
907 {// Ramp-Up #5 profile - Power Level 5 | |
908 0,0,0,0,0,0,10,14,21,29, | |
909 37,64,95,127,160,191,218,238,251,255 | |
910 }, | |
911 {// Ramp-Down #5 profile | |
912 255,251,238,218,191,160,127,95,64,37, | |
913 17,4,0,0,0,0,0,0,0,0 | |
914 }, | |
915 }, | |
916 { | |
917 {// Ramp-Up #6 profile - Power Level 6 | |
918 0,0,0,0,0,0,10,14,21,29, | |
919 37,64,95,127,160,191,218,238,251,255 | |
920 }, | |
921 {// Ramp-Down #6 profile | |
922 255,251,238,218,191,160,127,95,64,37, | |
923 17,4,0,0,0,0,0,0,0,0 | |
924 }, | |
925 }, | |
926 { | |
927 {// Ramp-Up #7 profile - Power Level 7 | |
928 0,0,0,0,0,0,10,14,21,29, | |
929 37,64,95,127,160,191,218,238,251,255 | |
930 }, | |
931 {// Ramp-Down #7 profile | |
932 255,251,238,218,191,160,127,95,64,37, | |
933 17,4,0,0,0,0,0,0,0,0 | |
934 }, | |
935 }, | |
936 { | |
937 {// Ramp-Up #8 profile - Power Level 8 | |
938 0,0,0,0,0,0,10,14,17,25, | |
939 37,64,95,127,160,191,218,238,251,255 | |
940 }, | |
941 {// Ramp-Down #8 profile | |
942 255,251,238,218,191,160,127,95,64,37, | |
943 17,4,0,0,0,0,0,0,0,0 | |
944 }, | |
945 }, | |
946 { | |
947 {// Ramp-Up #9 profile - Power Level 9 | |
948 0,0,0,0,0,0,10,14,21,29, | |
949 37,64,95,127,160,191,218,238,251,255 | |
950 }, | |
951 {// Ramp-Down #9 profile | |
952 255,251,238,218,191,160,127,95,64,37, | |
953 17,4,0,0,0,0,0,0,0,0 | |
954 }, | |
955 }, | |
956 { | |
957 {// Ramp-Up #10 profile - Power Level 10 | |
958 0,0,0,0,0,0,10,14,21,29, | |
959 37,64,95,127,160,191,218,238,251,255 | |
960 }, | |
961 {// Ramp-Down #10 profile | |
962 255,251,238,218,191,160,127,95,64,37, | |
963 17,4,0,0,0,0,0,0,0,0 | |
964 }, | |
965 }, | |
966 { | |
967 {// Ramp-Up #11 profile - Power Level 11 | |
968 0,0,0,0,0,0,10,14,21,29, | |
969 37,64,95,127,160,191,218,238,251,255 | |
970 }, | |
971 {// Ramp-Down #11 profile | |
972 255,251,238,218,191,160,127,95,64,37, | |
973 17,4,0,0,0,0,0,0,0,0 | |
974 }, | |
975 }, | |
976 { | |
977 {// Ramp-Up #12 profile - Power Level 12 | |
978 0,0,0,0,0,0,10,14,17,25, | |
979 37,64,95,127,160,191,218,238,251,255 | |
980 }, | |
981 {// Ramp-Down #12 profile | |
982 255,251,238,218,191,160,127,95,64,37, | |
983 17,4,0,0,0,0,0,0,0,0 | |
984 }, | |
985 }, | |
986 { | |
987 {// Ramp-Up #13 profile - Power Level 13 | |
988 0,0,0,0,0,0,10,14,21,29, | |
989 37,64,95,127,160,191,218,238,251,255 | |
990 }, | |
991 {// Ramp-Down #13 profile | |
992 255,251,238,218,191,160,127,95,64,37, | |
993 17,4,0,0,0,0,0,0,0,0 | |
994 }, | |
995 }, | |
996 { | |
997 {// Ramp-Up #14 profile - Power Level 14 | |
998 0,0,0,0,0,0,10,14,21,29, | |
999 37,64,95,127,160,191,218,238,251,255 | |
1000 | |
1001 }, | |
1002 {// Ramp-Down #14 profile | |
1003 255,251,238,218,191,160,127,95,64,37, | |
1004 17,4,0,0,0,0,0,0,0,0 | |
1005 }, | |
1006 }, | |
1007 { | |
1008 {// Ramp-Up #15 profile - Power Level 15 | |
1009 0,0,0,0,0,0,10,14,21,29, | |
1010 37,64,95,127,160,191,218,238,251,255 | |
1011 }, | |
1012 {// Ramp-Down #15 profile | |
1013 255,251,238,218,191,160,127,95,64,37, | |
1014 17,4,0,0,0,0,0,0,0,0 | |
1015 }, | |
1016 }, | |
1017 }, | |
1018 { //TX temperature compensation | |
1019 #if (ORDER2_TX_TEMP_CAL==1) | |
1020 { -11, 0, 0, 0 }, | |
1021 { +9, 0, 0, 0 }, | |
1022 { +39, 0, 0, 0 }, | |
1023 { +59, 0, 0, 0 }, | |
1024 { 127, 0, 0, 0 } | |
1025 #else | |
1026 { -11, 0 }, | |
1027 { +9, 0 }, | |
1028 { +39, 0 }, | |
1029 { +59, 0 }, | |
1030 { 127, 0 } | |
1031 #endif | |
1032 }, | |
1033 }, | |
1034 //IQ swap | |
1035 SWAP_IQ_DCS | |
1036 }; | |
1037 | |
1038 //copy from gsm900 | |
1039 const T_RF_BAND rf_850 = | |
1040 { | |
1041 { //RX structure | |
1042 //T_RX_CAL_PARAMS rx_cal_params | |
1043 { | |
1044 | |
1045 229, //g_magic | |
1046 54, //lna_gain_max * 2 | |
1047 40, //lna_th_high | |
1048 44 //lna_th_low | |
1049 }, | |
1050 { //T_RF_AGC_BAND agc_bands[RF_RX_CAL_CHAN_SIZE]; | |
1051 // Remark: ARFCN=0 (GSM-E) is maintained by 1st GSM subbband. | |
1052 // upper_bound, agc_calib | |
1053 { 10, 0}, // sub-band1 up to arfcn = 10, Agc calibration = 0db | |
1054 { 30, 0}, // sub-band2 up to arfcn = 30, Agc calibration = 0db | |
1055 { 51, 0}, // sub-band3 up to arfcn = 51, Agc calibration = 0db | |
1056 { 71, 0}, // etc. | |
1057 { 90, 0}, // | |
1058 { 112, 0}, // | |
1059 { 124, 0}, // | |
1060 { 991, 0}, // | |
1061 { 992, 0}, // | |
1062 {1023, 0}, // | |
1063 }, | |
1064 { //RX temperature compensation | |
1065 { -15 , 0 }, | |
1066 { -5 , 0 }, | |
1067 { 6 , 0 }, | |
1068 { 16 , 0 }, | |
1069 { 25 , 0 }, | |
1070 { 35 , 0 }, | |
1071 { 45 , 0 }, | |
1072 { 56 , 0 }, | |
1073 { 66 , 0 }, | |
1074 { 75 , 0 }, | |
1075 { 100 , 0 } | |
1076 } | |
1077 }, | |
1078 { //TX structure | |
1079 {// gsm850 T_LEVEL_TX | |
1080 {486, 0, 0}, // 0 | |
1081 {486, 0, 0}, // 1 | |
1082 {486, 0, 0}, // 2 | |
1083 {486, 0, 0}, // 3 | |
1084 {486, 0, 0}, // 4 | |
1085 {486, 0, 0}, // 5 Highest power | |
1086 {400, 1, 0}, // 6 | |
1087 {330, 2, 0}, // 7 | |
1088 {270, 3, 0}, // 8 | |
1089 {223, 4, 0}, // 9 | |
1090 {186, 5, 0}, // 10 | |
1091 {158, 6, 0}, // 11 | |
1092 {133, 7, 0}, // 12 | |
1093 {114, 8, 0}, // 13 | |
1094 {97, 9, 0}, // 14 | |
1095 {84, 10, 0}, // 15 | |
1096 {73, 11, 0}, // 16 | |
1097 {64, 12, 0}, // 17 | |
1098 {57, 13, 0}, // 18 | |
1099 {52, 14, 0}, // 19 Lowest power | |
1100 {52, 14, 0}, // 20 | |
1101 {52, 14, 0}, // 21 | |
1102 {52, 14, 0}, // 22 | |
1103 {52, 14, 0}, // 23 | |
1104 {52, 14, 0}, // 24 | |
1105 {52, 14, 0}, // 25 | |
1106 {52, 14, 0}, // 26 | |
1107 {52, 14, 0}, // 27 | |
1108 {52, 14, 0}, // 28 | |
1109 {52, 14, 0}, // 29 | |
1110 {52, 14, 0}, // 30 | |
1111 {52, 14, 0}, // 31 | |
1112 }, | |
1113 #if(REL99 && FF_PRF)// needs proper values from RF | |
1114 {// gsm850 levels_power_reduction | |
1115 {486, 0, 0}, // for uplink 1 timeslot = no power reduction ie 0,0 dB | |
1116 {486, 0, 0}, // for 2 uplink timeslot = reduction between 0,0 dB to 3,0 dB | |
1117 {486, 0, 0}, // for 3 uplink timeslot = reduction between 1,8 dB to 4,8 dB | |
1118 {486, 0, 0}, // for 4 uplink timselot = reduction between 3,0 dB to 6,0 dB | |
1119 }, | |
1120 #endif | |
1121 {// Channel Calibration Tables | |
1122 {// arfcn, tx_chan_cal | |
1123 { 40, 128 }, // Calibration Table 0 | |
1124 { 80, 128 }, | |
1125 { 124, 128 }, | |
1126 { 586, 128 }, | |
1127 { 661, 128 }, | |
1128 { 736, 128 }, | |
1129 { 885, 128 }, | |
1130 { 1023, 128 } | |
1131 }, | |
1132 {// arfcn, tx_chan_cal | |
1133 { 554, 130 }, // Calibration Table 1 | |
1134 { 722, 128 }, | |
1135 { 746, 129 }, | |
1136 { 774, 131 }, | |
1137 { 808, 132 }, | |
1138 { 851, 134 }, | |
1139 { 870, 138 }, | |
1140 { 885, 140 } | |
1141 }, | |
1142 {// arfcn, tx_chan_cal | |
1143 { 40, 128 }, // Calibration Table 2 | |
1144 { 80, 128 }, | |
1145 { 124, 128 }, | |
1146 { 586, 128 }, | |
1147 { 661, 128 }, | |
1148 { 736, 128 }, | |
1149 { 885, 128 }, | |
1150 { 1023, 128 } | |
1151 }, | |
1152 {// arfcn, tx_chan_cal | |
1153 { 40, 128 }, // Calibration Table 3 | |
1154 { 80, 128 }, | |
1155 { 124, 128 }, | |
1156 { 586, 128 }, | |
1157 { 661, 128 }, | |
1158 { 736, 128 }, | |
1159 { 885, 128 }, | |
1160 { 1023, 128 } | |
1161 } | |
1162 }, | |
1163 { // gsm850 Power Ramp Values | |
1164 { | |
1165 {// Ramp-Up #0 profile - Power Level 5 | |
1166 0,0,0,0,0,0,10,14,17,25, | |
1167 37,64,95,127,160,191,218,238,251,255 | |
1168 }, | |
1169 {// Ramp-Down #0 profile | |
1170 255,251,238,218,191,160,127,95,64,37, | |
1171 17,4,0,0,0,0,0,0,0,0 | |
1172 }, | |
1173 }, | |
1174 { | |
1175 {// Ramp-Up #1 profile - Power Level 6 | |
1176 0,0,0,0,0,0,10,14,21,29, | |
1177 37,64,95,127,160,191,218,238,251,255 | |
1178 }, | |
1179 {// Ramp-Down #1 profile | |
1180 255,251,238,218,191,160,127,95,64,37, | |
1181 17,4,0,0,0,0,0,0,0,0 | |
1182 }, | |
1183 }, | |
1184 { | |
1185 {// Ramp-Up #2 profile - Power Level 7 | |
1186 0,0,0,0,0,0,10,14,21,29, | |
1187 37,64,95,127,160,191,218,238,251,255 | |
1188 }, | |
1189 {// Ramp-Down #2 profile | |
1190 255,251,238,218,191,160,127,95,64,37, | |
1191 17,4,0,0,0,0,0,0,0,0 | |
1192 }, | |
1193 }, | |
1194 { | |
1195 {// Ramp-Up #3 profile - Power Level 8 | |
1196 0,0,0,0,0,0,10,14,21,29, | |
1197 37,64,95,127,160,191,218,238,251,255 | |
1198 }, | |
1199 {// Ramp-Down #3 profile | |
1200 255,251,238,218,191,160,127,95,64,37, | |
1201 17,4,0,0,0,0,0,0,0,0 | |
1202 }, | |
1203 }, | |
1204 { | |
1205 {// Ramp-Up #4 profile - Power Level 9 | |
1206 0,0,0,0,0,0,10,14,17,25, | |
1207 37,64,95,127,160,191,218,238,251,255 | |
1208 }, | |
1209 {// Ramp-Down #4 profile | |
1210 255,251,238,218,191,160,127,95,64,37, | |
1211 17,4,0,0,0,0,0,0,0,0 | |
1212 }, | |
1213 }, | |
1214 { | |
1215 {// Ramp-Up #5 profile - Power Level 10 | |
1216 0,0,0,0,0,0,10,14,21,29, | |
1217 37,64,95,127,160,191,218,238,251,255 | |
1218 }, | |
1219 {// Ramp-Down #5 profile | |
1220 255,251,238,218,191,160,127,95,64,37, | |
1221 17,4,0,0,0,0,0,0,0,0 | |
1222 }, | |
1223 }, | |
1224 { | |
1225 {// Ramp-Up #6 profile - Power Level 11 | |
1226 0,0,0,0,0,0,10,14,21,29, | |
1227 37,64,95,127,160,191,218,238,251,255 | |
1228 }, | |
1229 {// Ramp-Down #6 profile | |
1230 255,251,238,218,191,160,127,95,64,37, | |
1231 17,4,0,0,0,0,0,0,0,0 | |
1232 }, | |
1233 }, | |
1234 { | |
1235 {// Ramp-Up #7 profile - Power Level 12 | |
1236 0,0,0,0,0,0,10,14,21,29, | |
1237 37,64,95,127,160,191,218,238,251,255 | |
1238 }, | |
1239 {// Ramp-Down #7 profile | |
1240 255,251,238,218,191,160,127,95,64,37, | |
1241 17,4,0,0,0,0,0,0,0,0 | |
1242 }, | |
1243 }, | |
1244 { | |
1245 {// Ramp-Up #8 profile - Power Level 13 | |
1246 0,0,0,0,0,0,10,14,17,25, | |
1247 37,64,95,127,160,191,218,238,251,255 | |
1248 }, | |
1249 {// Ramp-Down #8 profile | |
1250 255,251,238,218,191,160,127,95,64,37, | |
1251 17,4,0,0,0,0,0,0,0,0 | |
1252 }, | |
1253 }, | |
1254 { | |
1255 {// Ramp-Up #9 profile - Power Level 14 | |
1256 0,0,0,0,0,0,10,14,21,29, | |
1257 37,64,95,127,160,191,218,238,251,255 | |
1258 }, | |
1259 {// Ramp-Down #9 profile | |
1260 255,251,238,218,191,160,127,95,64,37, | |
1261 17,4,0,0,0,0,0,0,0,0 | |
1262 }, | |
1263 }, | |
1264 { | |
1265 {// Ramp-Up #10 profile - Power Level 15 | |
1266 0,0,0,0,0,0,10,14,21,29, | |
1267 37,64,95,127,160,191,218,238,251,255 | |
1268 }, | |
1269 {// Ramp-Down #10 profile | |
1270 255,251,238,218,191,160,127,95,64,37, | |
1271 17,4,0,0,0,0,0,0,0,0 | |
1272 }, | |
1273 }, | |
1274 { | |
1275 {// Ramp-Up #11 profile - Power Level 16 | |
1276 0,0,0,0,0,0,10,14,21,29, | |
1277 37,64,95,127,160,191,218,238,251,255 | |
1278 }, | |
1279 {// Ramp-Down #11 profile | |
1280 255,251,238,218,191,160,127,95,64,37, | |
1281 17,4,0,0,0,0,0,0,0,0 | |
1282 }, | |
1283 }, | |
1284 { | |
1285 {// Ramp-Up #12 profile - Power Level 17 | |
1286 0,0,0,0,0,0,10,14,17,25, | |
1287 37,64,95,127,160,191,218,238,251,255 | |
1288 }, | |
1289 {// Ramp-Down #12 profile | |
1290 255,251,238,218,191,160,127,95,64,37, | |
1291 17,4,0,0,0,0,0,0,0,0 | |
1292 }, | |
1293 }, | |
1294 { | |
1295 {// Ramp-Up #13 profile - Power Level 18 | |
1296 0,0,0,0,0,0,10,14,21,29, | |
1297 37,64,95,127,160,191,218,238,251,255 | |
1298 }, | |
1299 {// Ramp-Down #13 profile | |
1300 255,251,238,218,191,160,127,95,64,37, | |
1301 17,4,0,0,0,0,0,0,0,0 | |
1302 }, | |
1303 }, | |
1304 { | |
1305 {// Ramp-Up #14 profile - Power Level 19 | |
1306 0,0,0,0,0,0,10,14,21,29, | |
1307 37,64,95,127,160,191,218,238,251,255 | |
1308 }, | |
1309 {// Ramp-Down #14 profile | |
1310 255,251,238,218,191,160,127,95,64,37, | |
1311 17,4,0,0,0,0,0,0,0,0 | |
1312 }, | |
1313 }, | |
1314 { | |
1315 {// Ramp-Up #15 profile - Power Level 19 | |
1316 0,0,0,0,0,0,10,14,21,29, | |
1317 37,64,95,127,160,191,218,238,251,255 | |
1318 }, | |
1319 {// Ramp-Down #15 profile | |
1320 255,251,238,218,191,160,127,95,64,37, | |
1321 17,4,0,0,0,0,0,0,0,0 | |
1322 }, | |
1323 }, | |
1324 }, | |
1325 { //TX temperature compensation | |
1326 #if (ORDER2_TX_TEMP_CAL==1) | |
1327 { -11, 0, 0, 0 }, | |
1328 { +9, 0, 0, 0 }, | |
1329 { +39, 0, 0, 0 }, | |
1330 { +59, 0, 0, 0 }, | |
1331 { 127, 0, 0, 0 } | |
1332 #else | |
1333 { -11, 0 }, | |
1334 { +9, 0 }, | |
1335 { +39, 0 }, | |
1336 { +59, 0 }, | |
1337 { 127, 0 } | |
1338 #endif | |
1339 }, | |
1340 }, | |
1341 //IQ swap | |
1342 SWAP_IQ_GSM850, | |
1343 }; | |
1344 | |
1345 //copy from dcs1800 | |
1346 const T_RF_BAND rf_1900 = | |
1347 { | |
1348 { //RX structure | |
1349 { //T_RX_CAL_PARAMS rx_cal_params | |
1350 229, //g_magic | |
1351 54, //lna gain * 2 | |
1352 40, //lna_th_high | |
1353 44 //lna_th_low | |
1354 }, | |
1355 { //T_RF_AGC_BAND agc_bands[RF_RX_CAL_CHAN_SIZE]; | |
1356 /*--------------*/ | |
1357 /*-- PCS band --*/ | |
1358 /*--------------*/ | |
1359 { 548, 0}, // | |
1360 { 622, 0}, // | |
1361 { 680, 0}, // | |
1362 { 745, 0}, // | |
1363 { 812, 0}, // | |
1364 { 860, 0}, // | |
1365 { 885, 0}, // | |
1366 { 991, 0}, // | |
1367 { 992, 0}, // | |
1368 {1023, 0}, // | |
1369 }, | |
1370 { //RX temperature compensation | |
1371 { -15 , 0 }, | |
1372 { -5 , 0 }, | |
1373 { 6 , 0 }, | |
1374 { 16 , 0 }, | |
1375 { 25 , 0 }, | |
1376 { 35 , 0 }, | |
1377 { 45 , 0 }, | |
1378 { 56 , 0 }, | |
1379 { 66 , 0 }, | |
1380 { 75 , 0 }, | |
1381 { 100 , 0 } | |
1382 } | |
1383 }, | |
1384 { //TX structure | |
1385 {// pcs1900 T_LEVEL_TX | |
1386 {438, 0, 0}, // 0 Highest power | |
1387 {380, 1, 0}, // 1 | |
1388 {310, 2, 0}, // 2 | |
1389 {255, 3, 0}, // 3 | |
1390 {213, 4, 0}, // 4 | |
1391 {180, 5, 0}, // 5 | |
1392 {152, 6, 0}, // 6 | |
1393 {130, 7, 0}, // 7 | |
1394 {112, 8, 0}, // 8 | |
1395 {98, 9, 0}, // 9 | |
1396 {87, 10, 0}, // 10 | |
1397 {77, 11, 0}, // 11 | |
1398 {68, 12, 0}, // 12 | |
1399 {60, 13, 0}, // 13 | |
1400 {53, 14, 0}, // 14 | |
1401 {48, 15, 0}, // 15 Lowest power | |
1402 {48, 15, 0}, // 16 | |
1403 {48, 15, 0}, // 17 | |
1404 {48, 15, 0}, // 18 | |
1405 {48, 15, 0}, // 19 | |
1406 {48, 15, 0}, // 20 | |
1407 {48, 15, 0}, // 21 | |
1408 {48, 15, 0}, // 22 | |
1409 {48, 15, 0}, // 23 | |
1410 {48, 15, 0}, // 24 | |
1411 {48, 15, 0}, // 25 | |
1412 {48, 15, 0}, // 26 | |
1413 {48, 15, 0}, // 27 | |
1414 {48, 15, 0}, // 28 | |
1415 {438, 0, 0}, // 29 Highest power | |
1416 {438, 0, 0}, // 30 Highest power | |
1417 {438, 0, 0}, // 31 Highest power | |
1418 }, | |
1419 #if(REL99 && FF_PRF)// needs proper values from RF | |
1420 {// PCS1900 band levels_power_reduction | |
1421 {438, 0, 0}, // for uplink 1 timeslot = no power reduction ie 0,0 dB | |
1422 {438, 0, 0}, // for 2 uplink timeslot = reduction between 0,0 dB to 3,0 dB | |
1423 {438, 0, 0}, // for 3 uplink timeslot = reduction between 1,8 dB to 4,8 dB | |
1424 {438, 0, 0}, // for 4 uplink timselot = reduction between 3,0 dB to 6,0 dB | |
1425 }, | |
1426 #endif | |
1427 {// Channel Calibration Tables | |
1428 {// arfcn, tx_chan_cal | |
1429 { 554, 128 }, // Calibration Table 0 | |
1430 { 722, 128 }, | |
1431 { 746, 128 }, | |
1432 { 774, 128 }, | |
1433 { 808, 128 }, | |
1434 { 810, 128 }, | |
1435 { 810, 128 }, | |
1436 { 810, 128 } | |
1437 }, | |
1438 { | |
1439 { 554, 128 }, // Calibration Table 1 | |
1440 { 722, 128 }, | |
1441 { 746, 128 }, | |
1442 { 774, 128 }, | |
1443 { 808, 128 }, | |
1444 { 810, 128 }, | |
1445 { 810, 128 }, | |
1446 { 810, 128 } | |
1447 }, | |
1448 {// arfcn, tx_chan_cal | |
1449 { 554, 128 }, // Calibration Table 2 | |
1450 { 722, 128 }, | |
1451 { 746, 128 }, | |
1452 { 774, 128 }, | |
1453 { 808, 128 }, | |
1454 { 810, 128 }, | |
1455 { 810, 128 }, | |
1456 { 810, 128 } | |
1457 }, | |
1458 {// arfcn, tx_chan_cal | |
1459 { 554, 128 }, // Calibration Table 3 | |
1460 { 722, 128 }, | |
1461 { 746, 128 }, | |
1462 { 774, 128 }, | |
1463 { 808, 128 }, | |
1464 { 810, 128 }, | |
1465 { 810, 128 }, | |
1466 { 810, 128 } | |
1467 } | |
1468 }, | |
1469 { // PCS Power Ramp Values | |
1470 { | |
1471 {// Ramp-Up #0 profile - Power Level 0 | |
1472 0,0,0,0,0,0,10,14,21,29, | |
1473 37,64,95,127,160,191,218,238,251,255 | |
1474 }, | |
1475 {// Ramp-Down #0 profile | |
1476 255,240,228,220,185,160,127,95,64,37, | |
1477 17,14,0,0,0,0,0,0,0,0 | |
1478 }, | |
1479 }, | |
1480 { | |
1481 {// Ramp-Up #1 profile - Power Level 1 | |
1482 0,0,0,0,0,0,10,14,21,29, | |
1483 37,64,95,127,160,191,218,238,251,255 | |
1484 }, | |
1485 {// Ramp-Down #1 profile | |
1486 255,240,228,220,185,160,127,95,64,37, | |
1487 17,14,0,0,0,0,0,0,0,0 | |
1488 }, | |
1489 }, | |
1490 { | |
1491 {// Ramp-Up #2 profile - Power Level 2 | |
1492 0,0,0,0,0,0,10,14,21,29, | |
1493 37,64,95,127,160,191,218,238,251,255 | |
1494 }, | |
1495 {// Ramp-Down #2 profile | |
1496 255,240,228,220,185,160,127,95,64,37, | |
1497 17,14,0,0,0,0,0,0,0,0 | |
1498 }, | |
1499 }, | |
1500 { | |
1501 {// Ramp-Up #3 profile - Power Level 3 | |
1502 0,0,0,0,0,0,10,14,21,29, | |
1503 37,64,95,127,160,191,218,238,251,255 | |
1504 }, | |
1505 {// Ramp-Down #3 profile | |
1506 255,240,228,220,185,160,127,95,64,37, | |
1507 17,14,0,0,0,0,0,0,0,0 | |
1508 }, | |
1509 }, | |
1510 { | |
1511 {// Ramp-Up #4 profile - Power Level 4 | |
1512 0,0,0,0,0,0,10,14,21,29, | |
1513 37,64,95,127,160,191,218,238,251,255 | |
1514 }, | |
1515 {// Ramp-Down #4 profile | |
1516 255,240,228,220,185,160,127,95,64,37, | |
1517 17,14,0,0,0,0,0,0,0,0 | |
1518 }, | |
1519 }, | |
1520 { | |
1521 {// Ramp-Up #5 profile - Power Level 5 | |
1522 0,0,0,0,0,0,10,14,21,29, | |
1523 37,64,95,127,160,191,218,238,251,255 | |
1524 }, | |
1525 {// Ramp-Down #5 profile | |
1526 255,240,228,220,185,160,127,95,64,37, | |
1527 17,14,0,0,0,0,0,0,0,0 | |
1528 }, | |
1529 }, | |
1530 { | |
1531 {// Ramp-Up #6 profile - Power Level 6 | |
1532 0,0,0,0,0,0,10,14,21,29, | |
1533 37,64,95,127,160,191,218,238,251,255 | |
1534 }, | |
1535 {// Ramp-Down #6 profile | |
1536 255,240,228,220,185,160,127,95,64,37, | |
1537 17,14,0,0,0,0,0,0,0,0 | |
1538 }, | |
1539 }, | |
1540 { | |
1541 {// Ramp-Up #7 profile - Power Level 7 | |
1542 0,0,0,0,0,0,10,14,21,29, | |
1543 37,64,95,127,160,191,218,238,251,255 | |
1544 }, | |
1545 {// Ramp-Down #7 profile | |
1546 255,240,228,220,185,160,127,95,64,37, | |
1547 17,14,0,0,0,0,0,0,0,0 | |
1548 }, | |
1549 }, | |
1550 { | |
1551 {// Ramp-Up #8 profile - Power Level 8 | |
1552 0,0,0,0,0,0,10,14,21,29, | |
1553 37,64,95,127,160,191,218,238,251,255 | |
1554 }, | |
1555 {// Ramp-Down #8 profile | |
1556 255,240,228,220,185,160,127,95,64,37, | |
1557 17,14,0,0,0,0,0,0,0,0 | |
1558 }, | |
1559 }, | |
1560 { | |
1561 {// Ramp-Up #9 profile - Power Level 9 | |
1562 0,0,0,0,0,0,10,14,21,29, | |
1563 37,64,95,127,160,191,218,238,251,255 | |
1564 }, | |
1565 {// Ramp-Down #9 profile | |
1566 255,240,228,220,185,160,127,95,64,37, | |
1567 17,14,0,0,0,0,0,0,0,0 | |
1568 }, | |
1569 }, | |
1570 { | |
1571 {// Ramp-Up #10 profile - Power Level 10 | |
1572 0,0,0,0,0,0,10,14,21,29, | |
1573 37,64,95,127,160,191,218,238,251,255 | |
1574 }, | |
1575 {// Ramp-Down #10 profile | |
1576 255,240,228,220,185,160,127,95,64,37, | |
1577 17,14,0,0,0,0,0,0,0,0 | |
1578 }, | |
1579 }, | |
1580 { | |
1581 {// Ramp-Up #11 profile - Power Level 11 | |
1582 0,0,0,0,0,0,10,14,21,29, | |
1583 37,64,95,127,160,191,218,238,251,255 | |
1584 }, | |
1585 {// Ramp-Down #11 profile | |
1586 255,240,228,220,185,160,127,95,64,37, | |
1587 17,14,0,0,0,0,0,0,0,0 | |
1588 }, | |
1589 }, | |
1590 { | |
1591 {// Ramp-Up #12 profile - Power Level 12 | |
1592 0,0,0,0,0,0,10,14,21,29, | |
1593 37,64,95,127,160,191,218,238,251,255 | |
1594 }, | |
1595 {// Ramp-Down #12 profile | |
1596 255,240,228,220,185,160,127,95,64,37, | |
1597 17,14,0,0,0,0,0,0,0,0 | |
1598 }, | |
1599 }, | |
1600 { | |
1601 {// Ramp-Up #13 profile - Power Level 13 | |
1602 0,0,0,0,0,0,10,14,21,29, | |
1603 37,64,95,127,160,191,218,238,251,255 | |
1604 }, | |
1605 {// Ramp-Down #13 profile | |
1606 255,240,228,220,185,160,127,95,64,37, | |
1607 17,14,0,0,0,0,0,0,0,0 | |
1608 }, | |
1609 }, | |
1610 { | |
1611 {// Ramp-Up #14 profile - Power Level 14 | |
1612 0,0,0,0,0,0,10,14,21,29, | |
1613 37,64,95,127,160,191,218,238,251,255 | |
1614 }, | |
1615 {// Ramp-Down #14 profile | |
1616 255,240,228,220,185,160,127,95,64,37, | |
1617 17,14,0,0,0,0,0,0,0,0 | |
1618 }, | |
1619 }, | |
1620 { | |
1621 {// Ramp-Up #15 profile - Power Level 15 | |
1622 0,0,0,0,0,0,10,14,21,29, | |
1623 37,64,95,127,160,191,218,238,251,255 | |
1624 }, | |
1625 {// Ramp-Down #15 profile | |
1626 255,240,228,220,185,160,127,95,64,37, | |
1627 17,14,0,0,0,0,0,0,0,0 | |
1628 }, | |
1629 }, | |
1630 }, | |
1631 { //TX temperature compensation | |
1632 #if (ORDER2_TX_TEMP_CAL==1) | |
1633 { -11, 0, 0, 0 }, | |
1634 { +9, 0, 0, 0 }, | |
1635 { +39, 0, 0, 0 }, | |
1636 { +59, 0, 0, 0 }, | |
1637 { 127, 0, 0, 0 } | |
1638 #else | |
1639 { -11, 0 }, | |
1640 { +9, 0 }, | |
1641 { +39, 0 }, | |
1642 { +59, 0 }, | |
1643 { 127, 0 } | |
1644 #endif | |
1645 }, | |
1646 }, | |
1647 //IQ swap | |
1648 SWAP_IQ_PCS | |
1649 }; | |
1650 | |
1651 | |
1652 | |
1653 | |
1654 | |
1655 UWORD16 drp_wrapper[DRP_WRAPPER_TABLE_SIZE]= | |
1656 { | |
1657 C_APCCTRL2, | |
1658 C_APCDEL1, | |
1659 C_APCDEL2 | |
1660 }; | |
1661 | |
1662 | |
1663 | |
1664 /*------------------------------------------*/ | |
1665 /* Gain table */ | |
1666 /* specified in the TRF6053 spec */ | |
1667 /* 2 dB steps - LNA always ON */ | |
1668 /*------------------------------------------*/ | |
1669 UWORD16 AGC_TABLE[AGC_TABLE_SIZE] = | |
1670 { | |
1671 ABE_0_DB, | |
1672 ABE_0_DB, | |
1673 ABE_2_DB, | |
1674 ABE_2_DB, | |
1675 ABE_2_DB, | |
1676 ABE_5_DB, | |
1677 ABE_5_DB, | |
1678 ABE_5_DB, | |
1679 ABE_8_DB, | |
1680 ABE_8_DB, | |
1681 ABE_8_DB, | |
1682 ABE_11_DB, | |
1683 ABE_11_DB, | |
1684 ABE_11_DB, | |
1685 ABE_14_DB, | |
1686 ABE_14_DB, | |
1687 ABE_14_DB, | |
1688 ABE_17_DB, | |
1689 ABE_17_DB, | |
1690 ABE_17_DB, | |
1691 ABE_20_DB, | |
1692 ABE_20_DB, | |
1693 ABE_20_DB, | |
1694 ABE_23_DB | |
1695 }; | |
1696 | |
1697 // structure for ADC conversion (4 Internal channel + 5 Ext channels max.) | |
1698 T_ADC adc; | |
1699 | |
1700 // MADC calibration structure | |
1701 T_ADCCAL adc_cal= | |
1702 { // a: 0,..,8 | |
1703 // b, 0,..,8 | |
1704 // cal_a = 4*1750 is the Typical value 1.75 V ref voltage , divide by 4 | |
1705 7000, 8750, 7000, 7000, 7000, 7000, 7000, 256, 7000, | |
1706 0, 0, 0, 0, 0, 0, 0, 0, 0 | |
1707 }; | |
1708 | |
1709 // table which converts ADC value into RF temperature | |
1710 const T_TEMP temperature[TEMP_TABLE_SIZE] = | |
1711 { | |
1712 7, -35, | |
1713 7, -34, | |
1714 8, -33, | |
1715 8, -32, | |
1716 9, -31, | |
1717 9, -30, | |
1718 10, -29, | |
1719 11, -28, | |
1720 11, -27, | |
1721 12, -26, | |
1722 13, -25, | |
1723 14, -24, | |
1724 14, -23, | |
1725 15, -22, | |
1726 16, -21, | |
1727 17, -20, | |
1728 18, -19, | |
1729 19, -18, | |
1730 21, -17, | |
1731 22, -16, | |
1732 23, -15, | |
1733 24, -14, | |
1734 26, -13, | |
1735 27, -12, | |
1736 29, -11, | |
1737 30, -10, | |
1738 32, -9, | |
1739 34, -8, | |
1740 36, -7, | |
1741 37, -6, | |
1742 39, -5, | |
1743 41, -4, | |
1744 44, -3, | |
1745 46, -2, | |
1746 48, -1, | |
1747 51, 0, | |
1748 53, 1, | |
1749 56, 2, | |
1750 59, 3, | |
1751 61, 4, | |
1752 64, 5, | |
1753 68, 6, | |
1754 71, 7, | |
1755 74, 8, | |
1756 78, 9, | |
1757 81, 10, | |
1758 85, 11, | |
1759 89, 12, | |
1760 93, 13, | |
1761 97, 14, | |
1762 101, 15, | |
1763 105, 16, | |
1764 110, 17, | |
1765 115, 18, | |
1766 119, 19, | |
1767 124, 20, | |
1768 130, 21, | |
1769 135, 22, | |
1770 140, 23, | |
1771 146, 24, | |
1772 152, 25, | |
1773 158, 26, | |
1774 164, 27, | |
1775 170, 28, | |
1776 176, 29, | |
1777 183, 30, | |
1778 190, 31, | |
1779 197, 32, | |
1780 204, 33, | |
1781 211, 34, | |
1782 219, 35, | |
1783 226, 36, | |
1784 234, 37, | |
1785 242, 38, | |
1786 250, 39, | |
1787 259, 40, | |
1788 267, 41, | |
1789 276, 42, | |
1790 285, 43, | |
1791 294, 44, | |
1792 303, 45, | |
1793 312, 46, | |
1794 322, 47, | |
1795 331, 48, | |
1796 341, 49, | |
1797 351, 50, | |
1798 361, 51, | |
1799 371, 52, | |
1800 382, 53, | |
1801 392, 54, | |
1802 403, 55, | |
1803 413, 56, | |
1804 424, 57, | |
1805 435, 58, | |
1806 446, 59, | |
1807 458, 60, | |
1808 469, 61, | |
1809 480, 62, | |
1810 492, 63, | |
1811 503, 64, | |
1812 515, 65, | |
1813 527, 66, | |
1814 539, 67, | |
1815 550, 68, | |
1816 562, 69, | |
1817 574, 70, | |
1818 586, 71, | |
1819 598, 72, | |
1820 611, 73, | |
1821 623, 74, | |
1822 635, 75, | |
1823 647, 76, | |
1824 659, 77, | |
1825 671, 78, | |
1826 683, 79, | |
1827 696, 80, | |
1828 708, 81, | |
1829 720, 82, | |
1830 732, 83, | |
1831 744, 84, | |
1832 756, 85, | |
1833 768, 86, | |
1834 780, 87, | |
1835 792, 88, | |
1836 804, 89, | |
1837 816, 90, | |
1838 827, 91, | |
1839 839, 92, | |
1840 851, 93, | |
1841 862, 94, | |
1842 873, 95 | |
1843 }; | |
1844 | |
1845 | |
1846 /*------------------------------------------*/ | |
1847 /* ABB Initialization words */ | |
1848 /*------------------------------------------*/ | |
1849 #if (ANLG_FAM == 11) | |
1850 UWORD8 abb[ABB_TABLE_SIZE] = | |
1851 { | |
1852 C_VULGAIN, | |
1853 C_VDLGAIN, | |
1854 C_SIDETONE, | |
1855 C_CTRL1, | |
1856 C_CTRL2, | |
1857 C_CTRL3, | |
1858 C_CTRL4, | |
1859 C_CTRL5, | |
1860 C_CTRL6, | |
1861 C_POPAUTO, | |
1862 C_OUTEN1, | |
1863 C_OUTEN2, | |
1864 C_OUTEN3, | |
1865 C_AULGA, | |
1866 C_AURGA | |
1867 }; | |
1868 #endif | |
1869 | |
1870 #if (L1_FF_MULTIBAND == 0) | |
1871 #else | |
1872 /* The physical RF bands are enumerated in order of increasing frequencies */ | |
1873 /* The same order must be used in l1_rf61, l1_cust, and l1_const */ | |
1874 const T_MULTIBAND_RF multiband_rf[RF_NB_SUPPORTED_BANDS + 1] = | |
1875 { | |
1876 /*power_class, tx_turning_point, max_txpwr, gsm_band_identifier, name*/ | |
1877 #if (GSM900_SUPPORTED == 1) | |
1878 { 4, 0, 19, RF_GSM900, "900"}, | |
1879 #endif /* if(GSM900_SUPPORTED == 1)*/ | |
1880 #if (GSM850_SUPPORTED == 1) | |
1881 { 4, 0, 19, RF_GSM850, "850"}, | |
1882 #endif /*if (GSM850_SUPPORTED == 1)*/ | |
1883 #if (DCS1800_SUPPORTED == 1) | |
1884 { 1, 28, 15, RF_DCS1800, "1800"}, | |
1885 #endif /*if (DCS1800_SUPPORTED == 1)*/ | |
1886 #if (PCS1900_SUPPORTED == 1) | |
1887 {1, 21, 15, RF_PCS1900, "1900"}, | |
1888 #endif /*if (PCS1900_SUPPORTED == 1)*/ | |
1889 } ; | |
1890 | |
1891 /* Array for mapping from subband index into physical band index */ | |
1892 const WORD8 rf_subband2band[RF_NB_SUBBANDS] = | |
1893 { | |
1894 #if (GSM900_SUPPORTED == 1) | |
1895 RF_GSM900, | |
1896 RF_GSM900, | |
1897 #endif | |
1898 #if (GSM850_SUPPORTED == 1) | |
1899 RF_GSM850, | |
1900 #endif | |
1901 #if (DCS1800_SUPPORTED == 1) | |
1902 RF_DCS1800, | |
1903 #endif | |
1904 #if (PCS1900_SUPPORTED == 1) | |
1905 RF_PCS1900, | |
1906 #endif | |
1907 }; | |
1908 | |
1909 const T_MULTIBAND_CONVERT multiband_convert[RF_NB_SUBBANDS] = | |
1910 { /*first_rf_freq, last_rf_freq, first_l1_freq, l1freq2rffreq */ | |
1911 #if (GSM900_SUPPORTED == 1) | |
1912 { RF_FREQ_1ST_900L, RF_FREQ_1ST_900L+NB_CHAN_900L, L1_FREQ_1ST_900L, RF_FREQ_1ST_900L-L1_FREQ_1ST_900L}, | |
1913 { RF_FREQ_1ST_900H, RF_FREQ_1ST_900H+NB_CHAN_900H, L1_FREQ_1ST_900H, RF_FREQ_1ST_900H-L1_FREQ_1ST_900H}, | |
1914 #endif | |
1915 #if (GSM850_SUPPORTED == 1) | |
1916 { RF_FREQ_1ST_850, RF_FREQ_1ST_850+NB_CHAN_850, L1_FREQ_1ST_850, RF_FREQ_1ST_850-L1_FREQ_1ST_850}, | |
1917 #endif | |
1918 #if (DCS1800_SUPPORTED == 1) | |
1919 { RF_FREQ_1ST_1800, RF_FREQ_1ST_1800+NB_CHAN_1800, L1_FREQ_1ST_1800, RF_FREQ_1ST_1800-L1_FREQ_1ST_1800}, | |
1920 #endif | |
1921 #if (PCS1900_SUPPORTED == 1) | |
1922 { RF_FREQ_1ST_1900, RF_FREQ_1ST_1900+NB_CHAN_1900, L1_FREQ_1ST_1900, RF_FREQ_1ST_1900-L1_FREQ_1ST_1900}, | |
1923 #endif | |
1924 }; | |
1925 | |
1926 /*-------------------------------------------------------*/ | |
1927 /* rf_convert_l1freq_to_l1subband */ | |
1928 /*-------------------------------------------------------*/ | |
1929 /* Parameters : l1freq, the l1 radio_freq to convert */ | |
1930 /* */ | |
1931 /* Return : The l1 subband index l1freq belongs to */ | |
1932 /* */ | |
1933 /* Functionality : compare l1freq with the band ranges, */ | |
1934 /* return the l1 band index where match is found */ | |
1935 /*-------------------------------------------------------*/ | |
1936 UWORD8 rf_convert_l1freq_to_l1subband(UWORD16 l1_freq) | |
1937 { | |
1938 WORD32 subband_idx; | |
1939 for(subband_idx = RF_NB_SUBBANDS -1; subband_idx>=0; subband_idx--) | |
1940 { | |
1941 if(l1_freq >= multiband_convert[subband_idx].first_l1_freq) | |
1942 return ((UWORD8)subband_idx); | |
1943 } | |
1944 l1_multiband_error_handler(l1_freq); | |
1945 return 0; | |
1946 } | |
1947 | |
1948 /*-------------------------------------------------------*/ | |
1949 /* rf_convert_rffreq_to_l1subband */ | |
1950 /*-------------------------------------------------------*/ | |
1951 /* Parameters : rffreq, the physical rf freq channel */ | |
1952 /* number to convert */ | |
1953 /* */ | |
1954 /* Return : The l1 subband index rf_freq belongs to */ | |
1955 /* */ | |
1956 /* Functionality : compare rf_freq with the band ranges, */ | |
1957 /* return the l1 band index where match is found */ | |
1958 /*-------------------------------------------------------*/ | |
1959 UWORD8 rf_convert_rffreq_to_l1subband(UWORD16 rf_freq) | |
1960 { | |
1961 WORD32 subband_idx; | |
1962 for(subband_idx = RF_NB_SUBBANDS -1; subband_idx>=0; subband_idx--) | |
1963 { | |
1964 if((rf_freq >= multiband_convert[subband_idx].first_rf_freq)&& | |
1965 (rf_freq < multiband_convert[subband_idx].last_rf_freq)) | |
1966 return ((UWORD8)subband_idx); | |
1967 } | |
1968 l1_multiband_error_handler(rf_freq); | |
1969 return 0; | |
1970 } | |
1971 | |
1972 /*-------------------------------------------------------*/ | |
1973 /* rf_convert_l1freq_to_band_idx */ | |
1974 /*-------------------------------------------------------*/ | |
1975 /* Parameters : l1freq, the l1 radio_freq to convert */ | |
1976 /* */ | |
1977 /* Return : The physical index of the band of l1freq */ | |
1978 /* */ | |
1979 /* Functionality : compare l1freq with the band ranges, */ | |
1980 /* return the rf_band_index of the l1_band_index */ | |
1981 /* where match is found */ | |
1982 /*-------------------------------------------------------*/ | |
1983 WORD8 rf_convert_l1freq_to_rf_band_idx(UWORD16 l1_freq) | |
1984 { | |
1985 return rf_subband2band[rf_convert_l1freq_to_l1subband(l1_freq)]; | |
1986 } | |
1987 | |
1988 /*-------------------------------------------------------*/ | |
1989 /* rf_convert_l1freq_to_rffreq */ | |
1990 /*-------------------------------------------------------*/ | |
1991 /* Parameters : l1freq, the l1 radio_freq to convert */ | |
1992 /* */ | |
1993 /* Return : ARFCN, absolute radio frequency channel */ | |
1994 /* number and in *bandidx the band index */ | |
1995 /* Functionality : identify band index and look up ARFCN */ | |
1996 /*-------------------------------------------------------*/ | |
1997 UWORD16 rf_convert_l1freq_to_rffreq(UWORD16 l1_freq ) | |
1998 { | |
1999 WORD32 subband_idx = rf_convert_l1freq_to_l1subband(l1_freq); | |
2000 return(l1_freq+multiband_convert[subband_idx].l1freq2rffreq); | |
2001 } | |
2002 | |
2003 /*-------------------------------------------------------*/ | |
2004 /* rf_convert_l1freq_to_arfcn_and_bandidx */ | |
2005 /*-------------------------------------------------------*/ | |
2006 /* Parameters : l1freq, the l1 radio_freq to convert */ | |
2007 /* */ | |
2008 /* Return : ARFCN, absolute radio frequency channel */ | |
2009 /* number and in *bandidx the RF band index */ | |
2010 /* Functionality : identify band index and look up ARFCN */ | |
2011 /*-------------------------------------------------------*/ | |
2012 | |
2013 /*-------------------------------------------------------*/ | |
2014 /* rf_convert_l1freq_to_rffreq_and_bandidx */ | |
2015 /*-------------------------------------------------------*/ | |
2016 /* Parameters : l1freq, the l1 radio_freq to convert */ | |
2017 /* */ | |
2018 /* Return : ARFCN, absolute radio frequency channel */ | |
2019 /* number and in *bandidx the band index */ | |
2020 /* Functionality : identify band index and look up ARFCN */ | |
2021 /*-------------------------------------------------------*/ | |
2022 UWORD16 rf_convert_l1freq_to_rffreq_rfband(UWORD16 l1_freq, WORD8 *rf_band_index) | |
2023 { | |
2024 WORD32 subband_idx = rf_convert_l1freq_to_l1subband(l1_freq); | |
2025 *rf_band_index = rf_subband2band[subband_idx]; | |
2026 return(l1_freq+multiband_convert[subband_idx].l1freq2rffreq); | |
2027 } | |
2028 | |
2029 /*-------------------------------------------------------*/ | |
2030 /* rf_convert_l1freq_to_arfcn_and_bandidx */ | |
2031 /*-------------------------------------------------------*/ | |
2032 /* Parameters : l1freq, the l1 radio_freq to convert */ | |
2033 /* */ | |
2034 /* Return : ARFCN, absolute radio frequency channel */ | |
2035 /* number and in *bandidx the RF band index */ | |
2036 /* Functionality : identify band index and look up ARFCN */ | |
2037 /*-------------------------------------------------------*/ | |
2038 UWORD16 rf_convert_l1freq_to_arfcn_rfband(UWORD16 l1_freq, WORD8 *rf_band_index) | |
2039 { | |
2040 WORD32 subband_idx = rf_convert_l1freq_to_l1subband(l1_freq); | |
2041 *rf_band_index = rf_subband2band[subband_idx]; | |
2042 #if (PCS1900_SUPPORTED) | |
2043 if(RF_PCS1900 == rf_subband2band[subband_idx]) | |
2044 return(l1_freq+multiband_convert[subband_idx].l1freq2rffreq-512); | |
2045 else | |
2046 #endif | |
2047 return(l1_freq+multiband_convert[subband_idx].l1freq2rffreq); | |
2048 } | |
2049 | |
2050 UWORD16 rf_convert_rffreq_to_l1freq(UWORD16 rf_freq) | |
2051 { | |
2052 WORD32 subband_idx = rf_convert_rffreq_to_l1subband(rf_freq); | |
2053 return(rf_freq - multiband_convert[subband_idx].l1freq2rffreq); | |
2054 } | |
2055 | |
2056 /*-------------------------------------------------------*/ | |
2057 /* rf_convert_rffreq_to_l1freq_rfband */ | |
2058 /*-------------------------------------------------------*/ | |
2059 /* Parameters : rffreq, the physical rf channel number */ | |
2060 /* to convert */ | |
2061 /* */ | |
2062 /* Return : l1freq, l1 internal frequency number */ | |
2063 /* and in *bandidx the RF band index */ | |
2064 /* Functionality : identify band index and look up ARFCN */ | |
2065 /*-------------------------------------------------------*/ | |
2066 UWORD16 rf_convert_rffreq_to_l1freq_rfband(UWORD16 rf_freq, WORD8 *rf_band_index) | |
2067 { | |
2068 WORD32 subband_idx = rf_convert_rffreq_to_l1subband(rf_freq); | |
2069 *rf_band_index = (WORD8)subband_idx; | |
2070 return(rf_freq - multiband_convert[subband_idx].l1freq2rffreq); | |
2071 } | |
2072 | |
2073 #if(PCS1900_SUPPORTED) | |
2074 extern UWORD16 tm_std_band; | |
2075 #endif | |
2076 UWORD16 rf_convert_tmarfcn_to_l1freq(UWORD16 tm_arfcn, WORD8 *error_flag) | |
2077 { | |
2078 *error_flag = 0; | |
2079 #if(GSM900_SUPPORTED) | |
2080 if(NB_CHAN_900L> tm_arfcn) | |
2081 return (tm_arfcn + L1_FREQ_1ST_900L- RF_FREQ_1ST_900L); | |
2082 if((ARFCN_1ST_900H <= tm_arfcn)&&(ARFCN_1ST_900H + NB_CHAN_900H > tm_arfcn)) | |
2083 return (tm_arfcn + L1_FREQ_1ST_900H- RF_FREQ_1ST_900H); | |
2084 #endif | |
2085 #if(GSM850_SUPPORTED) | |
2086 if((ARFCN_1ST_850 <= tm_arfcn)||(ARFCN_1ST_850+NB_CHAN_850 > tm_arfcn)) | |
2087 return(tm_arfcn + L1_FREQ_1ST_850- RF_FREQ_1ST_850); | |
2088 #endif | |
2089 #if(PCS1900_SUPPORTED) | |
2090 if((RF_FREQ_1ST_1900<=tm_arfcn)&&((RF_FREQ_1ST_1900+NB_CHAN_1900)>tm_arfcn)) | |
2091 return (tm_arfcn + L1_FREQ_1ST_1900 - RF_FREQ_1ST_1900); /* PCS RF_FREQ format */ | |
2092 if(((3 == (tm_std_band & 0xff))||(8==(tm_std_band & 0xff))) && | |
2093 (ARFCN_1ST_1900 <= tm_arfcn) && (ARFCN_1ST_1900+NB_CHAN_1900 > tm_arfcn)) | |
2094 return(tm_arfcn+L1_FREQ_1ST_1900-ARFCN_1ST_1900); /* PCS Legacy compatible*/ | |
2095 if((1000+ARFCN_1ST_1900 <= tm_arfcn)&& | |
2096 (1000+ARFCN_1ST_1900+NB_CHAN_1900 >= tm_arfcn)) | |
2097 return(tm_arfcn+L1_FREQ_1ST_1900-ARFCN_1ST_1900-1000); /*ARFCN+1000 format*/ | |
2098 #endif | |
2099 #if(DCS1800_SUPPORTED) | |
2100 if((ARFCN_1ST_1800 <= tm_arfcn)||(ARFCN_1ST_1800+NB_CHAN_1800 > tm_arfcn)) | |
2101 return(tm_arfcn + L1_FREQ_1ST_1800- RF_FREQ_1ST_1800); | |
2102 #endif | |
2103 *error_flag = 1; | |
2104 return (tm_arfcn); | |
2105 } | |
2106 #endif// if(L1_FF_MULTIBAND == 1) | |
2107 | |
2108 |