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