1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 |
/****************************************************************************/ /* MODULE : CTU */ /****************************************************************************/ struct CTU_tag { union { vuint32_t R; struct { vuint32_t I15_FE:1; vuint32_t I15_RE:1; vuint32_t I14_FE:1; vuint32_t I14_RE:1; vuint32_t I13_FE:1; vuint32_t I13_RE:1; vuint32_t I12_FE:1; vuint32_t I12_RE:1; vuint32_t I11_FE:1; vuint32_t I11_RE:1; vuint32_t I10_FE:1; vuint32_t I10_RE:1; vuint32_t I9_FE:1; vuint32_t I9_RE:1; vuint32_t I8_FE:1; vuint32_t I8_RE:1; vuint32_t I7_FE:1; vuint32_t I7_RE:1; vuint32_t I6_FE:1; vuint32_t I6_RE:1; vuint32_t I5_FE:1; vuint32_t I5_RE:1; vuint32_t I4_FE:1; vuint32_t I4_RE:1; vuint32_t I3_FE:1; vuint32_t I3_RE:1; vuint32_t I2_FE:1; vuint32_t I2_RE:1; vuint32_t I1_FE:1; vuint32_t I1_RE:1; vuint32_t I0_FE:1; vuint32_t I0_RE:1; } B; } TGSISR; /* -Trigger Generator Subunit Input Selection Register */ union { vuint16_t R; struct { vuint16_t:7; vuint16_t ETTM:1; vuint16_t PRES:2; vuint16_t MRSSM:5; vuint16_t TGSM:1; } B; } TGSCR; /* Trigger Generator Subunit Control Register */ union { vuint16_t R; struct { vuint16_t TCRV:16; } B; } TCR[8]; /* Trigger 0->7 Compare Register */ union { vuint16_t R; struct { vuint16_t TGSCCV:16; } B; } TGSCCR; /* TGS Counter Compare Register */ union { vuint16_t R; struct { vuint16_t TGSCRV:16; } B; } TGSCRR; /* TGS Counter Reload Register */ uint16_t CTU_reserved0; union { vuint32_t R; struct { vuint32_t:3; vuint32_t T3INDEX:5; vuint32_t:3; vuint32_t T2INDEX:5; vuint32_t:3; vuint32_t T1INDEX:5; vuint32_t:3; vuint32_t T0INDEX:5; } B; } CLCR1; /* Command List Control Register 1 */ union { vuint32_t R; struct { vuint32_t:3; vuint32_t T7INDEX:5; vuint32_t:3; vuint32_t T6INDEX:5; vuint32_t:3; vuint32_t T5INDEX:5; vuint32_t:3; vuint32_t T4INDEX:5; } B; } CLCR2; /* Command List Control Register 2 */ union { vuint32_t R; struct { vuint32_t:3; vuint32_t T3E:1; vuint32_t T3ETE:1; vuint32_t T3T1E:1; vuint32_t T3T0E:1; vuint32_t T3ADCE:1; vuint32_t:3; vuint32_t T2E:1; vuint32_t T2ETE:1; vuint32_t T2T1E:1; vuint32_t T2T0E:1; vuint32_t T2ADCE:1; vuint32_t:3; vuint32_t T1E:1; vuint32_t T1ETE:1; vuint32_t T1T1E:1; vuint32_t T1T0E:1; vuint32_t T1ADCE:1; vuint32_t:3; vuint32_t T0E:1; vuint32_t T0ETE:1; vuint32_t T0T1E:1; vuint32_t T0T0E:1; vuint32_t T0ADCE:1; } B; } THCR1; /* Trigger Handler Control Register 1 */ union { vuint32_t R; struct { vuint32_t:3; vuint32_t T7E:1; vuint32_t T7ETE:1; vuint32_t T7T1E:1; vuint32_t T7T0E:1; vuint32_t T7ADCE:1; vuint32_t:3; vuint32_t T6E:1; vuint32_t T6ETE:1; vuint32_t T6T1E:1; vuint32_t T6T0E:1; vuint32_t T6ADCE:1; vuint32_t:3; vuint32_t T5E:1; vuint32_t T5ETE:1; vuint32_t T5T1E:1; vuint32_t T5T0E:1; vuint32_t T5ADCE:1; vuint32_t:3; vuint32_t T4E:1; vuint32_t T4ETE:1; vuint32_t T4T1E:1; vuint32_t T4T0E:1; vuint32_t T4ADCE:1; } B; } THCR2; /* Trigger Handler Control Register 2 */ /* Single Conversion Mode - Comment for Dual Conversion Mode */ union { vuint16_t R; struct { vuint16_t CIR:1; vuint16_t FC:1; vuint16_t CMS:1; vuint16_t FIFO:3; vuint16_t:1; vuint16_t:3; vuint16_t SU:1; vuint16_t:1; vuint16_t CH:4; } B; } CLR[32]; /* Commands List Register x (double-buffered) (x = 1,...,32) */ /* Uncomment for Dual Conversion Mode */ /*union { vuint16_t R; struct { vuint16_t CIR:1; vuint16_t LC:1; vuint16_t CMS:1; vuint16_t FIFO:3; vuint16_t :1; vuint16_t CHB:4; vuint16_t :1; vuint16_t CHA:4; } B; } CLR[32]; */ /* Commands List Register x (double-buffered) (x = 1,...,32) */ union { vuint16_t R; struct { vuint16_t:8; vuint16_t DMAEN7:1; vuint16_t DMAEN6:1; vuint16_t DMAEN5:1; vuint16_t DMAEN4:1; vuint16_t DMAEN3:1; vuint16_t DMAEN2:1; vuint16_t DMAEN1:1; vuint16_t DMAEN0:1; } B; } CR; /* Control Register */ uint16_t CTU_reserved1; union { vuint32_t R; struct { vuint32_t FIFO_OVERRUN_EN7:1; vuint32_t FIFO_OVERFLOW_EN7:1; vuint32_t FIFO_EMPTY_EN7:1; vuint32_t FIFO_FULL_EN7:1; vuint32_t FIFO_OVERRUN_EN6:1; vuint32_t FIFO_OVERFLOW_EN6:1; vuint32_t FIFO_EMPTY_EN6:1; vuint32_t FIFO_FULL_EN6:1; vuint32_t FIFO_OVERRUN_EN5:1; vuint32_t FIFO_OVERFLOW_EN5:1; vuint32_t FIFO_EMPTY_EN5:1; vuint32_t FIFO_FULL_EN5:1; vuint32_t FIFO_OVERRUN_EN4:1; vuint32_t FIFO_OVERFLOW_EN4:1; vuint32_t FIFO_EMPTY_EN4:1; vuint32_t FIFO_FULL_EN4:1; vuint32_t FIFO_OVERRUN_EN3:1; vuint32_t FIFO_OVERFLOW_EN3:1; vuint32_t FIFO_EMPTY_EN3:1; vuint32_t FIFO_FULL_EN3:1; vuint32_t FIFO_OVERRUN_EN2:1; vuint32_t FIFO_OVERFLOW_EN2:1; vuint32_t FIFO_EMPTY_EN2:1; vuint32_t FIFO_FULL_EN2:1; vuint32_t FIFO_OVERRUN_EN1:1; vuint32_t FIFO_OVERFLOW_EN1:1; vuint32_t FIFO_EMPTY_EN1:1; vuint32_t FIFO_FULL_EN1:1; vuint32_t FIFO_OVERRUN_EN0:1; vuint32_t FIFO_OVERFLOW_EN0:1; vuint32_t FIFO_EMPTY_EN0:1; vuint32_t FIFO_FULL_EN0:1; } B; } FCR; /* CONTROL REGISTER FIFO */ union { vuint32_t R; struct { vuint32_t THRESHOLD3:8; vuint32_t THRESHOLD2:8; vuint32_t THRESHOLD1:8; vuint32_t THRESHOLD0:8; } B; } TH1; /* Threshold Register */ union { vuint32_t R; struct { vuint32_t THRESHOLD7:8; vuint32_t THRESHOLD6:8; vuint32_t THRESHOLD5:8; vuint32_t THRESHOLD4:8; } B; } TH2; /* Threshold Register */ union { vuint32_t R; struct { vuint32_t FIFO_OVERRUN7:1; vuint32_t FIFO_OVERFLOW7:1; vuint32_t FIFO_EMPTY7:1; vuint32_t FIFO_FULL7:1; vuint32_t FIFO_OVERRUN6:1; vuint32_t FIFO_OVERFLOW6:1; vuint32_t FIFO_EMPTY6:1; vuint32_t FIFO_FULL6:1; vuint32_t FIFO_OVERRUN5:1; vuint32_t FIFO_OVERFLOW5:1; vuint32_t FIFO_EMPTY5:1; vuint32_t FIFO_FULL5:1; vuint32_t FIFO_OVERRUN4:1; vuint32_t FIFO_OVERFLOW4:1; vuint32_t FIFO_EMPTY4:1; vuint32_t FIFO_FULL4:1; vuint32_t FIFO_OVERRUN3:1; vuint32_t FIFO_OVERFLOW3:1; vuint32_t FIFO_EMPTY3:1; vuint32_t FIFO_FULL3:1; vuint32_t FIFO_OVERRUN2:1; vuint32_t FIFO_OVERFLOW2:1; vuint32_t FIFO_EMPTY2:1; vuint32_t FIFO_FULL2:1; vuint32_t FIFO_OVERRUN1:1; vuint32_t FIFO_OVERFLOW1:1; vuint32_t FIFO_EMPTY1:1; vuint32_t FIFO_FULL1:1; vuint32_t FIFO_OVERRUN0:1; vuint32_t FIFO_OVERFLOW0:1; vuint32_t FIFO_EMPTY0:1; vuint32_t FIFO_FULL0:1; } B; } STATUS; /* STATUS REGISTER */ union { vuint32_t R; struct { vuint32_t:11; vuint32_t NCH:5; vuint32_t:6; vuint32_t DATA:10; } B; } FRA[8]; /* FIFO RIGHT aligned REGISTER */ union { vuint32_t R; struct { vuint32_t:11; vuint32_t NCH:5; vuint32_t DATA:10; vuint32_t:6; } B; } FLA[8]; /* FIFO LEFT aligned REGISTER */ union { vuint16_t R; struct { vuint16_t:7; vuint16_t ETOE:1; vuint16_t T1OE:1; vuint16_t T0OE:1; vuint16_t ADCOE:1; vuint16_t TGSOSM:1; vuint16_t MRSO:1; vuint16_t ICE:1; vuint16_t SMTO:1; vuint16_t MRSRE:1; } B; } CTUEFR; /* Cross Triggering Unit Error Flag Register */ union { vuint16_t R; struct { vuint16_t:6; vuint16_t ADC:1; vuint16_t T7:1; vuint16_t T6:1; vuint16_t T5:1; vuint16_t T4:1; vuint16_t T3:1; vuint16_t T2:1; vuint16_t T1:1; vuint16_t T0:1; vuint16_t MRS:1; } B; } CTUIFR; /* Cross Triggering Unit Interrupt Flag Register */ union { vuint16_t R; struct { vuint16_t T7IE:1; vuint16_t T6IE:1; vuint16_t T5IE:1; vuint16_t T4IE:1; vuint16_t T3IE:1; vuint16_t T2IE:1; vuint16_t T1IE:1; vuint16_t T0IE:1; vuint16_t:5; vuint16_t MRSDMAE:1; vuint16_t MRSIE:1; vuint16_t IEE:1; } B; } CTUIR; /* Cross Triggering Unit Interrupt/DMA Register */ union { vuint16_t R; struct { vuint16_t:8; vuint16_t COTR:8; } B; } COTR; /* Control On-Time Register */ union { vuint16_t R; struct { vuint16_t T7SG:1; vuint16_t T6SG:1; vuint16_t T5SG:1; vuint16_t T4SG:1; vuint16_t T3SG:1; vuint16_t T2SG:1; vuint16_t T1SG:1; vuint16_t T0SG:1; vuint16_t CTUADCRESET:1; vuint16_t CTUODIS:1; vuint16_t FILTERENABLE:1; vuint16_t CGRE:1; vuint16_t FGRE:1; vuint16_t MRSSG:1; vuint16_t GRE:1; vuint16_t TGSISRRE:1; } B; } CTUCR; /* Cross Triggering Unit Control Register */ union { vuint16_t R; struct { vuint16_t:8; vuint16_t FILTERVALUE:8; } B; } CTUFILTER; /* Cross Triggering Unit Digital Filter */ union { vuint16_t R; struct { vuint16_t:15; vuint16_t MDIS:1; } B; } CTUPCR; /* Cross Triggering Unit Power Control */ }; /* end of CTU_tag */ |