comparison gsm-fw/L1/tm_include/l1tm_msgty.h @ 519:57ad8f4d5cb5

L1: audio and tm header files imported from Leonardo semi-src
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Thu, 10 Jul 2014 15:02:48 +0000
parents
children
comparison
equal deleted inserted replaced
518:ffbb71ee664c 519:57ad8f4d5cb5
1 /************* Revision Controle System Header *************
2 * GSM Layer 1 software
3 * L1TM_MSGTY.H
4 *
5 * Filename l1tm_msgty.h
6 * Copyright 2003 (C) Texas Instruments
7 *
8 ************* Revision Controle System Header *************/
9
10
11 /***********************************************************************/
12 /* TESTMODE 3.X */
13 /***********************************************************************/
14
15
16 typedef struct
17 {
18 UWORD8 cid;
19 UWORD8 str_len_in_bytes;
20
21 // all primitive types should be a unique struct within
22 // the union u.
23 union
24 {
25 struct
26 {
27 WORD16 index;
28 UWORD16 value;
29 } tm_params;
30 struct
31 {
32 WORD8 index;
33 UWORD8 table[TM_PAYLOAD_UPLINK_SIZE_MAX];
34 } tm_table;
35 struct
36 {
37 UWORD32 address;
38 UWORD8 table[TM_PAYLOAD_UPLINK_SIZE_MAX];
39 } mem_write;
40 struct
41 {
42 UWORD32 src;
43 UWORD32 length;
44 } mem_read;
45 struct
46 {
47 UWORD8 packet[128];
48 } ffs;
49 } u;
50 }
51 T_TESTMODE_PRIM;
52
53 typedef struct
54 {
55 UWORD32 arfcn;
56 UWORD32 number_of_measurements;
57 UWORD8 place_of_measurement;
58 UWORD32 num_loop;
59 UWORD32 agc;
60 }
61 T_TMODE_PM_REQ;
62
63 typedef struct
64 {
65 UWORD16 power_array_size;
66 T_POWER_ARRAY power_array[1];
67 }
68 T_TMODE_RXLEV_REQ;
69
70 typedef struct
71 {
72 UWORD32 dummy;
73 }
74 T_TMODE_FB0_REQ;
75
76 typedef struct
77 {
78 UWORD32 dummy;
79 }
80 T_TMODE_FB1_REQ;
81
82 typedef struct
83 {
84 UWORD32 dummy;
85 }
86 T_TMODE_SB_REQ;
87
88 typedef struct
89 {
90 UWORD32 dummy;
91 }
92 T_TMODE_FB_SB_REQ;
93
94 typedef struct
95 {
96 BOOL fb_flag; //TRUE if FB found, otherwise FALSE
97 WORD8 ntdma; //tdma between window start and beginning of FB (0..23)
98 UWORD8 neigh_id;
99 UWORD32 pm_fullres;
100 UWORD32 toa;
101 WORD16 angle;
102 UWORD32 snr;
103 }
104 T_TMODE_FB_CON;
105
106 typedef struct
107 {
108 UWORD16 radio_freq;
109 BOOL sb_flag;
110 UWORD32 fn_offset;
111 UWORD32 time_alignmt;
112 UWORD8 bsic;
113 UWORD8 neigh_id;
114 UWORD8 attempt;
115 UWORD32 pm_fullres;
116 UWORD32 toa;
117 WORD16 angle;
118 UWORD32 snr;
119 }
120 T_TMODE_NCELL_SYNC_IND;
121
122 typedef struct
123 {
124 UWORD32 fn_offset;
125 UWORD32 time_alignmt;
126 UWORD8 bsic;
127 }
128 T_TMODE_NEW_SCELL_REQ;
129
130 typedef struct
131 {
132 UWORD16 radio_freq;
133 UWORD8 l2_channel;
134 BOOL error_flag;
135 T_RADIO_FRAME l2_frame;
136 UWORD8 tc;
137 UWORD32 fn;
138 UWORD8 neigh_id;
139 }
140 T_TMODE_BCCHS_CON;
141
142 typedef struct
143 {
144 UWORD32 dummy;
145 }
146 T_TMODE_STOP_SCELL_BCCH_REQ;
147
148 typedef struct
149 {
150 UWORD32 dummy;
151 }
152 T_TMODE_SCELL_NBCCH_REQ;
153
154 typedef struct
155 {
156 UWORD32 fn;
157 UWORD8 channel_request;
158 }
159 T_TMODE_RA_DONE;
160
161 typedef struct
162 {
163 UWORD32 dummy;
164 }
165 T_TMODE_RA_START;
166
167 typedef struct
168 {
169 #if (CODE_VERSION == SIMULATION)
170 UWORD8 ul_dl;
171 #else
172 UWORD32 dummy;
173 #endif
174 }
175 T_TMODE_IMMED_ASSIGN_REQ;
176
177 typedef struct
178 {
179 UWORD8 A[22+1];
180 }
181 T_TMODE_RADIO_FRAME;
182
183 typedef struct
184 {
185 UWORD16 radio_freq;
186 UWORD8 l2_channel;
187 UWORD8 error_cause;
188 T_TMODE_RADIO_FRAME l2_frame;
189 UWORD8 bsic;
190 UWORD8 tc;
191 }
192 T_TMODE_SACCH_INFO;
193
194 typedef struct
195 {
196 UWORD32 pm_fullres;
197 UWORD32 snr;
198 UWORD32 toa;
199 WORD16 angle;
200 UWORD32 qual_nbr_meas_full; // Fullset: nbr meas. of rxqual.
201 UWORD32 qual_full; // Fullset: rxqual meas.
202 }
203 T_TMODE_TCH_INFO;
204
205 typedef struct
206 {
207 UWORD32 none;
208 }
209 T_TMODE_STOP_RX_TX;
210
211 #if L1_GPRS
212 typedef struct
213 {
214 #if (CODE_VERSION == SIMULATION)
215 UWORD8 multislot_class;
216 UWORD8 dl_ts_alloc;
217 UWORD8 ul_ts_alloc;
218 UWORD8 ul_alloc_length;
219 BOOL mon_enable;
220 BOOL pm_enable;
221 #else
222 UWORD32 dummy;
223 #endif
224 }
225 T_TMODE_PDTCH_ASSIGN_REQ;
226
227 typedef struct
228 {
229 UWORD32 pm_fullres;
230 UWORD32 snr;
231 UWORD32 toa;
232 WORD16 angle;
233 BOOL crc_error_tbl[8];
234 }
235 T_TMODE_PDTCH_INFO;
236 #endif
237
238
239
240 /**************** ENUMs ***********************/
241
242 // TestMode Error Codes
243 enum
244 {
245 E_OK = 0, // Function completed successfully.
246 E_FINISHED = 1, // Previously started operation has finished.
247 E_TESTMODE = 2, // Function not legal in this GGT test mode.
248 E_BADINDEX = 3, // The index is undefined.
249 E_INVAL = 4, // Invalid Argument (out of range or other).
250 E_BADSIZE = 7, // Some table or list parameter was wrong in size
251 E_AGAIN = 8, // Not ready, try again later.
252 E_NOSYS = 9, // Function not implemented.
253 E_NOSUBSYS = 10, // Sub-Function not implemented.
254 E_BADCID = 14, // Invalid CID.
255 E_CHECKSUM = 15, // Checksum Error.
256 E_PACKET = 16, // Packet format is bad (wrong number of arguments).
257 E_FORWARD = 31 // Command parsed successfully, but further processing necessary
258 };
259
260 // CID's
261 enum
262 {
263 TM_INIT = 0x20,
264 TM_MODE_SET = 0x21,
265 VERSION_GET = 0x22,
266 RF_ENABLE = 0x23,
267 STATS_READ = 0x24,
268 STATS_CONFIG_WRITE = 0x25,
269 STATS_CONFIG_READ = 0x26,
270 RF_PARAM_WRITE = 0x30,
271 RF_PARAM_READ = 0x31,
272 RF_TABLE_WRITE = 0x32,
273 RF_TABLE_READ = 0x33,
274 RX_PARAM_WRITE = 0x34,
275 RX_PARAM_READ = 0x35,
276 TX_PARAM_WRITE = 0x36,
277 TX_PARAM_READ = 0x37,
278 TX_TEMPLATE_WRITE = 0x38,
279 TX_TEMPLATE_READ = 0x39,
280 MEM_WRITE = 0x40,
281 MEM_READ = 0x41,
282 CODEC_WRITE = 0x42,
283 CODEC_READ = 0x43,
284 MISC_PARAM_WRITE = 0x44,
285 MISC_PARAM_READ = 0x45,
286 MISC_TABLE_WRITE = 0x46,
287 MISC_TABLE_READ = 0x47,
288 MISC_ENABLE = 0x48,
289 SPECIAL_PARAM_WRITE = 0x50,
290 SPECIAL_PARAM_READ = 0x51,
291 SPECIAL_TABLE_WRITE = 0x52,
292 SPECIAL_TABLE_READ = 0x53,
293 SPECIAL_ENABLE = 0x54,
294
295 #if (CODE_VERSION != SIMULATION)
296 TPU_TABLE_WRITE = 0x55,
297 TPU_TABLE_READ = 0x56,
298 #endif
299
300 TM_FFS = 0x70
301 };
302
303 // TestMode function enum's
304 enum RF_PARAM
305 {
306 BCCH_ARFCN = 1,
307 TCH_ARFCN = 2,
308 MON_ARFCN = 3,
309 #if L1_GPRS
310 PDTCH_ARFCN = 4,
311 #endif
312 STD_BAND_FLAG = 7,
313 AFC_ENA_FLAG = 8,
314 AFC_DAC_VALUE = 9,
315 INITIAL_AFC_DAC = 10
316 #if L1_GPRS
317 ,MULTISLOT_CLASS = 20
318 #endif
319 };
320
321 enum RF_TABLE
322 {
323 RX_AGC_TABLE = 8,
324 AFC_PARAMS = 9,
325 RX_AGC_GLOBAL_PARAMS = 12,
326 RX_IL_2_AGC_MAX = 13,
327 RX_IL_2_AGC_PWR = 14,
328 RX_IL_2_AGC_AV = 15,
329 TX_LEVELS = 16, // 16=GSM900, 32=DCS1800, 48=PCS1900
330 TX_CAL_CHAN = 17, // 17=GSM900, 33=DCS1800, 49=PCS1900
331
332 #if (ORDER2_TX_TEMP_CAL==1)
333 TX_CAL_TEMP = 20, // 20=GSM900, 36=DCS1800, 52=PCS1900
334 #else
335 TX_CAL_TEMP = 18, // 18=GSM900, 34=DCS1800, 50=PCS1900
336 #endif
337
338 TX_CAL_EXTREME = 19, // 19=GSM900, 35=DCS1800, 51=PCS1900
339 RX_CAL_CHAN = 25, // 25=GSM900, 41=DCS1800, 57=PCS1900
340 RX_CAL_TEMP = 26, // 26=GSM900, 42=DCS1800, 58=PCS1900
341 RX_CAL_LEVEL = 27, // 27=GSM900, 43=DCS1800, 59=PCS1900
342 RX_AGC_PARAMS = 31, // 31=GSM900, 47=DCS1800, 63=PCS1900
343 RX_AGC_PARAMS_PCS = 63,
344 #if (RF_FAM == 35)
345 RX_PLL_TUNING_TABLE = 65,
346 #endif
347 TX_DATA_BUFFER = 80
348 #if L1_GPRS
349 ,RLC_TX_BUFFER_CS1 = 81,
350 RLC_TX_BUFFER_CS2 = 82,
351 RLC_TX_BUFFER_CS3 = 83,
352 RLC_TX_BUFFER_CS4 = 84
353 #endif
354 };
355
356 enum RX_PARAM
357 {
358 RX_AGC_GAIN = 1,
359 RX_TIMESLOT = 2,
360 RX_AGC_ENA_FLAG = 8,
361 RX_PM_ENABLE = 9,
362 RX_FRONT_DELAY = 10,
363 RX_FLAGS_CAL = 14,
364 RX_FLAGS_PLATFORM = 15,
365 RX_FLAGS_IQ_SWAP = 17,
366 RX_FLAGS_ALL = 18
367 #if L1_GPRS
368 ,RX_GPRS_SLOTS = 28,
369 RX_GPRS_CODING = 29
370 #endif
371 };
372
373 enum TX_PARAM
374 {
375 TX_PWR_LEVEL = 1,
376 TX_APC_DAC = 4,
377 TX_RAMP_TEMPLATE = 5,
378 TX_CHAN_CAL_TABLE = 6,
379 TX_RESERVED = 7,
380 TX_BURST_TYPE = 8,
381 TX_BURST_DATA = 9,
382 TX_TIMING_ADVANCE = 10,
383 TX_TRAINING_SEQ = 11,
384 TX_PWR_SKIP = 13,
385 TX_FLAGS_CAL = 14,
386 TX_FLAGS_PLATFORM = 15,
387 TX_FLAGS_IQ_SWAP = 17,
388 TX_FLAGS_ALL = 18
389 #if L1_GPRS
390 ,TX_GPRS_POWER0 = 20,
391 TX_GPRS_POWER1 = 21,
392 TX_GPRS_POWER2 = 22,
393 TX_GPRS_POWER3 = 23,
394 TX_GPRS_POWER4 = 24,
395 TX_GPRS_POWER5 = 25,
396 TX_GPRS_POWER6 = 26,
397 TX_GPRS_POWER7 = 27,
398 TX_GPRS_SLOTS = 28,
399 TX_GPRS_CODING = 29
400 #endif
401 };
402
403 enum MISC_PARAM
404 {
405 GPIOSTATE0 = 8,
406 GPIODIR0 = 9,
407 GPIOSTATE1 = 10,
408 GPIODIR1 = 11,
409 GPIOSTATE0P = 12,
410 GPIODIR0P = 13,
411 GPIOSTATE1P = 14,
412 GPIODIR1P = 15,
413 ADC_INTERVAL = 18,
414 ADC_ENA_FLAG = 19,
415 CONVERTED_ADC0 = 20,
416 CONVERTED_ADC1 = 21,
417 CONVERTED_ADC2 = 22,
418 CONVERTED_ADC3 = 23,
419 CONVERTED_ADC4 = 24,
420 CONVERTED_ADC5 = 25,
421 CONVERTED_ADC6 = 26,
422 CONVERTED_ADC7 = 27,
423 CONVERTED_ADC8 = 28,
424 RAW_ADC0 = 30,
425 RAW_ADC1 = 31,
426 RAW_ADC2 = 32,
427 RAW_ADC3 = 33,
428 RAW_ADC4 = 34,
429 RAW_ADC5 = 35,
430 RAW_ADC6 = 36,
431 RAW_ADC7 = 37,
432 RAW_ADC8 = 38,
433 ADC0_COEFF_A = 50,
434 ADC1_COEFF_A = 51,
435 ADC2_COEFF_A = 52,
436 ADC3_COEFF_A = 53,
437 ADC4_COEFF_A = 54,
438 ADC5_COEFF_A = 55,
439 ADC6_COEFF_A = 56,
440 ADC7_COEFF_A = 57,
441 ADC8_COEFF_A = 58,
442 ADC0_COEFF_B = 60,
443 ADC1_COEFF_B = 61,
444 ADC2_COEFF_B = 62,
445 ADC3_COEFF_B = 63,
446 ADC4_COEFF_B = 64,
447 ADC5_COEFF_B = 65,
448 ADC6_COEFF_B = 66,
449 ADC7_COEFF_B = 67,
450 ADC8_COEFF_B = 68,
451 SLEEP_MODE = 80,
452 CURRENT_TM_MODE = 127
453 };
454
455 enum STATS_CONFIG
456 {
457 LOOPS = 16,
458 AUTO_RESULT_LOOPS = 17,
459 AUTO_RESET_LOOPS = 18,
460 #if L1_GPRS
461 STAT_GPRS_SLOTS = 20,
462 #endif
463 STAT_TYPE = 24,
464 STAT_BITMASK = 25
465 };
466
467 enum STATS_READ
468 {
469 ACCUMULATED_RX_STATS = 1,
470 MOST_RECENT_RX_STATS = 2
471 };
472
473 enum BITMASK
474 {
475 RSSI = 0x0001,
476 DSP_PM = 0x0002,
477 ANGLE_MEAN = 0x0004,
478 ANGLE_VAR = 0x0008,
479 SNR_MEAN = 0x0010,
480 SNR_VAR = 0x0020,
481 TOA_MEAN = 0x0040,
482 TOA_VAR = 0x0080,
483 RESERVED1 = 0x0100,
484 RESERVED2 = 0x0200,
485 ANGLE_MIN = 0x0400,
486 ANGLE_MAX = 0x0800,
487 FRAME_NUMBER = 0x1000,
488 RUNS = 0x2000,
489 SUCCESSES = 0x4000,
490 BSIC = 0x8000
491 };
492
493 enum RF_ENABLE_E
494 {
495 STOP_ALL = 0,
496 RX_TCH = 1,
497 TX_TCH = 2,
498 RX_TX_TCH = 3,
499 #if L1_GPRS
500 RX_TX_PDTCH = 4,
501 #endif
502 RX_TCH_CONT = 8,
503 TX_TCH_CONT = 9,
504 BCCH_LOOP = 10,
505 SB_LOOP = 11,
506 FB1_LOOP = 12,
507 FB0_LOOP = 13,
508 SINGLE_PM = 15,
509 #if L1_GPRS
510 RX_TX_PDTCH_MON = 16,
511 #endif
512 #if (RF_FAM == 35)
513 RX_PLL_TUNING = 17,
514 #endif
515 RX_TX_MON_TCH = 19,
516 RX_TX_MON = 27
517 };
518
519 enum VERSION_GET_E
520 {
521 BBCHIP_MODULE_REV = 0x10,
522 CHIPID_MODULE_REV = 0x14,
523 CHIPVER_MODULE_REV = 0x15,
524 DSPSW_MODULE_REV = 0x22,
525 ANALOGCHIP_MODULE_REV = 0x30,
526 GSM_MODULE_REV = 0x80,
527 LAYER1_MODULE_REV = 0x84,
528 RFDRIVER_MODULE_REV = 0x88,
529 TM_API_MODULE_REV = 0xE0,
530 L1_TM_CORE_MODULE_REV = 0xE1,
531 STD_MODULE_REV = 0xE2,
532 DSP_MODULE_REV = 0xE3,
533 BOARD_MODULE_REV = 0xE4,
534 RF_MODULE_REV = 0xE5
535 };
536