FreeCalypso > hg > freecalypso-citrine
comparison L1/include/l1_tabs.h @ 0:75a11d740a02
initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 09 Jun 2016 00:02:41 +0000 |
parents | |
children | f93dab57b032 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:75a11d740a02 |
---|---|
1 /************* Revision Controle System Header ************* | |
2 * GSM Layer 1 software | |
3 * L1_TABS.H | |
4 * | |
5 * Filename l1_tabs.h | |
6 * Copyright 2003 (C) Texas Instruments | |
7 * | |
8 ************* Revision Controle System Header *************/ | |
9 /*********************************************************** | |
10 * Content: | |
11 * This file contains the miscelaneous ROM tables. | |
12 ***********************************************************/ | |
13 | |
14 #ifndef L1_TABS_H | |
15 #define L1_TABS_H | |
16 | |
17 #ifdef L1_ASYNC_C | |
18 /*-----------------------------------------------------------------*/ | |
19 /* Idle Tasks info. (Paging position, extended Paging position...) */ | |
20 /*-----------------------------------------------------------------*/ | |
21 /* REM: */ | |
22 /* The "working area" field gives the starting position of an area */ | |
23 /* it will be used for neighbour: - FB search, */ | |
24 /* - SB reading, */ | |
25 /* The value given for each parameter set takes into account the */ | |
26 /* size of the "FB search" task and the CBCH task. */ | |
27 /*-----------------------------------------------------------------*/ | |
28 // NP or EP task size: 1 + 4 + 1 = 6. | |
29 // BCCHS task size: 1 + 4 + 1 = 6. | |
30 // FB task size: 1 + 12 + 1 = 14. --+-- FB + SB task take 15 TDMA (pipeline overlay). | |
31 // SB task size: 1 + 2 + 1 = 4. --+ | |
32 // CNF, SB task size: 1 + 2 + 1 = 4. | |
33 // BC (Broad. Channel): 1 + 4 + 1 = 6 | |
34 | |
35 const T_IDLE_TASK_INFO IDLE_INFO_NCOMB[(MAX_AG_BLKS_RES_NCOMB+1) * (MAX_PG_BLOC_INDEX_NCOMB+1)] = | |
36 // BS_CCCH_SDCCH_COMB = False, BCCH not combined. | |
37 { | |
38 // BS_AG_BLKS_RES = 0. | |
39 // ------------------- | |
40 // Paging, Ext Paging | |
41 { CCCH_0, CCCH_2 }, // Paging Block Index = 0. | |
42 { CCCH_1, CCCH_3 }, // Paging Block Index = 1. | |
43 { CCCH_2, CCCH_4 }, // Paging Block Index = 2. | |
44 { CCCH_3, CCCH_5 }, // Paging Block Index = 3. | |
45 { CCCH_4, CCCH_6 }, // Paging Block Index = 4. | |
46 { CCCH_5, CCCH_7 }, // Paging Block Index = 5. | |
47 { CCCH_6, CCCH_8 }, // Paging Block Index = 6. | |
48 { CCCH_7, CCCH_0 }, // Paging Block Index = 7. | |
49 { CCCH_8, CCCH_1 }, // Paging Block Index = 8. | |
50 | |
51 // BS_AG_BLKS_RES = 1. | |
52 // ------------------- | |
53 // Paging, Ext Paging | |
54 { CCCH_1, CCCH_3 }, // Paging Block Index = 0. | |
55 { CCCH_2, CCCH_4 }, // Paging Block Index = 1. | |
56 { CCCH_3, CCCH_5 }, // Paging Block Index = 2. | |
57 { CCCH_4, CCCH_6 }, // Paging Block Index = 3. | |
58 { CCCH_5, CCCH_7 }, // Paging Block Index = 4. | |
59 { CCCH_6, CCCH_8 }, // Paging Block Index = 5. | |
60 { CCCH_7, CCCH_1 }, // Paging Block Index = 6. | |
61 { CCCH_8, CCCH_2 }, // Paging Block Index = 7. | |
62 { NULL, NULL }, // Paging Block Index = 8. | |
63 | |
64 // BS_AG_BLKS_RES = 2. | |
65 // ------------------- | |
66 // Paging, Ext Paging | |
67 { CCCH_2, CCCH_4 }, // Paging Block Index = 0. | |
68 { CCCH_3, CCCH_5 }, // Paging Block Index = 1. | |
69 { CCCH_4, CCCH_6 }, // Paging Block Index = 2. | |
70 { CCCH_5, CCCH_7 }, // Paging Block Index = 3. | |
71 { CCCH_6, CCCH_8 }, // Paging Block Index = 4. | |
72 { CCCH_7, CCCH_2 }, // Paging Block Index = 5. | |
73 { CCCH_8, CCCH_3 }, // Paging Block Index = 6. | |
74 { NULL, NULL }, // Paging Block Index = 7. | |
75 { NULL, NULL }, // Paging Block Index = 8. | |
76 | |
77 // BS_AG_BLKS_RES = 3. | |
78 // ------------------- | |
79 // Paging, Ext Paging, | |
80 { CCCH_3, CCCH_5 }, // Paging Block Index = 0. | |
81 { CCCH_4, CCCH_6 }, // Paging Block Index = 1. | |
82 { CCCH_5, CCCH_7 }, // Paging Block Index = 2. | |
83 { CCCH_6, CCCH_8 }, // Paging Block Index = 3. | |
84 { CCCH_7, CCCH_3 }, // Paging Block Index = 4. | |
85 { CCCH_8, CCCH_4 }, // Paging Block Index = 5. | |
86 { NULL, NULL }, // Paging Block Index = 6. | |
87 { NULL, NULL }, // Paging Block Index = 7. | |
88 { NULL, NULL }, // Paging Block Index = 8. | |
89 | |
90 // BS_AG_BLKS_RES = 4. | |
91 // ------------------- | |
92 // Paging, Ext Paging | |
93 { CCCH_4, CCCH_6 }, // Paging Block Index = 0. | |
94 { CCCH_5, CCCH_7 }, // Paging Block Index = 1. | |
95 { CCCH_6, CCCH_8 }, // Paging Block Index = 2. | |
96 { CCCH_7, CCCH_4 }, // Paging Block Index = 3. | |
97 { CCCH_8, CCCH_5 }, // Paging Block Index = 4. | |
98 { NULL, NULL }, // Paging Block Index = 5. | |
99 { NULL, NULL }, // Paging Block Index = 6. | |
100 { NULL, NULL }, // Paging Block Index = 7. | |
101 { NULL, NULL }, // Paging Block Index = 8. | |
102 | |
103 // BS_AG_BLKS_RES = 5. | |
104 // ------------------- | |
105 // Paging, Ext Paging | |
106 { CCCH_5, CCCH_7 }, // Paging Block Index = 0. | |
107 { CCCH_6, CCCH_8 }, // Paging Block Index = 1. | |
108 { CCCH_7, CCCH_5 }, // Paging Block Index = 2. | |
109 { CCCH_8, CCCH_6 }, // Paging Block Index = 3. | |
110 { NULL, NULL }, // Paging Block Index = 4. | |
111 { NULL, NULL }, // Paging Block Index = 5. | |
112 { NULL, NULL }, // Paging Block Index = 6. | |
113 { NULL, NULL }, // Paging Block Index = 7. | |
114 { NULL, NULL }, // Paging Block Index = 8. | |
115 | |
116 // BS_AG_BLKS_RES = 6. | |
117 // ------------------- | |
118 // Paging, Ext Paging, | |
119 { CCCH_6, CCCH_8 }, // Paging Block Index = 0. | |
120 { CCCH_7, CCCH_6 }, // Paging Block Index = 1. | |
121 { CCCH_8, CCCH_7 }, // Paging Block Index = 2. | |
122 { NULL, NULL }, // Paging Block Index = 3. | |
123 { NULL, NULL }, // Paging Block Index = 4. | |
124 { NULL, NULL }, // Paging Block Index = 5. | |
125 { NULL, NULL }, // Paging Block Index = 6. | |
126 { NULL, NULL }, // Paging Block Index = 7. | |
127 { NULL, NULL }, // Paging Block Index = 8. | |
128 | |
129 // BS_AG_BLKS_RES = 7. | |
130 // ------------------- | |
131 // Paging, Ext Paging | |
132 { CCCH_7, CCCH_7 }, // Paging Block Index = 0. | |
133 { CCCH_8, CCCH_8 }, // Paging Block Index = 1. | |
134 { NULL, NULL }, // Paging Block Index = 2. | |
135 { NULL, NULL }, // Paging Block Index = 3. | |
136 { NULL, NULL }, // Paging Block Index = 4. | |
137 { NULL, NULL }, // Paging Block Index = 5. | |
138 { NULL, NULL }, // Paging Block Index = 6. | |
139 { NULL, NULL }, // Paging Block Index = 7. | |
140 { NULL, NULL } // Paging Block Index = 8. | |
141 }; | |
142 | |
143 const T_IDLE_TASK_INFO IDLE_INFO_COMB[(MAX_AG_BLKS_RES_COMB+1) * (MAX_PG_BLOC_INDEX_COMB+1)] = | |
144 // BS_CCCH_SDCCH_COMB = TRUE, BCCH combined. | |
145 { | |
146 // BS_AG_BLKS_RES = 0. | |
147 // ------------------- | |
148 // Paging, Ext Paging, offset, working_area | |
149 { CCCH_0, CCCH_2 }, // Paging Block Index = 0. | |
150 { CCCH_1, CCCH_0 }, // Paging Block Index = 1. | |
151 { CCCH_2, CCCH_1 }, // Paging Block Index = 2. | |
152 | |
153 // BS_AG_BLKS_RES = 1. | |
154 // ------------------- | |
155 // Paging, Ext Paging, offset, working_area | |
156 { CCCH_1, CCCH_1 }, // Paging Block Index = 0. | |
157 { CCCH_2, CCCH_2 }, // Paging Block Index = 1. | |
158 { NULL, NULL }, // Paging Block Index = 2. | |
159 | |
160 // BS_AG_BLKS_RES = 2. | |
161 // ------------------- | |
162 // Paging, Ext Paging, offset, working_area | |
163 { CCCH_2, CCCH_2 }, // Paging Block Index = 0. | |
164 { NULL, NULL }, // Paging Block Index = 1. | |
165 { NULL, NULL } // Paging Block Index = 2. | |
166 }; | |
167 | |
168 | |
169 /*-------------------------------------*/ | |
170 /* Table giving the number of Paging */ | |
171 /* blocks in a MF51. */ | |
172 /* (called "N div BS_PA_MFRMS" in */ | |
173 /* GSM05.02, Page 21). */ | |
174 /*-------------------------------------*/ | |
175 | |
176 // BS_CCCH_SDCCH_COMB = False, BCCH not combined. | |
177 const UWORD8 NBPCH_IN_MF51_NCOMB[(MAX_AG_BLKS_RES_NCOMB+1)] = | |
178 { | |
179 9, // BS_AG_BLKS_RES = 0. | |
180 8, // BS_AG_BLKS_RES = 1. | |
181 7, // BS_AG_BLKS_RES = 2. | |
182 6, // BS_AG_BLKS_RES = 3. | |
183 5, // BS_AG_BLKS_RES = 4. | |
184 4, // BS_AG_BLKS_RES = 5. | |
185 3, // BS_AG_BLKS_RES = 6. | |
186 2 // BS_AG_BLKS_RES = 7. | |
187 }; | |
188 | |
189 // BS_CCCH_SDCCH_COMB = True, BCCH combined. | |
190 const UWORD8 NBPCH_IN_MF51_COMB[(MAX_AG_BLKS_RES_COMB+1)] = | |
191 { | |
192 3, // BS_AG_BLKS_RES = 0. | |
193 2, // BS_AG_BLKS_RES = 1. | |
194 1 // BS_AG_BLKS_RES = 2. | |
195 }; | |
196 | |
197 // Initial value for Downlink Signalling failure Counter (DSC). | |
198 const UWORD8 DSC_INIT_VALUE[MAX_BS_PA_MFRMS-1] = | |
199 { | |
200 45, // BS_PA_MFRMS = 2. | |
201 30, // BS_PA_MFRMS = 3. | |
202 23, // BS_PA_MFRMS = 4. | |
203 18, // BS_PA_MFRMS = 5. | |
204 15, // BS_PA_MFRMS = 6. | |
205 13, // BS_PA_MFRMS = 7. | |
206 11, // BS_PA_MFRMS = 8. | |
207 10 // BS_PA_MFRMS = 9. | |
208 }; | |
209 | |
210 // REM: 2nd block of SDCCH is always at the same position as the first block | |
211 // but 1 mf51 later. | |
212 // REM: monitoring during SDCCH used a fixe area (FB51/SB51/SBCNF51 tasks). | |
213 // Here is given the area starting position. This position is chosen | |
214 // to allow the equations for SBCNF51 occurence as it is in the l1s | |
215 // scheduler (the area do not overlap the end of 102 multiframe | |
216 // structure). | |
217 // Table for SDCCH description, Down Link & Up link, Not combined case. | |
218 const T_SDCCH_DESC SDCCH_DESC_NCOMB[8] = | |
219 { | |
220 // "dl_D" , "dl_A" , "ul_D" , "ul_A". , "monit. area" | |
221 { 51 - 12 , 32 - 12 , 15 - 12 , 47 - 12 , 70 - 12 }, // SDCCH, D0 | |
222 { 55 - 12 , 36 - 12 , 19 - 12 , 51 - 12 , 74 - 12 }, // SDCCH, D1 | |
223 { 59 - 12 , 40 - 12 , 23 - 12 , 55 - 12 , 78 - 12 }, // SDCCH, D2 | |
224 { 12 - 12 , 44 - 12 , 27 - 12 , 59 - 12 , 82 - 12 }, // SDCCH, D3 | |
225 { 16 - 12 , 83 - 12 , 31 - 12 , 98 - 12 , 35 - 12 }, // SDCCH, D4 | |
226 { 20 - 12 , 87 - 12 , 35 - 12 , 102 - 12 , 39 - 12 }, // SDCCH, D5 | |
227 { 24 - 12 , 91 - 12 , 39 - 12 , 4 - 12 + 102 , 43 - 12 }, // SDCCH, D6 | |
228 { 28 - 12 , 95 - 12 , 43 - 12 , 8 - 12 + 102 , 47 - 12 } // SDCCH, D7 | |
229 }; | |
230 | |
231 // REM: monitoring during SDCCH used a fixe area (FB51/SB51/SBCNF51 tasks). | |
232 // Here is given the area starting position. This position is chosen | |
233 // to allow the equations for SBCNF51 occurence as it is in the l1s | |
234 // scheduler (the area do not overlap the end of 102 multiframe | |
235 // structure). | |
236 // Table for SDCCH description, Down Link & Up link, Combined case. | |
237 const T_SDCCH_DESC SDCCH_DESC_COMB[4] = | |
238 { | |
239 // "dl_D" , "dl_A" , "ul_D" , "ul_A". , "monit. area" | |
240 { 73 - 37 , 42 - 37 , 37 - 37 , 57 - 37 , 92 - 37 }, // SDCCH, D0 | |
241 { 77 - 37 , 46 - 37 , 41 - 37 , 61 - 37 , 96 - 37 }, // SDCCH, D1 | |
242 { 83 - 37 , 93 - 37 , 47 - 37 , 6 - 37 + 102 , 51 - 37 }, // SDCCH, D2 | |
243 { 87 - 37 , 97 - 37 , 51 - 37 , 10 - 37 + 102 , 55 - 37 } // SDCCH, D3 | |
244 }; | |
245 | |
246 // Table for HOPPING SEQUENCE GENERATION ALGORITHM. | |
247 const UWORD8 RNTABLE[114] = | |
248 { | |
249 48, 98, 63, 1, 36, 95, 78, 102, 94, 73, | |
250 0, 64, 25, 81, 76, 59, 124, 23, 104, 100, | |
251 101, 47, 118, 85, 18, 56, 96, 86, 54, 2, | |
252 80, 34, 127, 13, 6, 89, 57, 103, 12, 74, | |
253 55, 111, 75, 38, 109, 71, 112, 29, 11, 88, | |
254 87, 19, 3, 68, 110, 26, 33, 31, 8, 45, | |
255 82, 58, 40, 107, 32, 5, 106, 92, 62, 67, | |
256 77, 108, 122, 37, 60, 66, 121, 42, 51, 126, | |
257 117, 114, 4, 90, 43, 52, 53, 113, 120, 72, | |
258 16, 49, 7, 79, 119, 61, 22, 84, 9, 97, | |
259 91, 15, 21, 24, 46, 39, 93, 105, 65, 70, | |
260 125, 99, 17, 123 | |
261 }; | |
262 | |
263 | |
264 // Table giving the RACH slot positions when COMBINED. | |
265 // Rem: all is shifted left by 1 to map the position of the possible "contoles". | |
266 const UWORD8 COMBINED_RA_DISTRIB[51] = | |
267 { | |
268 0, 0, 0, | |
269 1, 1, | |
270 0, 0, 0, 0, 0, 0, 0, 0, | |
271 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | |
272 0, 0, 0, 0, 0, 0, 0, 0, | |
273 1, 1, | |
274 0, 0, 0, 0, 0 | |
275 }; | |
276 | |
277 #if !L1_GPRS | |
278 const T_TASK_MFTAB TASK_ROM_MFTAB[NBR_DL_L1S_TASKS] = | |
279 { | |
280 { BLOC_HWTEST, BLOC_HWTEST_SIZE }, // HWTEST | |
281 { BLOC_ADC , BLOC_ADC_SIZE }, // ADC in CS_MODE0 | |
282 { NULL, 0 }, // DEDIC (not meaningfull) | |
283 { BLOC_RAACC, BLOC_RAACC_SIZE }, // RAACC | |
284 { NULL, 0 }, // RAHO (not meaningfull) | |
285 { NULL, 0 }, // NSYNC (not meaningfull) | |
286 { BLOC_FBNEW, BLOC_FBNEW_SIZE }, // FBNEW | |
287 { BLOC_SBCONF, BLOC_SBCONF_SIZE }, // SBCONF | |
288 { BLOC_SB2, BLOC_SB2_SIZE }, // SB2 | |
289 { BLOC_FB26, BLOC_FB26_SIZE }, // FB26 | |
290 { BLOC_SB26, BLOC_SB26_SIZE }, // SB26 | |
291 { BLOC_SBCNF26, BLOC_SBCNF26_SIZE }, // SBCNF26 | |
292 { BLOC_FB51, BLOC_FB51_SIZE }, // FB51 | |
293 { BLOC_SB51, BLOC_SB51_SIZE }, // SB51 | |
294 { BLOC_SBCNF51, BLOC_SBCNF51_SIZE }, // SBCNF51 | |
295 { BLOC_BCCHN, BLOC_BCCHN_SIZE }, // BCCHN | |
296 { BLOC_ALLC, S_RECT4_SIZE }, // ALLC | |
297 { BLOC_EBCCHS, S_RECT4_SIZE }, // EBCCHS | |
298 { BLOC_NBCCHS, S_RECT4_SIZE }, // NBCCHS | |
299 { BLOC_SMSCB, BLOC_SMSCB_SIZE }, // SMSCB | |
300 { BLOC_NP, S_RECT4_SIZE }, // NP | |
301 { BLOC_EP, S_RECT4_SIZE }, // EP | |
302 { BLOC_ADL, S_RECT4_SIZE }, // ADL | |
303 { BLOC_AUL, S_RECT4_SIZE }, // AUL | |
304 { BLOC_DDL, S_RECT4_SIZE }, // DDL | |
305 { BLOC_DUL, S_RECT4_SIZE }, // DUL | |
306 { BLOC_TCHD, BLOC_TCHT_SIZE }, // TCHD | |
307 { BLOC_TCHA, BLOC_TCHA_SIZE }, // TCHA | |
308 { BLOC_TCHTF, BLOC_TCHT_SIZE }, // TCHTF | |
309 { BLOC_TCHTH, BLOC_TCHT_SIZE }, // TCHTH | |
310 { BLOC_BCCHN_TOP,BLOC_BCCHN_TOP_SIZE}, // BCCHN_TOP | |
311 #if ((REL99 == 1) && (FF_BHO == 1)) | |
312 { BLOC_FBSB, BLOC_FBSB_SIZE }, // FBSB | |
313 #endif | |
314 { BLOC_SYNCHRO, BLOC_SYNCHRO_SIZE } // SYNCHRO | |
315 }; | |
316 | |
317 const UWORD8 DSP_TASK_CODE[NBR_DL_L1S_TASKS] = | |
318 { | |
319 CHECKSUM_DSP_TASK,// HWTEST | |
320 0, // DEDIC (not meaningfull) | |
321 0, // ADC (not meaningfull) | |
322 RACH_DSP_TASK, // RAACC | |
323 RACH_DSP_TASK, // RAHO | |
324 0, // NSYNC (not meaningfull) | |
325 FB_DSP_TASK, // FBNEW | |
326 SB_DSP_TASK, // SBCONF | |
327 SB_DSP_TASK, // SB2 | |
328 TCH_FB_DSP_TASK, // FB26 | |
329 TCH_SB_DSP_TASK, // SB26 | |
330 TCH_SB_DSP_TASK, // SBCNF26 | |
331 FB_DSP_TASK, // FB51 | |
332 SB_DSP_TASK, // SB51 | |
333 SB_DSP_TASK, // SBCNF51 | |
334 NBN_DSP_TASK, // BCCHN | |
335 ALLC_DSP_TASK, // ALLC | |
336 NBS_DSP_TASK, // EBCCHS | |
337 NBS_DSP_TASK, // NBCCHS | |
338 DDL_DSP_TASK, // Temporary (BUG IN SIMULATOR) CB_DSP_TASK, // SMSCB | |
339 NP_DSP_TASK, // NP | |
340 EP_DSP_TASK, // EP | |
341 ADL_DSP_TASK, // ADL | |
342 AUL_DSP_TASK, // AUL | |
343 DDL_DSP_TASK, // DDL | |
344 DUL_DSP_TASK, // DUL | |
345 TCHD_DSP_TASK, // TCHD | |
346 TCHA_DSP_TASK, // TCHA | |
347 TCHT_DSP_TASK, // TCHTF | |
348 TCHT_DSP_TASK, // TCHTH | |
349 NBN_DSP_TASK, // BCCHN_TOP == BCCHN | |
350 #if ((REL99 == 1) && (FF_BHO == 1)) | |
351 FBSB_DSP_TASK, // FBSB | |
352 #endif | |
353 0, // SYNCHRO (not meaningfull) | |
354 }; | |
355 #else | |
356 const T_TASK_MFTAB TASK_ROM_MFTAB[NBR_DL_L1S_TASKS] = | |
357 { | |
358 { BLOC_HWTEST, BLOC_HWTEST_SIZE }, // HWTEST | |
359 { BLOC_ADC, BLOC_ADC_SIZE }, // ADC in CS_MODE0 | |
360 { NULL, 0 }, // DEDIC (not meaningfull) | |
361 { BLOC_RAACC, BLOC_RAACC_SIZE }, // RAACC | |
362 { NULL, 0 }, // RAHO (not meaningfull) | |
363 { NULL, 0 }, // NSYNC (not meaningfull) | |
364 { BLOC_POLL , BLOC_POLL_SIZE }, // POLL | |
365 { BLOC_PRACH, BLOC_PRACH_SIZE }, // PRACH | |
366 { BLOC_ITMEAS, BLOC_ITMEAS_SIZE }, // ITMEAS | |
367 { BLOC_FBNEW, BLOC_FBNEW_SIZE }, // FBNEW | |
368 { BLOC_SBCONF, BLOC_SBCONF_SIZE }, // SBCONF | |
369 { BLOC_SB2, BLOC_SB2_SIZE }, // SB2 | |
370 { BLOC_PTCCH, BLOC_PTCCH_SIZE }, // PTCCH | |
371 { BLOC_FB26, BLOC_FB26_SIZE }, // FB26 | |
372 { BLOC_SB26, BLOC_SB26_SIZE }, // SB26 | |
373 { BLOC_SBCNF26, BLOC_SBCNF26_SIZE }, // SBCNF26 | |
374 { BLOC_FB51, BLOC_FB51_SIZE }, // FB51 | |
375 { BLOC_SB51, BLOC_SB51_SIZE }, // SB51 | |
376 { BLOC_SBCNF51, BLOC_SBCNF51_SIZE }, // SBCNF51 | |
377 { BLOC_PDTCH, BLOC_PDTCH_SIZE }, // PDTCH | |
378 { BLOC_BCCHN, BLOC_BCCHN_SIZE }, // BCCHN | |
379 { BLOC_ALLC, S_RECT4_SIZE }, // ALLC | |
380 { BLOC_EBCCHS, S_RECT4_SIZE }, // EBCCHS | |
381 { BLOC_NBCCHS, S_RECT4_SIZE }, // NBCCHS | |
382 { BLOC_ADL, S_RECT4_SIZE }, // ADL | |
383 { BLOC_AUL, S_RECT4_SIZE }, // AUL | |
384 { BLOC_DDL, S_RECT4_SIZE }, // DDL | |
385 { BLOC_DUL, S_RECT4_SIZE }, // DUL | |
386 { BLOC_TCHD, BLOC_TCHT_SIZE }, // TCHD | |
387 { BLOC_TCHA, BLOC_TCHA_SIZE }, // TCHA | |
388 { BLOC_TCHTF, BLOC_TCHT_SIZE }, // TCHTF | |
389 { BLOC_TCHTH, BLOC_TCHT_SIZE }, // TCHTH | |
390 { BLOC_PALLC, BLOC_PCCCH_SIZE }, // PALLC | |
391 { BLOC_SMSCB, BLOC_SMSCB_SIZE }, // SMSCB | |
392 { BLOC_PBCCHS, BLOC_PBCCHS_SIZE }, // PBCCHS | |
393 { BLOC_PNP, BLOC_PCCCH_SIZE }, // PNP | |
394 { BLOC_PEP, BLOC_PCCCH_SIZE }, // PEP | |
395 { BLOC_SINGLE, BLOC_SINGLE_SIZE }, // SINGLE | |
396 { BLOC_PBCCHN_TRAN, BLOC_PBCCHN_TRAN_SIZE }, // PBCCHN_TRAN | |
397 { BLOC_PBCCHN_IDLE, BLOC_PBCCHN_IDLE_SIZE }, // PBCCHN_IDLE | |
398 { BLOC_BCCHN_TRAN, BLOC_BCCHN_TRAN_SIZE }, // BCCHN_TRAN | |
399 { BLOC_NP, S_RECT4_SIZE }, // NP | |
400 { BLOC_EP, S_RECT4_SIZE }, // EP | |
401 { BLOC_BCCHN_TOP, BLOC_BCCHN_TOP_SIZE}, // BCCHN_TOP | |
402 #if ((REL99 == 1) && (FF_BHO == 1)) | |
403 { BLOC_FBSB, BLOC_FBSB_SIZE }, // FBSB | |
404 #endif | |
405 { BLOC_SYNCHRO, BLOC_SYNCHRO_SIZE } // SYNCHRO | |
406 }; | |
407 | |
408 const UWORD8 DSP_TASK_CODE[NBR_DL_L1S_TASKS] = | |
409 { | |
410 CHECKSUM_DSP_TASK,// HWTEST | |
411 0, // ADC (not meaningfull) | |
412 0, // DEDIC (not meaningfull) | |
413 RACH_DSP_TASK, // RAACC | |
414 RACH_DSP_TASK, // RAHO | |
415 0, // NSYNC (not meaningfull) | |
416 0, // POLL (not meaningfull) | |
417 0, // PRACH (not meaningfull) | |
418 0, // ITMEAS | |
419 FB_DSP_TASK, // FBNEW | |
420 SB_DSP_TASK, // SBCONF | |
421 SB_DSP_TASK, // SB2 | |
422 PTCCHU_DSP_TASK, // PTCCH | |
423 TCH_FB_DSP_TASK, // FB26 | |
424 TCH_SB_DSP_TASK, // SB26 | |
425 TCH_SB_DSP_TASK, // SBCNF26 | |
426 FB_DSP_TASK, // FB51 | |
427 SB_DSP_TASK, // SB51 | |
428 SB_DSP_TASK, // SBCNF51 | |
429 0, // PDTCH (not meaningfull) | |
430 NBN_DSP_TASK, // BCCHN | |
431 ALLC_DSP_TASK, // ALLC | |
432 NBS_DSP_TASK, // EBCCHS | |
433 NBS_DSP_TASK, // NBCCHS | |
434 ADL_DSP_TASK, // ADL | |
435 AUL_DSP_TASK, // AUL | |
436 DDL_DSP_TASK, // DDL | |
437 DUL_DSP_TASK, // DUL | |
438 TCHD_DSP_TASK, // TCHD | |
439 TCHA_DSP_TASK, // TCHA | |
440 TCHT_DSP_TASK, // TCHTF | |
441 TCHT_DSP_TASK, // TCHTH | |
442 0, // PALLC (not meaningfull) | |
443 DDL_DSP_TASK, // Temporary (BUG IN SIMULATOR) CB_DSP_TASK, // SMSCB | |
444 DDL_DSP_TASK, // PBCCHS (In order to allow PBCCHS running in CS or Idle mode, we have to specify a valid DSP task in order to request a PBCCHS with the GSM scheduler) | |
445 0, // PNP (not meaningfull) | |
446 0, // PEP (not meaningfull) | |
447 0, // SINGLE (not meaningfull) | |
448 0, // PBCCHN_TRAN (not meaningfull) | |
449 DDL_DSP_TASK, // PBCCHN_IDLE (only for GSM scheduler the task used is the same as SMSCB task) | |
450 NBN_DSP_TASK, // BCCHN_TRAN == BCCHN | |
451 NP_DSP_TASK, // NP | |
452 EP_DSP_TASK, // EP | |
453 NBN_DSP_TASK, // BCCHN_TOP == BCCHN | |
454 #if ((REL99 == 1) && (FF_BHO == 1)) | |
455 FBSB_DSP_TASK, // FBSB | |
456 #endif | |
457 0 // SYNCHRO (not meaningfull) | |
458 }; | |
459 | |
460 #endif | |
461 | |
462 const UWORD8 REPORTING_PERIOD[] = | |
463 { | |
464 255, // INVALID_CHANNEL -> invalid reporting period | |
465 104, // TCH_F | |
466 104, // TCH_H | |
467 102, // SDCCH_4 | |
468 102 // SDCCH_8 | |
469 }; | |
470 | |
471 const UWORD8 TOA_PERIOD_LEN[] = | |
472 { | |
473 0, // CS_MODE0 not used for histogram filling | |
474 12, // CS_MODE histogram length | |
475 12, // I_MODE histogram length | |
476 12, // CON_EST_MODE1 histogram length | |
477 144, // CON_EST_MODE2 histogram length | |
478 36, // DEDIC_MODE (Full rate) histogram length | |
479 42, // DEDIC_MODE (Half rate) histogram length | |
480 #if L1_GPRS | |
481 16, // PACKET TRANSFER MODE histogram length | |
482 #endif | |
483 }; | |
484 | |
485 // #if (STD == GSM) | |
486 const UWORD8 MIN_TXPWR_GSM[] = | |
487 { | |
488 0, // unused. | |
489 0, // Power class = 1, unused for GSM900 | |
490 2, // Power class = 2. | |
491 3, // Power class = 3. | |
492 5, // Power class = 4. | |
493 7 // Power class = 5. | |
494 }; | |
495 // #elif (STD == PCS1900) | |
496 const UWORD8 MIN_TXPWR_PCS[] = | |
497 { | |
498 0, // unused. | |
499 0, // Power class = 1. | |
500 3, // Power class = 2. | |
501 30 // Power class = 3. | |
502 }; | |
503 // #elif (STD == DCS1800) | |
504 const UWORD8 MIN_TXPWR_DCS[] = | |
505 { | |
506 0, // unused. | |
507 0, // Power class = 1. | |
508 3, // Power class = 2. | |
509 29 // Power class = 3. | |
510 }; | |
511 | |
512 const UWORD8 MIN_TXPWR_GSM850[] = | |
513 { | |
514 0, // unused. | |
515 0, // Power class = 1, unused for GSM900 | |
516 2, // Power class = 2. | |
517 3, // Power class = 3. | |
518 5, // Power class = 4. | |
519 7 // Power class = 5. | |
520 }; | |
521 | |
522 // #elif (STD == DUAL) | |
523 // const UWORD8 MIN_TXPWR_GSM[] = | |
524 // { | |
525 // 0, // unused. | |
526 // 0, // Power class = 1, unused for GSM900 | |
527 // 2, // Power class = 2. | |
528 // 3, // Power class = 3. | |
529 // 5, // Power class = 4. | |
530 // 7 // Power class = 5. | |
531 // }; | |
532 // const UWORD8 MIN_TXPWR_DCS[] = | |
533 // { | |
534 // 0, // unused. | |
535 // 0, // Power class = 1. | |
536 // 3, // Power class = 2. | |
537 // 29 // Power class = 3. | |
538 // }; | |
539 // #endif | |
540 | |
541 const UWORD8 GAUG_VS_PAGING_RATE[] = | |
542 { | |
543 4, // bs_pa_mfrms = 2, 1 gauging every 4 Paging blocs | |
544 3, // bs_pa_mfrms = 3, 1 gauging every 3 Paging blocs | |
545 2, // bs_pa_mfrms = 4, 1 gauging every 2 Paging blocs | |
546 1, // bs_pa_mfrms = 5, 1 gauging every 1 Paging bloc | |
547 1, // bs_pa_mfrms = 6, 1 gauging every 1 Paging bloc | |
548 1, // bs_pa_mfrms = 7, 1 gauging every 1 Paging bloc | |
549 1, // bs_pa_mfrms = 8, 1 gauging every 1 Paging bloc | |
550 1 // bs_pa_mfrms = 9, 1 gauging every 1 Paging bloc | |
551 }; | |
552 | |
553 #else | |
554 extern T_IDLE_TASK_INFO IDLE_INFO_COMB[(MAX_AG_BLKS_RES_COMB+1) * (MAX_PG_BLOC_INDEX_COMB+1)]; | |
555 extern T_IDLE_TASK_INFO IDLE_INFO_NCOMB[(MAX_AG_BLKS_RES_NCOMB+1) * (MAX_PG_BLOC_INDEX_NCOMB+1)]; | |
556 extern UWORD8 NBPCH_IN_MF51_NCOMB[(MAX_AG_BLKS_RES_NCOMB+1)]; | |
557 extern UWORD8 NBPCH_IN_MF51_COMB[(MAX_AG_BLKS_RES_COMB+1)]; | |
558 extern UWORD8 DSC_INIT_VALUE[MAX_BS_PA_MFRMS-2]; | |
559 extern T_SDCCH_DESC SDCCH_DESC_NCOMB[]; | |
560 extern T_SDCCH_DESC SDCCH_DESC_COMB[]; | |
561 extern UWORD8 RNTABLE[114]; | |
562 extern UWORD8 COMBINED_RA_DISTRIB[51]; | |
563 extern T_TASK_MFTAB TASK_ROM_MFTAB[NBR_DL_L1S_TASKS]; | |
564 extern UWORD8 DSP_TASK_CODE[NBR_DL_L1S_TASKS]; | |
565 extern UWORD8 REPORTING_PERIOD[]; | |
566 extern UWORD8 TOA_PERIOD_LEN[]; | |
567 extern UWORD8 MIN_TXPWR_GSM[]; | |
568 extern UWORD8 MIN_TXPWR_DCS[]; | |
569 extern UWORD8 MIN_TXPWR_PCS[]; | |
570 extern UWORD8 MIN_TXPWR_GSM850[]; | |
571 extern UWORD8 GAUG_VS_PAGING_RATE[]; | |
572 #endif | |
573 #endif //L1_TABS_H |