1 //***************************************************************************** 2 // 3 // rom.h 4 // 5 // Macros to facilitate calling functions in the ROM. 6 // 7 // Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/ 8 // 9 // 10 // Redistribution and use in source and binary forms, with or without 11 // modification, are permitted provided that the following conditions 12 // are met: 13 // 14 // Redistributions of source code must retain the above copyright 15 // notice, this list of conditions and the following disclaimer. 16 // 17 // Redistributions in binary form must reproduce the above copyright 18 // notice, this list of conditions and the following disclaimer in the 19 // documentation and/or other materials provided with the 20 // distribution. 21 // 22 // Neither the name of Texas Instruments Incorporated nor the names of 23 // its contributors may be used to endorse or promote products derived 24 // from this software without specific prior written permission. 25 // 26 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 32 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 33 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 34 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 35 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 36 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 // 38 //***************************************************************************** 39 40 //***************************************************************************** 41 // 42 // THIS IS AN AUTO-GENERATED FILE. DO NOT EDIT BY HAND. 43 // 44 //***************************************************************************** 45 46 #ifndef __ROM_H__ 47 #define __ROM_H__ 48 49 //***************************************************************************** 50 // 51 // Pointers to the main API tables. 52 // 53 //***************************************************************************** 54 #define ROM_APITABLE ((unsigned long *)0x0000040C) 55 #define ROM_VERSION (ROM_APITABLE[0]) 56 #define ROM_UARTTABLE ((unsigned long *)(ROM_APITABLE[1])) 57 #define ROM_TIMERTABLE ((unsigned long *)(ROM_APITABLE[2])) 58 #define ROM_WATCHDOGTABLE ((unsigned long *)(ROM_APITABLE[3])) 59 #define ROM_INTERRUPTTABLE ((unsigned long *)(ROM_APITABLE[4])) 60 #define ROM_UDMATABLE ((unsigned long *)(ROM_APITABLE[5])) 61 #define ROM_PRCMTABLE ((unsigned long *)(ROM_APITABLE[6])) 62 #define ROM_I2CTABLE ((unsigned long *)(ROM_APITABLE[7])) 63 #define ROM_SPITABLE ((unsigned long *)(ROM_APITABLE[8])) 64 #define ROM_CAMERATABLE ((unsigned long *)(ROM_APITABLE[9])) 65 #define ROM_FLASHTABLE ((unsigned long *)(ROM_APITABLE[10])) 66 #define ROM_PINTABLE ((unsigned long *)(ROM_APITABLE[11])) 67 #define ROM_SYSTICKTABLE ((unsigned long *)(ROM_APITABLE[12])) 68 #define ROM_UTILSTABLE ((unsigned long *)(ROM_APITABLE[13])) 69 #define ROM_I2STABLE ((unsigned long *)(ROM_APITABLE[14])) 70 #define ROM_HWSPINLOCKTABLE ((unsigned long *)(ROM_APITABLE[15])) 71 #define ROM_GPIOTABLE ((unsigned long *)(ROM_APITABLE[16])) 72 #define ROM_AESTABLE ((unsigned long *)(ROM_APITABLE[17])) 73 #define ROM_DESTABLE ((unsigned long *)(ROM_APITABLE[18])) 74 #define ROM_SHAMD5TABLE ((unsigned long *)(ROM_APITABLE[19])) 75 #define ROM_CRCTABLE ((unsigned long *)(ROM_APITABLE[20])) 76 #define ROM_SDHOSTTABLE ((unsigned long *)(ROM_APITABLE[21])) 77 #define ROM_ADCTABLE ((unsigned long *)(ROM_APITABLE[22])) 78 79 //***************************************************************************** 80 // 81 // Macros for calling ROM functions in the Interrupt API. 82 // 83 //***************************************************************************** 84 #if defined(TARGET_IS_CC3200) 85 #define ROM_IntEnable \ 86 ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[0]) 87 #endif 88 #if defined(TARGET_IS_CC3200) 89 #define ROM_IntMasterEnable \ 90 ((tBoolean (*)(void))ROM_INTERRUPTTABLE[1]) 91 #endif 92 #if defined(TARGET_IS_CC3200) 93 #define ROM_IntMasterDisable \ 94 ((tBoolean (*)(void))ROM_INTERRUPTTABLE[2]) 95 #endif 96 #if defined(TARGET_IS_CC3200) 97 #define ROM_IntDisable \ 98 ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[3]) 99 #endif 100 #if defined(TARGET_IS_CC3200) 101 #define ROM_IntPriorityGroupingSet \ 102 ((void (*)(unsigned long ulBits))ROM_INTERRUPTTABLE[4]) 103 #endif 104 #if defined(TARGET_IS_CC3200) 105 #define ROM_IntPriorityGroupingGet \ 106 ((unsigned long (*)(void))ROM_INTERRUPTTABLE[5]) 107 #endif 108 #if defined(TARGET_IS_CC3200) 109 #define ROM_IntPrioritySet \ 110 ((void (*)(unsigned long ulInterrupt, \ 111 unsigned char ucPriority))ROM_INTERRUPTTABLE[6]) 112 #endif 113 #if defined(TARGET_IS_CC3200) 114 #define ROM_IntPriorityGet \ 115 ((long (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[7]) 116 #endif 117 #if defined(TARGET_IS_CC3200) 118 #define ROM_IntPendSet \ 119 ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[8]) 120 #endif 121 #if defined(TARGET_IS_CC3200) 122 #define ROM_IntPendClear \ 123 ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[9]) 124 #endif 125 #if defined(TARGET_IS_CC3200) 126 #define ROM_IntPriorityMaskSet \ 127 ((void (*)(unsigned long ulPriorityMask))ROM_INTERRUPTTABLE[10]) 128 #endif 129 #if defined(TARGET_IS_CC3200) 130 #define ROM_IntPriorityMaskGet \ 131 ((unsigned long (*)(void))ROM_INTERRUPTTABLE[11]) 132 #endif 133 #if defined(TARGET_IS_CC3200) 134 #define ROM_IntRegister \ 135 ((void (*)(unsigned long ulInterrupt, \ 136 void (*pfnHandler)(void)))ROM_INTERRUPTTABLE[12]) 137 #endif 138 #if defined(TARGET_IS_CC3200) 139 #define ROM_IntUnregister \ 140 ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[13]) 141 #endif 142 #if defined(TARGET_IS_CC3200) 143 #define ROM_IntVTableBaseSet \ 144 ((void (*)(unsigned long ulVtableBase))ROM_INTERRUPTTABLE[14]) 145 #endif 146 147 //***************************************************************************** 148 // 149 // Macros for calling ROM functions in the Timer API. 150 // 151 //***************************************************************************** 152 #if defined(TARGET_IS_CC3200) 153 #define ROM_TimerEnable \ 154 ((void (*)(unsigned long ulBase, \ 155 unsigned long ulTimer))ROM_TIMERTABLE[0]) 156 #endif 157 #if defined(TARGET_IS_CC3200) 158 #define ROM_TimerDisable \ 159 ((void (*)(unsigned long ulBase, \ 160 unsigned long ulTimer))ROM_TIMERTABLE[1]) 161 #endif 162 #if defined(TARGET_IS_CC3200) 163 #define ROM_TimerConfigure \ 164 ((void (*)(unsigned long ulBase, \ 165 unsigned long ulConfig))ROM_TIMERTABLE[2]) 166 #endif 167 #if defined(TARGET_IS_CC3200) 168 #define ROM_TimerControlLevel \ 169 ((void (*)(unsigned long ulBase, \ 170 unsigned long ulTimer, \ 171 tBoolean bInvert))ROM_TIMERTABLE[3]) 172 #endif 173 #if defined(TARGET_IS_CC3200) 174 #define ROM_TimerControlEvent \ 175 ((void (*)(unsigned long ulBase, \ 176 unsigned long ulTimer, \ 177 unsigned long ulEvent))ROM_TIMERTABLE[4]) 178 #endif 179 #if defined(TARGET_IS_CC3200) 180 #define ROM_TimerControlStall \ 181 ((void (*)(unsigned long ulBase, \ 182 unsigned long ulTimer, \ 183 tBoolean bStall))ROM_TIMERTABLE[5]) 184 #endif 185 #if defined(TARGET_IS_CC3200) 186 #define ROM_TimerPrescaleSet \ 187 ((void (*)(unsigned long ulBase, \ 188 unsigned long ulTimer, \ 189 unsigned long ulValue))ROM_TIMERTABLE[6]) 190 #endif 191 #if defined(TARGET_IS_CC3200) 192 #define ROM_TimerPrescaleGet \ 193 ((unsigned long (*)(unsigned long ulBase, \ 194 unsigned long ulTimer))ROM_TIMERTABLE[7]) 195 #endif 196 #if defined(TARGET_IS_CC3200) 197 #define ROM_TimerPrescaleMatchSet \ 198 ((void (*)(unsigned long ulBase, \ 199 unsigned long ulTimer, \ 200 unsigned long ulValue))ROM_TIMERTABLE[8]) 201 #endif 202 #if defined(TARGET_IS_CC3200) 203 #define ROM_TimerPrescaleMatchGet \ 204 ((unsigned long (*)(unsigned long ulBase, \ 205 unsigned long ulTimer))ROM_TIMERTABLE[9]) 206 #endif 207 #if defined(TARGET_IS_CC3200) 208 #define ROM_TimerLoadSet \ 209 ((void (*)(unsigned long ulBase, \ 210 unsigned long ulTimer, \ 211 unsigned long ulValue))ROM_TIMERTABLE[10]) 212 #endif 213 #if defined(TARGET_IS_CC3200) 214 #define ROM_TimerLoadGet \ 215 ((unsigned long (*)(unsigned long ulBase, \ 216 unsigned long ulTimer))ROM_TIMERTABLE[11]) 217 #endif 218 #if defined(TARGET_IS_CC3200) 219 #define ROM_TimerValueGet \ 220 ((unsigned long (*)(unsigned long ulBase, \ 221 unsigned long ulTimer))ROM_TIMERTABLE[12]) 222 #endif 223 #if defined(TARGET_IS_CC3200) 224 #define ROM_TimerMatchSet \ 225 ((void (*)(unsigned long ulBase, \ 226 unsigned long ulTimer, \ 227 unsigned long ulValue))ROM_TIMERTABLE[13]) 228 #endif 229 #if defined(TARGET_IS_CC3200) 230 #define ROM_TimerMatchGet \ 231 ((unsigned long (*)(unsigned long ulBase, \ 232 unsigned long ulTimer))ROM_TIMERTABLE[14]) 233 #endif 234 #if defined(TARGET_IS_CC3200) 235 #define ROM_TimerIntRegister \ 236 ((void (*)(unsigned long ulBase, \ 237 unsigned long ulTimer, \ 238 void (*pfnHandler)(void)))ROM_TIMERTABLE[15]) 239 #endif 240 #if defined(TARGET_IS_CC3200) 241 #define ROM_TimerIntUnregister \ 242 ((void (*)(unsigned long ulBase, \ 243 unsigned long ulTimer))ROM_TIMERTABLE[16]) 244 #endif 245 #if defined(TARGET_IS_CC3200) 246 #define ROM_TimerIntEnable \ 247 ((void (*)(unsigned long ulBase, \ 248 unsigned long ulIntFlags))ROM_TIMERTABLE[17]) 249 #endif 250 #if defined(TARGET_IS_CC3200) 251 #define ROM_TimerIntDisable \ 252 ((void (*)(unsigned long ulBase, \ 253 unsigned long ulIntFlags))ROM_TIMERTABLE[18]) 254 #endif 255 #if defined(TARGET_IS_CC3200) 256 #define ROM_TimerIntStatus \ 257 ((unsigned long (*)(unsigned long ulBase, \ 258 tBoolean bMasked))ROM_TIMERTABLE[19]) 259 #endif 260 #if defined(TARGET_IS_CC3200) 261 #define ROM_TimerIntClear \ 262 ((void (*)(unsigned long ulBase, \ 263 unsigned long ulIntFlags))ROM_TIMERTABLE[20]) 264 #endif 265 266 //***************************************************************************** 267 // 268 // Macros for calling ROM functions in the UART API. 269 // 270 //***************************************************************************** 271 #if defined(TARGET_IS_CC3200) 272 #define ROM_UARTParityModeSet \ 273 ((void (*)(unsigned long ulBase, \ 274 unsigned long ulParity))ROM_UARTTABLE[0]) 275 #endif 276 #if defined(TARGET_IS_CC3200) 277 #define ROM_UARTParityModeGet \ 278 ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[1]) 279 #endif 280 #if defined(TARGET_IS_CC3200) 281 #define ROM_UARTFIFOLevelSet \ 282 ((void (*)(unsigned long ulBase, \ 283 unsigned long ulTxLevel, \ 284 unsigned long ulRxLevel))ROM_UARTTABLE[2]) 285 #endif 286 #if defined(TARGET_IS_CC3200) 287 #define ROM_UARTFIFOLevelGet \ 288 ((void (*)(unsigned long ulBase, \ 289 unsigned long *pulTxLevel, \ 290 unsigned long *pulRxLevel))ROM_UARTTABLE[3]) 291 #endif 292 #if defined(TARGET_IS_CC3200) 293 #define ROM_UARTConfigSetExpClk \ 294 ((void (*)(unsigned long ulBase, \ 295 unsigned long ulUARTClk, \ 296 unsigned long ulBaud, \ 297 unsigned long ulConfig))ROM_UARTTABLE[4]) 298 #endif 299 #if defined(TARGET_IS_CC3200) 300 #define ROM_UARTConfigGetExpClk \ 301 ((void (*)(unsigned long ulBase, \ 302 unsigned long ulUARTClk, \ 303 unsigned long *pulBaud, \ 304 unsigned long *pulConfig))ROM_UARTTABLE[5]) 305 #endif 306 #if defined(TARGET_IS_CC3200) 307 #define ROM_UARTEnable \ 308 ((void (*)(unsigned long ulBase))ROM_UARTTABLE[6]) 309 #endif 310 #if defined(TARGET_IS_CC3200) 311 #define ROM_UARTDisable \ 312 ((void (*)(unsigned long ulBase))ROM_UARTTABLE[7]) 313 #endif 314 #if defined(TARGET_IS_CC3200) 315 #define ROM_UARTFIFOEnable \ 316 ((void (*)(unsigned long ulBase))ROM_UARTTABLE[8]) 317 #endif 318 #if defined(TARGET_IS_CC3200) 319 #define ROM_UARTFIFODisable \ 320 ((void (*)(unsigned long ulBase))ROM_UARTTABLE[9]) 321 #endif 322 #if defined(TARGET_IS_CC3200) 323 #define ROM_UARTCharsAvail \ 324 ((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[10]) 325 #endif 326 #if defined(TARGET_IS_CC3200) 327 #define ROM_UARTSpaceAvail \ 328 ((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[11]) 329 #endif 330 #if defined(TARGET_IS_CC3200) 331 #define ROM_UARTCharGetNonBlocking \ 332 ((long (*)(unsigned long ulBase))ROM_UARTTABLE[12]) 333 #endif 334 #if defined(TARGET_IS_CC3200) 335 #define ROM_UARTCharGet \ 336 ((long (*)(unsigned long ulBase))ROM_UARTTABLE[13]) 337 #endif 338 #if defined(TARGET_IS_CC3200) 339 #define ROM_UARTCharPutNonBlocking \ 340 ((tBoolean (*)(unsigned long ulBase, \ 341 unsigned char ucData))ROM_UARTTABLE[14]) 342 #endif 343 #if defined(TARGET_IS_CC3200) 344 #define ROM_UARTCharPut \ 345 ((void (*)(unsigned long ulBase, \ 346 unsigned char ucData))ROM_UARTTABLE[15]) 347 #endif 348 #if defined(TARGET_IS_CC3200) 349 #define ROM_UARTBreakCtl \ 350 ((void (*)(unsigned long ulBase, \ 351 tBoolean bBreakState))ROM_UARTTABLE[16]) 352 #endif 353 #if defined(TARGET_IS_CC3200) 354 #define ROM_UARTBusy \ 355 ((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[17]) 356 #endif 357 #if defined(TARGET_IS_CC3200) 358 #define ROM_UARTIntRegister \ 359 ((void (*)(unsigned long ulBase, \ 360 void(*pfnHandler)(void)))ROM_UARTTABLE[18]) 361 #endif 362 #if defined(TARGET_IS_CC3200) 363 #define ROM_UARTIntUnregister \ 364 ((void (*)(unsigned long ulBase))ROM_UARTTABLE[19]) 365 #endif 366 #if defined(TARGET_IS_CC3200) 367 #define ROM_UARTIntEnable \ 368 ((void (*)(unsigned long ulBase, \ 369 unsigned long ulIntFlags))ROM_UARTTABLE[20]) 370 #endif 371 #if defined(TARGET_IS_CC3200) 372 #define ROM_UARTIntDisable \ 373 ((void (*)(unsigned long ulBase, \ 374 unsigned long ulIntFlags))ROM_UARTTABLE[21]) 375 #endif 376 #if defined(TARGET_IS_CC3200) 377 #define ROM_UARTIntStatus \ 378 ((unsigned long (*)(unsigned long ulBase, \ 379 tBoolean bMasked))ROM_UARTTABLE[22]) 380 #endif 381 #if defined(TARGET_IS_CC3200) 382 #define ROM_UARTIntClear \ 383 ((void (*)(unsigned long ulBase, \ 384 unsigned long ulIntFlags))ROM_UARTTABLE[23]) 385 #endif 386 #if defined(TARGET_IS_CC3200) 387 #define ROM_UARTDMAEnable \ 388 ((void (*)(unsigned long ulBase, \ 389 unsigned long ulDMAFlags))ROM_UARTTABLE[24]) 390 #endif 391 #if defined(TARGET_IS_CC3200) 392 #define ROM_UARTDMADisable \ 393 ((void (*)(unsigned long ulBase, \ 394 unsigned long ulDMAFlags))ROM_UARTTABLE[25]) 395 #endif 396 #if defined(TARGET_IS_CC3200) 397 #define ROM_UARTRxErrorGet \ 398 ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[26]) 399 #endif 400 #if defined(TARGET_IS_CC3200) 401 #define ROM_UARTRxErrorClear \ 402 ((void (*)(unsigned long ulBase))ROM_UARTTABLE[27]) 403 #endif 404 #if defined(TARGET_IS_CC3200) 405 #define ROM_UARTModemControlSet \ 406 ((void (*)(unsigned long ulBase, \ 407 unsigned long ulControl))ROM_UARTTABLE[28]) 408 #endif 409 #if defined(TARGET_IS_CC3200) 410 #define ROM_UARTModemControlClear \ 411 ((void (*)(unsigned long ulBase, \ 412 unsigned long ulControl))ROM_UARTTABLE[29]) 413 #endif 414 #if defined(TARGET_IS_CC3200) 415 #define ROM_UARTModemControlGet \ 416 ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[30]) 417 #endif 418 #if defined(TARGET_IS_CC3200) 419 #define ROM_UARTModemStatusGet \ 420 ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[31]) 421 #endif 422 #if defined(TARGET_IS_CC3200) 423 #define ROM_UARTFlowControlSet \ 424 ((void (*)(unsigned long ulBase, \ 425 unsigned long ulMode))ROM_UARTTABLE[32]) 426 #endif 427 #if defined(TARGET_IS_CC3200) 428 #define ROM_UARTFlowControlGet \ 429 ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[33]) 430 #endif 431 #if defined(TARGET_IS_CC3200) 432 #define ROM_UARTTxIntModeSet \ 433 ((void (*)(unsigned long ulBase, \ 434 unsigned long ulMode))ROM_UARTTABLE[34]) 435 #endif 436 #if defined(TARGET_IS_CC3200) 437 #define ROM_UARTTxIntModeGet \ 438 ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[35]) 439 #endif 440 441 //***************************************************************************** 442 // 443 // Macros for calling ROM functions in the uDMA API. 444 // 445 //***************************************************************************** 446 #if defined(TARGET_IS_CC3200) 447 #define ROM_uDMAChannelTransferSet \ 448 ((void (*)(unsigned long ulChannelStructIndex, \ 449 unsigned long ulMode, \ 450 void *pvSrcAddr, \ 451 void *pvDstAddr, \ 452 unsigned long ulTransferSize))ROM_UDMATABLE[0]) 453 #endif 454 #if defined(TARGET_IS_CC3200) 455 #define ROM_uDMAEnable \ 456 ((void (*)(void))ROM_UDMATABLE[1]) 457 #endif 458 #if defined(TARGET_IS_CC3200) 459 #define ROM_uDMADisable \ 460 ((void (*)(void))ROM_UDMATABLE[2]) 461 #endif 462 #if defined(TARGET_IS_CC3200) 463 #define ROM_uDMAErrorStatusGet \ 464 ((unsigned long (*)(void))ROM_UDMATABLE[3]) 465 #endif 466 #if defined(TARGET_IS_CC3200) 467 #define ROM_uDMAErrorStatusClear \ 468 ((void (*)(void))ROM_UDMATABLE[4]) 469 #endif 470 #if defined(TARGET_IS_CC3200) 471 #define ROM_uDMAChannelEnable \ 472 ((void (*)(unsigned long ulChannelNum))ROM_UDMATABLE[5]) 473 #endif 474 #if defined(TARGET_IS_CC3200) 475 #define ROM_uDMAChannelDisable \ 476 ((void (*)(unsigned long ulChannelNum))ROM_UDMATABLE[6]) 477 #endif 478 #if defined(TARGET_IS_CC3200) 479 #define ROM_uDMAChannelIsEnabled \ 480 ((tBoolean (*)(unsigned long ulChannelNum))ROM_UDMATABLE[7]) 481 #endif 482 #if defined(TARGET_IS_CC3200) 483 #define ROM_uDMAControlBaseSet \ 484 ((void (*)(void *pControlTable))ROM_UDMATABLE[8]) 485 #endif 486 #if defined(TARGET_IS_CC3200) 487 #define ROM_uDMAControlBaseGet \ 488 ((void * (*)(void))ROM_UDMATABLE[9]) 489 #endif 490 #if defined(TARGET_IS_CC3200) 491 #define ROM_uDMAChannelRequest \ 492 ((void (*)(unsigned long ulChannelNum))ROM_UDMATABLE[10]) 493 #endif 494 #if defined(TARGET_IS_CC3200) 495 #define ROM_uDMAChannelAttributeEnable \ 496 ((void (*)(unsigned long ulChannelNum, \ 497 unsigned long ulAttr))ROM_UDMATABLE[11]) 498 #endif 499 #if defined(TARGET_IS_CC3200) 500 #define ROM_uDMAChannelAttributeDisable \ 501 ((void (*)(unsigned long ulChannelNum, \ 502 unsigned long ulAttr))ROM_UDMATABLE[12]) 503 #endif 504 #if defined(TARGET_IS_CC3200) 505 #define ROM_uDMAChannelAttributeGet \ 506 ((unsigned long (*)(unsigned long ulChannelNum))ROM_UDMATABLE[13]) 507 #endif 508 #if defined(TARGET_IS_CC3200) 509 #define ROM_uDMAChannelControlSet \ 510 ((void (*)(unsigned long ulChannelStructIndex, \ 511 unsigned long ulControl))ROM_UDMATABLE[14]) 512 #endif 513 #if defined(TARGET_IS_CC3200) 514 #define ROM_uDMAChannelSizeGet \ 515 ((unsigned long (*)(unsigned long ulChannelStructIndex))ROM_UDMATABLE[15]) 516 #endif 517 #if defined(TARGET_IS_CC3200) 518 #define ROM_uDMAChannelModeGet \ 519 ((unsigned long (*)(unsigned long ulChannelStructIndex))ROM_UDMATABLE[16]) 520 #endif 521 #if defined(TARGET_IS_CC3200) 522 #define ROM_uDMAIntStatus \ 523 ((unsigned long (*)(void))ROM_UDMATABLE[17]) 524 #endif 525 #if defined(TARGET_IS_CC3200) 526 #define ROM_uDMAIntClear \ 527 ((void (*)(unsigned long ulChanMask))ROM_UDMATABLE[18]) 528 #endif 529 #if defined(TARGET_IS_CC3200) 530 #define ROM_uDMAControlAlternateBaseGet \ 531 ((void * (*)(void))ROM_UDMATABLE[19]) 532 #endif 533 #if defined(TARGET_IS_CC3200) 534 #define ROM_uDMAChannelScatterGatherSet \ 535 ((void (*)(unsigned long ulChannelNum, \ 536 unsigned ulTaskCount, \ 537 void *pvTaskList, \ 538 unsigned long ulIsPeriphSG))ROM_UDMATABLE[20]) 539 #endif 540 #if defined(TARGET_IS_CC3200) 541 #define ROM_uDMAChannelAssign \ 542 ((void (*)(unsigned long ulMapping))ROM_UDMATABLE[21]) 543 #endif 544 #if defined(TARGET_IS_CC3200) 545 #define ROM_uDMAIntRegister \ 546 ((void (*)(unsigned long ulIntChannel, \ 547 void (*pfnHandler)(void)))ROM_UDMATABLE[22]) 548 #endif 549 #if defined(TARGET_IS_CC3200) 550 #define ROM_uDMAIntUnregister \ 551 ((void (*)(unsigned long ulIntChannel))ROM_UDMATABLE[23]) 552 #endif 553 554 //***************************************************************************** 555 // 556 // Macros for calling ROM functions in the Watchdog API. 557 // 558 //***************************************************************************** 559 #if defined(TARGET_IS_CC3200) 560 #define ROM_WatchdogIntClear \ 561 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[0]) 562 #endif 563 #if defined(TARGET_IS_CC3200) 564 #define ROM_WatchdogRunning \ 565 ((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[1]) 566 #endif 567 #if defined(TARGET_IS_CC3200) 568 #define ROM_WatchdogEnable \ 569 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[2]) 570 #endif 571 #if defined(TARGET_IS_CC3200) 572 #define ROM_WatchdogLock \ 573 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[3]) 574 #endif 575 #if defined(TARGET_IS_CC3200) 576 #define ROM_WatchdogUnlock \ 577 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[4]) 578 #endif 579 #if defined(TARGET_IS_CC3200) 580 #define ROM_WatchdogLockState \ 581 ((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[5]) 582 #endif 583 #if defined(TARGET_IS_CC3200) 584 #define ROM_WatchdogReloadSet \ 585 ((void (*)(unsigned long ulBase, \ 586 unsigned long ulLoadVal))ROM_WATCHDOGTABLE[6]) 587 #endif 588 #if defined(TARGET_IS_CC3200) 589 #define ROM_WatchdogReloadGet \ 590 ((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[7]) 591 #endif 592 #if defined(TARGET_IS_CC3200) 593 #define ROM_WatchdogValueGet \ 594 ((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[8]) 595 #endif 596 #if defined(TARGET_IS_CC3200) 597 #define ROM_WatchdogIntStatus \ 598 ((unsigned long (*)(unsigned long ulBase, \ 599 tBoolean bMasked))ROM_WATCHDOGTABLE[10]) 600 #endif 601 #if defined(TARGET_IS_CC3200) 602 #define ROM_WatchdogStallEnable \ 603 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[11]) 604 #endif 605 #if defined(TARGET_IS_CC3200) 606 #define ROM_WatchdogStallDisable \ 607 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[12]) 608 #endif 609 #if defined(TARGET_IS_CC3200) 610 #define ROM_WatchdogIntRegister \ 611 ((void (*)(unsigned long ulBase, \ 612 void(*pfnHandler)(void)))ROM_WATCHDOGTABLE[13]) 613 #endif 614 #if defined(TARGET_IS_CC3200) 615 #define ROM_WatchdogIntUnregister \ 616 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[14]) 617 #endif 618 619 //***************************************************************************** 620 // 621 // Macros for calling ROM functions in the I2C API. 622 // 623 //***************************************************************************** 624 #if defined(TARGET_IS_CC3200) 625 #define ROM_I2CIntRegister \ 626 ((void (*)(uint32_t ui32Base, \ 627 void(pfnHandler)(void)))ROM_I2CTABLE[0]) 628 #endif 629 #if defined(TARGET_IS_CC3200) 630 #define ROM_I2CIntUnregister \ 631 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[1]) 632 #endif 633 #if defined(TARGET_IS_CC3200) 634 #define ROM_I2CTxFIFOConfigSet \ 635 ((void (*)(uint32_t ui32Base, \ 636 uint32_t ui32Config))ROM_I2CTABLE[2]) 637 #endif 638 #if defined(TARGET_IS_CC3200) 639 #define ROM_I2CTxFIFOFlush \ 640 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[3]) 641 #endif 642 #if defined(TARGET_IS_CC3200) 643 #define ROM_I2CRxFIFOConfigSet \ 644 ((void (*)(uint32_t ui32Base, \ 645 uint32_t ui32Config))ROM_I2CTABLE[4]) 646 #endif 647 #if defined(TARGET_IS_CC3200) 648 #define ROM_I2CRxFIFOFlush \ 649 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[5]) 650 #endif 651 #if defined(TARGET_IS_CC3200) 652 #define ROM_I2CFIFOStatus \ 653 ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[6]) 654 #endif 655 #if defined(TARGET_IS_CC3200) 656 #define ROM_I2CFIFODataPut \ 657 ((void (*)(uint32_t ui32Base, \ 658 uint8_t ui8Data))ROM_I2CTABLE[7]) 659 #endif 660 #if defined(TARGET_IS_CC3200) 661 #define ROM_I2CFIFODataPutNonBlocking \ 662 ((uint32_t (*)(uint32_t ui32Base, \ 663 uint8_t ui8Data))ROM_I2CTABLE[8]) 664 #endif 665 #if defined(TARGET_IS_CC3200) 666 #define ROM_I2CFIFODataGet \ 667 ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[9]) 668 #endif 669 #if defined(TARGET_IS_CC3200) 670 #define ROM_I2CFIFODataGetNonBlocking \ 671 ((uint32_t (*)(uint32_t ui32Base, \ 672 uint8_t *pui8Data))ROM_I2CTABLE[10]) 673 #endif 674 #if defined(TARGET_IS_CC3200) 675 #define ROM_I2CMasterBurstLengthSet \ 676 ((void (*)(uint32_t ui32Base, \ 677 uint8_t ui8Length))ROM_I2CTABLE[11]) 678 #endif 679 #if defined(TARGET_IS_CC3200) 680 #define ROM_I2CMasterBurstCountGet \ 681 ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[12]) 682 #endif 683 #if defined(TARGET_IS_CC3200) 684 #define ROM_I2CMasterGlitchFilterConfigSet \ 685 ((void (*)(uint32_t ui32Base, \ 686 uint32_t ui32Config))ROM_I2CTABLE[13]) 687 #endif 688 #if defined(TARGET_IS_CC3200) 689 #define ROM_I2CSlaveFIFOEnable \ 690 ((void (*)(uint32_t ui32Base, \ 691 uint32_t ui32Config))ROM_I2CTABLE[14]) 692 #endif 693 #if defined(TARGET_IS_CC3200) 694 #define ROM_I2CSlaveFIFODisable \ 695 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[15]) 696 #endif 697 #if defined(TARGET_IS_CC3200) 698 #define ROM_I2CMasterBusBusy \ 699 ((bool (*)(uint32_t ui32Base))ROM_I2CTABLE[16]) 700 #endif 701 #if defined(TARGET_IS_CC3200) 702 #define ROM_I2CMasterBusy \ 703 ((bool (*)(uint32_t ui32Base))ROM_I2CTABLE[17]) 704 #endif 705 #if defined(TARGET_IS_CC3200) 706 #define ROM_I2CMasterControl \ 707 ((void (*)(uint32_t ui32Base, \ 708 uint32_t ui32Cmd))ROM_I2CTABLE[18]) 709 #endif 710 #if defined(TARGET_IS_CC3200) 711 #define ROM_I2CMasterDataGet \ 712 ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[19]) 713 #endif 714 #if defined(TARGET_IS_CC3200) 715 #define ROM_I2CMasterDataPut \ 716 ((void (*)(uint32_t ui32Base, \ 717 uint8_t ui8Data))ROM_I2CTABLE[20]) 718 #endif 719 #if defined(TARGET_IS_CC3200) 720 #define ROM_I2CMasterDisable \ 721 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[21]) 722 #endif 723 #if defined(TARGET_IS_CC3200) 724 #define ROM_I2CMasterEnable \ 725 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[22]) 726 #endif 727 #if defined(TARGET_IS_CC3200) 728 #define ROM_I2CMasterErr \ 729 ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[23]) 730 #endif 731 #if defined(TARGET_IS_CC3200) 732 #define ROM_I2CMasterIntClear \ 733 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[24]) 734 #endif 735 #if defined(TARGET_IS_CC3200) 736 #define ROM_I2CMasterIntDisable \ 737 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[25]) 738 #endif 739 #if defined(TARGET_IS_CC3200) 740 #define ROM_I2CMasterIntEnable \ 741 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[26]) 742 #endif 743 #if defined(TARGET_IS_CC3200) 744 #define ROM_I2CMasterIntStatus \ 745 ((bool (*)(uint32_t ui32Base, \ 746 bool bMasked))ROM_I2CTABLE[27]) 747 #endif 748 #if defined(TARGET_IS_CC3200) 749 #define ROM_I2CMasterIntEnableEx \ 750 ((void (*)(uint32_t ui32Base, \ 751 uint32_t ui32IntFlags))ROM_I2CTABLE[28]) 752 #endif 753 #if defined(TARGET_IS_CC3200) 754 #define ROM_I2CMasterIntDisableEx \ 755 ((void (*)(uint32_t ui32Base, \ 756 uint32_t ui32IntFlags))ROM_I2CTABLE[29]) 757 #endif 758 #if defined(TARGET_IS_CC3200) 759 #define ROM_I2CMasterIntStatusEx \ 760 ((uint32_t (*)(uint32_t ui32Base, \ 761 bool bMasked))ROM_I2CTABLE[30]) 762 #endif 763 #if defined(TARGET_IS_CC3200) 764 #define ROM_I2CMasterIntClearEx \ 765 ((void (*)(uint32_t ui32Base, \ 766 uint32_t ui32IntFlags))ROM_I2CTABLE[31]) 767 #endif 768 #if defined(TARGET_IS_CC3200) 769 #define ROM_I2CMasterTimeoutSet \ 770 ((void (*)(uint32_t ui32Base, \ 771 uint32_t ui32Value))ROM_I2CTABLE[32]) 772 #endif 773 #if defined(TARGET_IS_CC3200) 774 #define ROM_I2CSlaveACKOverride \ 775 ((void (*)(uint32_t ui32Base, \ 776 bool bEnable))ROM_I2CTABLE[33]) 777 #endif 778 #if defined(TARGET_IS_CC3200) 779 #define ROM_I2CSlaveACKValueSet \ 780 ((void (*)(uint32_t ui32Base, \ 781 bool bACK))ROM_I2CTABLE[34]) 782 #endif 783 #if defined(TARGET_IS_CC3200) 784 #define ROM_I2CMasterLineStateGet \ 785 ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[35]) 786 #endif 787 #if defined(TARGET_IS_CC3200) 788 #define ROM_I2CMasterSlaveAddrSet \ 789 ((void (*)(uint32_t ui32Base, \ 790 uint8_t ui8SlaveAddr, \ 791 bool bReceive))ROM_I2CTABLE[36]) 792 #endif 793 #if defined(TARGET_IS_CC3200) 794 #define ROM_I2CSlaveDataGet \ 795 ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[37]) 796 #endif 797 #if defined(TARGET_IS_CC3200) 798 #define ROM_I2CSlaveDataPut \ 799 ((void (*)(uint32_t ui32Base, \ 800 uint8_t ui8Data))ROM_I2CTABLE[38]) 801 #endif 802 #if defined(TARGET_IS_CC3200) 803 #define ROM_I2CSlaveDisable \ 804 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[39]) 805 #endif 806 #if defined(TARGET_IS_CC3200) 807 #define ROM_I2CSlaveEnable \ 808 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[40]) 809 #endif 810 #if defined(TARGET_IS_CC3200) 811 #define ROM_I2CSlaveInit \ 812 ((void (*)(uint32_t ui32Base, \ 813 uint8_t ui8SlaveAddr))ROM_I2CTABLE[41]) 814 #endif 815 #if defined(TARGET_IS_CC3200) 816 #define ROM_I2CSlaveAddressSet \ 817 ((void (*)(uint32_t ui32Base, \ 818 uint8_t ui8AddrNum, \ 819 uint8_t ui8SlaveAddr))ROM_I2CTABLE[42]) 820 #endif 821 #if defined(TARGET_IS_CC3200) 822 #define ROM_I2CSlaveIntClear \ 823 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[43]) 824 #endif 825 #if defined(TARGET_IS_CC3200) 826 #define ROM_I2CSlaveIntDisable \ 827 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[44]) 828 #endif 829 #if defined(TARGET_IS_CC3200) 830 #define ROM_I2CSlaveIntEnable \ 831 ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[45]) 832 #endif 833 #if defined(TARGET_IS_CC3200) 834 #define ROM_I2CSlaveIntClearEx \ 835 ((void (*)(uint32_t ui32Base, \ 836 uint32_t ui32IntFlags))ROM_I2CTABLE[46]) 837 #endif 838 #if defined(TARGET_IS_CC3200) 839 #define ROM_I2CSlaveIntDisableEx \ 840 ((void (*)(uint32_t ui32Base, \ 841 uint32_t ui32IntFlags))ROM_I2CTABLE[47]) 842 #endif 843 #if defined(TARGET_IS_CC3200) 844 #define ROM_I2CSlaveIntEnableEx \ 845 ((void (*)(uint32_t ui32Base, \ 846 uint32_t ui32IntFlags))ROM_I2CTABLE[48]) 847 #endif 848 #if defined(TARGET_IS_CC3200) 849 #define ROM_I2CSlaveIntStatus \ 850 ((bool (*)(uint32_t ui32Base, \ 851 bool bMasked))ROM_I2CTABLE[49]) 852 #endif 853 #if defined(TARGET_IS_CC3200) 854 #define ROM_I2CSlaveIntStatusEx \ 855 ((uint32_t (*)(uint32_t ui32Base, \ 856 bool bMasked))ROM_I2CTABLE[50]) 857 #endif 858 #if defined(TARGET_IS_CC3200) 859 #define ROM_I2CSlaveStatus \ 860 ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[51]) 861 #endif 862 #if defined(TARGET_IS_CC3200) 863 #define ROM_I2CMasterInitExpClk \ 864 ((void (*)(uint32_t ui32Base, \ 865 uint32_t ui32I2CClk, \ 866 bool bFast))ROM_I2CTABLE[52]) 867 #endif 868 869 //***************************************************************************** 870 // 871 // Macros for calling ROM functions in the SPI API. 872 // 873 //***************************************************************************** 874 #if defined(TARGET_IS_CC3200) 875 #define ROM_SPIEnable \ 876 ((void (*)(unsigned long ulBase))ROM_SPITABLE[0]) 877 #endif 878 #if defined(TARGET_IS_CC3200) 879 #define ROM_SPIDisable \ 880 ((void (*)(unsigned long ulBase))ROM_SPITABLE[1]) 881 #endif 882 #if defined(TARGET_IS_CC3200) 883 #define ROM_SPIReset \ 884 ((void (*)(unsigned long ulBase))ROM_SPITABLE[2]) 885 #endif 886 #if defined(TARGET_IS_CC3200) 887 #define ROM_SPIConfigSetExpClk \ 888 ((void (*)(unsigned long ulBase, \ 889 unsigned long ulSPIClk, \ 890 unsigned long ulBitRate, \ 891 unsigned long ulMode, \ 892 unsigned long ulSubMode, \ 893 unsigned long ulConfig))ROM_SPITABLE[3]) 894 #endif 895 #if defined(TARGET_IS_CC3200) 896 #define ROM_SPIDataGetNonBlocking \ 897 ((long (*)(unsigned long ulBase, \ 898 unsigned long * pulData))ROM_SPITABLE[4]) 899 #endif 900 #if defined(TARGET_IS_CC3200) 901 #define ROM_SPIDataGet \ 902 ((void (*)(unsigned long ulBase, \ 903 unsigned long *pulData))ROM_SPITABLE[5]) 904 #endif 905 #if defined(TARGET_IS_CC3200) 906 #define ROM_SPIDataPutNonBlocking \ 907 ((long (*)(unsigned long ulBase, \ 908 unsigned long ulData))ROM_SPITABLE[6]) 909 #endif 910 #if defined(TARGET_IS_CC3200) 911 #define ROM_SPIDataPut \ 912 ((void (*)(unsigned long ulBase, \ 913 unsigned long ulData))ROM_SPITABLE[7]) 914 #endif 915 #if defined(TARGET_IS_CC3200) 916 #define ROM_SPIFIFOEnable \ 917 ((void (*)(unsigned long ulBase, \ 918 unsigned long ulFlags))ROM_SPITABLE[8]) 919 #endif 920 #if defined(TARGET_IS_CC3200) 921 #define ROM_SPIFIFODisable \ 922 ((void (*)(unsigned long ulBase, \ 923 unsigned long ulFlags))ROM_SPITABLE[9]) 924 #endif 925 #if defined(TARGET_IS_CC3200) 926 #define ROM_SPIFIFOLevelSet \ 927 ((void (*)(unsigned long ulBase, \ 928 unsigned long ulTxLevel, \ 929 unsigned long ulRxLevel))ROM_SPITABLE[10]) 930 #endif 931 #if defined(TARGET_IS_CC3200) 932 #define ROM_SPIFIFOLevelGet \ 933 ((void (*)(unsigned long ulBase, \ 934 unsigned long *pulTxLevel, \ 935 unsigned long *pulRxLevel))ROM_SPITABLE[11]) 936 #endif 937 #if defined(TARGET_IS_CC3200) 938 #define ROM_SPIWordCountSet \ 939 ((void (*)(unsigned long ulBase, \ 940 unsigned long ulWordCount))ROM_SPITABLE[12]) 941 #endif 942 #if defined(TARGET_IS_CC3200) 943 #define ROM_SPIIntRegister \ 944 ((void (*)(unsigned long ulBase, \ 945 void(*pfnHandler)(void)))ROM_SPITABLE[13]) 946 #endif 947 #if defined(TARGET_IS_CC3200) 948 #define ROM_SPIIntUnregister \ 949 ((void (*)(unsigned long ulBase))ROM_SPITABLE[14]) 950 #endif 951 #if defined(TARGET_IS_CC3200) 952 #define ROM_SPIIntEnable \ 953 ((void (*)(unsigned long ulBase, \ 954 unsigned long ulIntFlags))ROM_SPITABLE[15]) 955 #endif 956 #if defined(TARGET_IS_CC3200) 957 #define ROM_SPIIntDisable \ 958 ((void (*)(unsigned long ulBase, \ 959 unsigned long ulIntFlags))ROM_SPITABLE[16]) 960 #endif 961 #if defined(TARGET_IS_CC3200) 962 #define ROM_SPIIntStatus \ 963 ((unsigned long (*)(unsigned long ulBase, \ 964 tBoolean bMasked))ROM_SPITABLE[17]) 965 #endif 966 #if defined(TARGET_IS_CC3200) 967 #define ROM_SPIIntClear \ 968 ((void (*)(unsigned long ulBase, \ 969 unsigned long ulIntFlags))ROM_SPITABLE[18]) 970 #endif 971 #if defined(TARGET_IS_CC3200) 972 #define ROM_SPIDmaEnable \ 973 ((void (*)(unsigned long ulBase, \ 974 unsigned long ulFlags))ROM_SPITABLE[19]) 975 #endif 976 #if defined(TARGET_IS_CC3200) 977 #define ROM_SPIDmaDisable \ 978 ((void (*)(unsigned long ulBase, \ 979 unsigned long ulFlags))ROM_SPITABLE[20]) 980 #endif 981 #if defined(TARGET_IS_CC3200) 982 #define ROM_SPICSEnable \ 983 ((void (*)(unsigned long ulBase))ROM_SPITABLE[21]) 984 #endif 985 #if defined(TARGET_IS_CC3200) 986 #define ROM_SPICSDisable \ 987 ((void (*)(unsigned long ulBase))ROM_SPITABLE[22]) 988 #endif 989 #if defined(TARGET_IS_CC3200) 990 #define ROM_SPITransfer \ 991 ((long (*)(unsigned long ulBase, \ 992 unsigned char *ucDout, \ 993 unsigned char *ucDin, \ 994 unsigned long ulSize, \ 995 unsigned long ulFlags))ROM_SPITABLE[23]) 996 #endif 997 998 //***************************************************************************** 999 // 1000 // Macros for calling ROM functions in the CAM API. 1001 // 1002 //***************************************************************************** 1003 #if defined(TARGET_IS_CC3200) 1004 #define ROM_CameraReset \ 1005 ((void (*)(unsigned long ulBase))ROM_CAMERATABLE[0]) 1006 #endif 1007 #if defined(TARGET_IS_CC3200) 1008 #define ROM_CameraParamsConfig \ 1009 ((void (*)(unsigned long ulBase, \ 1010 unsigned long ulHSPol, \ 1011 unsigned long ulVSPol, \ 1012 unsigned long ulFlags))ROM_CAMERATABLE[1]) 1013 #endif 1014 #if defined(TARGET_IS_CC3200) 1015 #define ROM_CameraXClkConfig \ 1016 ((void (*)(unsigned long ulBase, \ 1017 unsigned long ulCamClkIn, \ 1018 unsigned long ulXClk))ROM_CAMERATABLE[2]) 1019 #endif 1020 #if defined(TARGET_IS_CC3200) 1021 #define ROM_CameraXClkSet \ 1022 ((void (*)(unsigned long ulBase, \ 1023 unsigned char bXClkFlags))ROM_CAMERATABLE[3]) 1024 #endif 1025 #if defined(TARGET_IS_CC3200) 1026 #define ROM_CameraDMAEnable \ 1027 ((void (*)(unsigned long ulBase))ROM_CAMERATABLE[4]) 1028 #endif 1029 #if defined(TARGET_IS_CC3200) 1030 #define ROM_CameraDMADisable \ 1031 ((void (*)(unsigned long ulBase))ROM_CAMERATABLE[5]) 1032 #endif 1033 #if defined(TARGET_IS_CC3200) 1034 #define ROM_CameraThresholdSet \ 1035 ((void (*)(unsigned long ulBase, \ 1036 unsigned long ulThreshold))ROM_CAMERATABLE[6]) 1037 #endif 1038 #if defined(TARGET_IS_CC3200) 1039 #define ROM_CameraIntRegister \ 1040 ((void (*)(unsigned long ulBase, \ 1041 void (*pfnHandler)(void)))ROM_CAMERATABLE[7]) 1042 #endif 1043 #if defined(TARGET_IS_CC3200) 1044 #define ROM_CameraIntUnregister \ 1045 ((void (*)(unsigned long ulBase))ROM_CAMERATABLE[8]) 1046 #endif 1047 #if defined(TARGET_IS_CC3200) 1048 #define ROM_CameraIntEnable \ 1049 ((void (*)(unsigned long ulBase, \ 1050 unsigned long ulIntFlags))ROM_CAMERATABLE[9]) 1051 #endif 1052 #if defined(TARGET_IS_CC3200) 1053 #define ROM_CameraIntDisable \ 1054 ((void (*)(unsigned long ulBase, \ 1055 unsigned long ulIntFlags))ROM_CAMERATABLE[10]) 1056 #endif 1057 #if defined(TARGET_IS_CC3200) 1058 #define ROM_CameraIntStatus \ 1059 ((unsigned long (*)(unsigned long ulBase))ROM_CAMERATABLE[11]) 1060 #endif 1061 #if defined(TARGET_IS_CC3200) 1062 #define ROM_CameraIntClear \ 1063 ((void (*)(unsigned long ulBase, \ 1064 unsigned long ulIntFlags))ROM_CAMERATABLE[12]) 1065 #endif 1066 #if defined(TARGET_IS_CC3200) 1067 #define ROM_CameraCaptureStop \ 1068 ((void (*)(unsigned long ulBase, \ 1069 tBoolean bImmediate))ROM_CAMERATABLE[13]) 1070 #endif 1071 #if defined(TARGET_IS_CC3200) 1072 #define ROM_CameraCaptureStart \ 1073 ((void (*)(unsigned long ulBase))ROM_CAMERATABLE[14]) 1074 #endif 1075 #if defined(TARGET_IS_CC3200) 1076 #define ROM_CameraBufferRead \ 1077 ((void (*)(unsigned long ulBase, \ 1078 unsigned long *pBuffer, \ 1079 unsigned char ucSize))ROM_CAMERATABLE[15]) 1080 #endif 1081 1082 //***************************************************************************** 1083 // 1084 // Macros for calling ROM functions in the FLASH API. 1085 // 1086 //***************************************************************************** 1087 #if defined(TARGET_IS_CC3200) 1088 #define ROM_FlashDisable \ 1089 ((void (*)(void))ROM_FLASHTABLE[0]) 1090 #endif 1091 #if defined(TARGET_IS_CC3200) 1092 #define ROM_FlashErase \ 1093 ((long (*)(unsigned long ulAddress))ROM_FLASHTABLE[1]) 1094 #endif 1095 #if defined(TARGET_IS_CC3200) 1096 #define ROM_FlashMassErase \ 1097 ((long (*)(void))ROM_FLASHTABLE[2]) 1098 #endif 1099 #if defined(TARGET_IS_CC3200) 1100 #define ROM_FlashMassEraseNonBlocking \ 1101 ((void (*)(void))ROM_FLASHTABLE[3]) 1102 #endif 1103 #if defined(TARGET_IS_CC3200) 1104 #define ROM_FlashEraseNonBlocking \ 1105 ((void (*)(unsigned long ulAddress))ROM_FLASHTABLE[4]) 1106 #endif 1107 #if defined(TARGET_IS_CC3200) 1108 #define ROM_FlashProgram \ 1109 ((long (*)(unsigned long *pulData, \ 1110 unsigned long ulAddress, \ 1111 unsigned long ulCount))ROM_FLASHTABLE[5]) 1112 #endif 1113 #if defined(TARGET_IS_CC3200) 1114 #define ROM_FlashProgramNonBlocking \ 1115 ((long (*)(unsigned long *pulData, \ 1116 unsigned long ulAddress, \ 1117 unsigned long ulCount))ROM_FLASHTABLE[6]) 1118 #endif 1119 #if defined(TARGET_IS_CC3200) 1120 #define ROM_FlashIntRegister \ 1121 ((void (*)(void (*pfnHandler)(void)))ROM_FLASHTABLE[7]) 1122 #endif 1123 #if defined(TARGET_IS_CC3200) 1124 #define ROM_FlashIntUnregister \ 1125 ((void (*)(void))ROM_FLASHTABLE[8]) 1126 #endif 1127 #if defined(TARGET_IS_CC3200) 1128 #define ROM_FlashIntEnable \ 1129 ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[9]) 1130 #endif 1131 #if defined(TARGET_IS_CC3200) 1132 #define ROM_FlashIntDisable \ 1133 ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[10]) 1134 #endif 1135 #if defined(TARGET_IS_CC3200) 1136 #define ROM_FlashIntStatus \ 1137 ((unsigned long (*)(tBoolean bMasked))ROM_FLASHTABLE[11]) 1138 #endif 1139 #if defined(TARGET_IS_CC3200) 1140 #define ROM_FlashIntClear \ 1141 ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[12]) 1142 #endif 1143 #if defined(TARGET_IS_CC3200) 1144 #define ROM_FlashProtectGet \ 1145 ((tFlashProtection (*)(unsigned long ulAddress))ROM_FLASHTABLE[13]) 1146 #endif 1147 1148 //***************************************************************************** 1149 // 1150 // Macros for calling ROM functions in the Pin API. 1151 // 1152 //***************************************************************************** 1153 #if defined(TARGET_IS_CC3200) 1154 #define ROM_PinModeSet \ 1155 ((void (*)(unsigned long ulPin, \ 1156 unsigned long ulPinMode))ROM_PINTABLE[0]) 1157 #endif 1158 #if defined(TARGET_IS_CC3200) 1159 #define ROM_PinDirModeSet \ 1160 ((void (*)(unsigned long ulPin, \ 1161 unsigned long ulPinIO))ROM_PINTABLE[1]) 1162 #endif 1163 #if defined(TARGET_IS_CC3200) 1164 #define ROM_PinDirModeGet \ 1165 ((unsigned long (*)(unsigned long ulPin))ROM_PINTABLE[2]) 1166 #endif 1167 #if defined(TARGET_IS_CC3200) 1168 #define ROM_PinModeGet \ 1169 ((unsigned long (*)(unsigned long ulPin))ROM_PINTABLE[3]) 1170 #endif 1171 #if defined(TARGET_IS_CC3200) 1172 #define ROM_PinConfigGet \ 1173 ((void (*)(unsigned long ulPin, \ 1174 unsigned long *pulPinStrength, \ 1175 unsigned long *pulPinType))ROM_PINTABLE[4]) 1176 #endif 1177 #if defined(TARGET_IS_CC3200) 1178 #define ROM_PinConfigSet \ 1179 ((void (*)(unsigned long ulPin, \ 1180 unsigned long ulPinStrength, \ 1181 unsigned long ulPinType))ROM_PINTABLE[5]) 1182 #endif 1183 #if defined(TARGET_IS_CC3200) 1184 #define ROM_PinTypeUART \ 1185 ((void (*)(unsigned long ulPin, \ 1186 unsigned long ulPinMode))ROM_PINTABLE[6]) 1187 #endif 1188 #if defined(TARGET_IS_CC3200) 1189 #define ROM_PinTypeI2C \ 1190 ((void (*)(unsigned long ulPin, \ 1191 unsigned long ulPinMode))ROM_PINTABLE[7]) 1192 #endif 1193 #if defined(TARGET_IS_CC3200) 1194 #define ROM_PinTypeSPI \ 1195 ((void (*)(unsigned long ulPin, \ 1196 unsigned long ulPinMode))ROM_PINTABLE[8]) 1197 #endif 1198 #if defined(TARGET_IS_CC3200) 1199 #define ROM_PinTypeI2S \ 1200 ((void (*)(unsigned long ulPin, \ 1201 unsigned long ulPinMode))ROM_PINTABLE[9]) 1202 #endif 1203 #if defined(TARGET_IS_CC3200) 1204 #define ROM_PinTypeTimer \ 1205 ((void (*)(unsigned long ulPin, \ 1206 unsigned long ulPinMode))ROM_PINTABLE[10]) 1207 #endif 1208 #if defined(TARGET_IS_CC3200) 1209 #define ROM_PinTypeCamera \ 1210 ((void (*)(unsigned long ulPin, \ 1211 unsigned long ulPinMode))ROM_PINTABLE[11]) 1212 #endif 1213 #if defined(TARGET_IS_CC3200) 1214 #define ROM_PinTypeGPIO \ 1215 ((void (*)(unsigned long ulPin, \ 1216 unsigned long ulPinMode, \ 1217 tBoolean bOpenDrain))ROM_PINTABLE[12]) 1218 #endif 1219 #if defined(TARGET_IS_CC3200) 1220 #define ROM_PinTypeADC \ 1221 ((void (*)(unsigned long ulPin, \ 1222 unsigned long ulPinMode))ROM_PINTABLE[13]) 1223 #endif 1224 #if defined(TARGET_IS_CC3200) 1225 #define ROM_PinTypeSDHost \ 1226 ((void (*)(unsigned long ulPin, \ 1227 unsigned long ulPinMode))ROM_PINTABLE[14]) 1228 #endif 1229 1230 //***************************************************************************** 1231 // 1232 // Macros for calling ROM functions in the SYSTICK API. 1233 // 1234 //***************************************************************************** 1235 #if defined(TARGET_IS_CC3200) 1236 #define ROM_SysTickEnable \ 1237 ((void (*)(void))ROM_SYSTICKTABLE[0]) 1238 #endif 1239 #if defined(TARGET_IS_CC3200) 1240 #define ROM_SysTickDisable \ 1241 ((void (*)(void))ROM_SYSTICKTABLE[1]) 1242 #endif 1243 #if defined(TARGET_IS_CC3200) 1244 #define ROM_SysTickIntRegister \ 1245 ((void (*)(void (*pfnHandler)(void)))ROM_SYSTICKTABLE[2]) 1246 #endif 1247 #if defined(TARGET_IS_CC3200) 1248 #define ROM_SysTickIntUnregister \ 1249 ((void (*)(void))ROM_SYSTICKTABLE[3]) 1250 #endif 1251 #if defined(TARGET_IS_CC3200) 1252 #define ROM_SysTickIntEnable \ 1253 ((void (*)(void))ROM_SYSTICKTABLE[4]) 1254 #endif 1255 #if defined(TARGET_IS_CC3200) 1256 #define ROM_SysTickIntDisable \ 1257 ((void (*)(void))ROM_SYSTICKTABLE[5]) 1258 #endif 1259 #if defined(TARGET_IS_CC3200) 1260 #define ROM_SysTickPeriodSet \ 1261 ((void (*)(unsigned long ulPeriod))ROM_SYSTICKTABLE[6]) 1262 #endif 1263 #if defined(TARGET_IS_CC3200) 1264 #define ROM_SysTickPeriodGet \ 1265 ((unsigned long (*)(void))ROM_SYSTICKTABLE[7]) 1266 #endif 1267 #if defined(TARGET_IS_CC3200) 1268 #define ROM_SysTickValueGet \ 1269 ((unsigned long (*)(void))ROM_SYSTICKTABLE[8]) 1270 #endif 1271 1272 //***************************************************************************** 1273 // 1274 // Macros for calling ROM functions in the UTILS API. 1275 // 1276 //***************************************************************************** 1277 #if defined(TARGET_IS_CC3200) 1278 #define ROM_UtilsDelay \ 1279 ((void (*)(unsigned long ulCount))ROM_UTILSTABLE[0]) 1280 #endif 1281 1282 //***************************************************************************** 1283 // 1284 // Macros for calling ROM functions in the I2S API. 1285 // 1286 //***************************************************************************** 1287 #if defined(TARGET_IS_CC3200) 1288 #define ROM_I2SEnable \ 1289 ((void (*)(unsigned long ulBase, \ 1290 unsigned long ulMode))ROM_I2STABLE[0]) 1291 #endif 1292 #if defined(TARGET_IS_CC3200) 1293 #define ROM_I2SDisable \ 1294 ((void (*)(unsigned long ulBase))ROM_I2STABLE[1]) 1295 #endif 1296 #if defined(TARGET_IS_CC3200) 1297 #define ROM_I2SDataPut \ 1298 ((void (*)(unsigned long ulBase, \ 1299 unsigned long ulDataLine, \ 1300 unsigned long ulData))ROM_I2STABLE[2]) 1301 #endif 1302 #if defined(TARGET_IS_CC3200) 1303 #define ROM_I2SDataPutNonBlocking \ 1304 ((long (*)(unsigned long ulBase, \ 1305 unsigned long ulDataLine, \ 1306 unsigned long ulData))ROM_I2STABLE[3]) 1307 #endif 1308 #if defined(TARGET_IS_CC3200) 1309 #define ROM_I2SDataGet \ 1310 ((void (*)(unsigned long ulBase, \ 1311 unsigned long ulDataLine, \ 1312 unsigned long *pulData))ROM_I2STABLE[4]) 1313 #endif 1314 #if defined(TARGET_IS_CC3200) 1315 #define ROM_I2SDataGetNonBlocking \ 1316 ((long (*)(unsigned long ulBase, \ 1317 unsigned long ulDataLine, \ 1318 unsigned long *pulData))ROM_I2STABLE[5]) 1319 #endif 1320 #if defined(TARGET_IS_CC3200) 1321 #define ROM_I2SConfigSetExpClk \ 1322 ((void (*)(unsigned long ulBase, \ 1323 unsigned long ulI2SClk, \ 1324 unsigned long ulBitClk, \ 1325 unsigned long ulConfig))ROM_I2STABLE[6]) 1326 #endif 1327 #if defined(TARGET_IS_CC3200) 1328 #define ROM_I2STxFIFOEnable \ 1329 ((void (*)(unsigned long ulBase, \ 1330 unsigned long ulTxLevel, \ 1331 unsigned long ulWordsPerTransfer))ROM_I2STABLE[7]) 1332 #endif 1333 #if defined(TARGET_IS_CC3200) 1334 #define ROM_I2STxFIFODisable \ 1335 ((void (*)(unsigned long ulBase))ROM_I2STABLE[8]) 1336 #endif 1337 #if defined(TARGET_IS_CC3200) 1338 #define ROM_I2SRxFIFOEnable \ 1339 ((void (*)(unsigned long ulBase, \ 1340 unsigned long ulRxLevel, \ 1341 unsigned long ulWordsPerTransfer))ROM_I2STABLE[9]) 1342 #endif 1343 #if defined(TARGET_IS_CC3200) 1344 #define ROM_I2SRxFIFODisable \ 1345 ((void (*)(unsigned long ulBase))ROM_I2STABLE[10]) 1346 #endif 1347 #if defined(TARGET_IS_CC3200) 1348 #define ROM_I2STxFIFOStatusGet \ 1349 ((unsigned long (*)(unsigned long ulBase))ROM_I2STABLE[11]) 1350 #endif 1351 #if defined(TARGET_IS_CC3200) 1352 #define ROM_I2SRxFIFOStatusGet \ 1353 ((unsigned long (*)(unsigned long ulBase))ROM_I2STABLE[12]) 1354 #endif 1355 #if defined(TARGET_IS_CC3200) 1356 #define ROM_I2SSerializerConfig \ 1357 ((void (*)(unsigned long ulBase, \ 1358 unsigned long ulDataLine, \ 1359 unsigned long ulSerMode, \ 1360 unsigned long ulInActState))ROM_I2STABLE[13]) 1361 #endif 1362 #if defined(TARGET_IS_CC3200) 1363 #define ROM_I2SIntEnable \ 1364 ((void (*)(unsigned long ulBase, \ 1365 unsigned long ulIntFlags))ROM_I2STABLE[14]) 1366 #endif 1367 #if defined(TARGET_IS_CC3200) 1368 #define ROM_I2SIntDisable \ 1369 ((void (*)(unsigned long ulBase, \ 1370 unsigned long ulIntFlags))ROM_I2STABLE[15]) 1371 #endif 1372 #if defined(TARGET_IS_CC3200) 1373 #define ROM_I2SIntStatus \ 1374 ((unsigned long (*)(unsigned long ulBase))ROM_I2STABLE[16]) 1375 #endif 1376 #if defined(TARGET_IS_CC3200) 1377 #define ROM_I2SIntClear \ 1378 ((void (*)(unsigned long ulBase, \ 1379 unsigned long ulIntFlags))ROM_I2STABLE[17]) 1380 #endif 1381 #if defined(TARGET_IS_CC3200) 1382 #define ROM_I2SIntRegister \ 1383 ((void (*)(unsigned long ulBase, \ 1384 void (*pfnHandler)(void)))ROM_I2STABLE[18]) 1385 #endif 1386 #if defined(TARGET_IS_CC3200) 1387 #define ROM_I2SIntUnregister \ 1388 ((void (*)(unsigned long ulBase))ROM_I2STABLE[19]) 1389 #endif 1390 1391 //***************************************************************************** 1392 // 1393 // Macros for calling ROM functions in the GPIO API. 1394 // 1395 //***************************************************************************** 1396 #if defined(TARGET_IS_CC3200) 1397 #define ROM_GPIODirModeSet \ 1398 ((void (*)(unsigned long ulPort, \ 1399 unsigned char ucPins, \ 1400 unsigned long ulPinIO))ROM_GPIOTABLE[0]) 1401 #endif 1402 #if defined(TARGET_IS_CC3200) 1403 #define ROM_GPIODirModeGet \ 1404 ((unsigned long (*)(unsigned long ulPort, \ 1405 unsigned char ucPin))ROM_GPIOTABLE[1]) 1406 #endif 1407 #if defined(TARGET_IS_CC3200) 1408 #define ROM_GPIOIntTypeSet \ 1409 ((void (*)(unsigned long ulPort, \ 1410 unsigned char ucPins, \ 1411 unsigned long ulIntType))ROM_GPIOTABLE[2]) 1412 #endif 1413 #if defined(TARGET_IS_CC3200) 1414 #define ROM_GPIODMATriggerEnable \ 1415 ((void (*)(unsigned long ulPort))ROM_GPIOTABLE[3]) 1416 #endif 1417 #if defined(TARGET_IS_CC3200) 1418 #define ROM_GPIODMATriggerDisable \ 1419 ((void (*)(unsigned long ulPort))ROM_GPIOTABLE[4]) 1420 #endif 1421 #if defined(TARGET_IS_CC3200) 1422 #define ROM_GPIOIntTypeGet \ 1423 ((unsigned long (*)(unsigned long ulPort, \ 1424 unsigned char ucPin))ROM_GPIOTABLE[5]) 1425 #endif 1426 #if defined(TARGET_IS_CC3200) 1427 #define ROM_GPIOIntEnable \ 1428 ((void (*)(unsigned long ulPort, \ 1429 unsigned long ulIntFlags))ROM_GPIOTABLE[6]) 1430 #endif 1431 #if defined(TARGET_IS_CC3200) 1432 #define ROM_GPIOIntDisable \ 1433 ((void (*)(unsigned long ulPort, \ 1434 unsigned long ulIntFlags))ROM_GPIOTABLE[7]) 1435 #endif 1436 #if defined(TARGET_IS_CC3200) 1437 #define ROM_GPIOIntStatus \ 1438 ((long (*)(unsigned long ulPort, \ 1439 tBoolean bMasked))ROM_GPIOTABLE[8]) 1440 #endif 1441 #if defined(TARGET_IS_CC3200) 1442 #define ROM_GPIOIntClear \ 1443 ((void (*)(unsigned long ulPort, \ 1444 unsigned long ulIntFlags))ROM_GPIOTABLE[9]) 1445 #endif 1446 #if defined(TARGET_IS_CC3200) 1447 #define ROM_GPIOIntRegister \ 1448 ((void (*)(unsigned long ulPort, \ 1449 void (*pfnIntHandler)(void)))ROM_GPIOTABLE[10]) 1450 #endif 1451 #if defined(TARGET_IS_CC3200) 1452 #define ROM_GPIOIntUnregister \ 1453 ((void (*)(unsigned long ulPort))ROM_GPIOTABLE[11]) 1454 #endif 1455 #if defined(TARGET_IS_CC3200) 1456 #define ROM_GPIOPinRead \ 1457 ((long (*)(unsigned long ulPort, \ 1458 unsigned char ucPins))ROM_GPIOTABLE[12]) 1459 #endif 1460 #if defined(TARGET_IS_CC3200) 1461 #define ROM_GPIOPinWrite \ 1462 ((void (*)(unsigned long ulPort, \ 1463 unsigned char ucPins, \ 1464 unsigned char ucVal))ROM_GPIOTABLE[13]) 1465 #endif 1466 1467 //***************************************************************************** 1468 // 1469 // Macros for calling ROM functions in the AES API. 1470 // 1471 //***************************************************************************** 1472 #if defined(TARGET_IS_CC3200) 1473 #define ROM_AESConfigSet \ 1474 ((void (*)(uint32_t ui32Base, \ 1475 uint32_t ui32Config))ROM_AESTABLE[0]) 1476 #endif 1477 #if defined(TARGET_IS_CC3200) 1478 #define ROM_AESKey1Set \ 1479 ((void (*)(uint32_t ui32Base, \ 1480 uint8_t *pui8Key, \ 1481 uint32_t ui32Keysize))ROM_AESTABLE[1]) 1482 #endif 1483 #if defined(TARGET_IS_CC3200) 1484 #define ROM_AESKey2Set \ 1485 ((void (*)(uint32_t ui32Base, \ 1486 uint8_t *pui8Key, \ 1487 uint32_t ui32Keysize))ROM_AESTABLE[2]) 1488 #endif 1489 #if defined(TARGET_IS_CC3200) 1490 #define ROM_AESKey3Set \ 1491 ((void (*)(uint32_t ui32Base, \ 1492 uint8_t *pui8Key))ROM_AESTABLE[3]) 1493 #endif 1494 #if defined(TARGET_IS_CC3200) 1495 #define ROM_AESIVSet \ 1496 ((void (*)(uint32_t ui32Base, \ 1497 uint8_t *pui8IVdata))ROM_AESTABLE[4]) 1498 #endif 1499 #if defined(TARGET_IS_CC3200) 1500 #define ROM_AESTagRead \ 1501 ((void (*)(uint32_t ui32Base, \ 1502 uint8_t *pui8TagData))ROM_AESTABLE[5]) 1503 #endif 1504 #if defined(TARGET_IS_CC3200) 1505 #define ROM_AESDataLengthSet \ 1506 ((void (*)(uint32_t ui32Base, \ 1507 uint64_t ui64Length))ROM_AESTABLE[6]) 1508 #endif 1509 #if defined(TARGET_IS_CC3200) 1510 #define ROM_AESAuthDataLengthSet \ 1511 ((void (*)(uint32_t ui32Base, \ 1512 uint32_t ui32Length))ROM_AESTABLE[7]) 1513 #endif 1514 #if defined(TARGET_IS_CC3200) 1515 #define ROM_AESDataReadNonBlocking \ 1516 ((bool (*)(uint32_t ui32Base, \ 1517 uint8_t *pui8Dest, \ 1518 uint8_t ui8Length))ROM_AESTABLE[8]) 1519 #endif 1520 #if defined(TARGET_IS_CC3200) 1521 #define ROM_AESDataRead \ 1522 ((void (*)(uint32_t ui32Base, \ 1523 uint8_t *pui8Dest, \ 1524 uint8_t ui8Length))ROM_AESTABLE[9]) 1525 #endif 1526 #if defined(TARGET_IS_CC3200) 1527 #define ROM_AESDataWriteNonBlocking \ 1528 ((bool (*)(uint32_t ui32Base, \ 1529 uint8_t *pui8Src, \ 1530 uint8_t ui8Length))ROM_AESTABLE[10]) 1531 #endif 1532 #if defined(TARGET_IS_CC3200) 1533 #define ROM_AESDataWrite \ 1534 ((void (*)(uint32_t ui32Base, \ 1535 uint8_t *pui8Src, \ 1536 uint8_t ui8Length))ROM_AESTABLE[11]) 1537 #endif 1538 #if defined(TARGET_IS_CC3200) 1539 #define ROM_AESDataProcess \ 1540 ((bool (*)(uint32_t ui32Base, \ 1541 uint8_t *pui8Src, \ 1542 uint8_t *pui8Dest, \ 1543 uint32_t ui32Length))ROM_AESTABLE[12]) 1544 #endif 1545 #if defined(TARGET_IS_CC3200) 1546 #define ROM_AESDataMAC \ 1547 ((bool (*)(uint32_t ui32Base, \ 1548 uint8_t *pui8Src, \ 1549 uint32_t ui32Length, \ 1550 uint8_t *pui8Tag))ROM_AESTABLE[13]) 1551 #endif 1552 #if defined(TARGET_IS_CC3200) 1553 #define ROM_AESDataProcessAE \ 1554 ((bool (*)(uint32_t ui32Base, \ 1555 uint8_t *pui8Src, \ 1556 uint8_t *pui8Dest, \ 1557 uint32_t ui32Length, \ 1558 uint8_t *pui8AuthSrc, \ 1559 uint32_t ui32AuthLength, \ 1560 uint8_t *pui8Tag))ROM_AESTABLE[14]) 1561 #endif 1562 #if defined(TARGET_IS_CC3200) 1563 #define ROM_AESIntStatus \ 1564 ((uint32_t (*)(uint32_t ui32Base, \ 1565 bool bMasked))ROM_AESTABLE[15]) 1566 #endif 1567 #if defined(TARGET_IS_CC3200) 1568 #define ROM_AESIntEnable \ 1569 ((void (*)(uint32_t ui32Base, \ 1570 uint32_t ui32IntFlags))ROM_AESTABLE[16]) 1571 #endif 1572 #if defined(TARGET_IS_CC3200) 1573 #define ROM_AESIntDisable \ 1574 ((void (*)(uint32_t ui32Base, \ 1575 uint32_t ui32IntFlags))ROM_AESTABLE[17]) 1576 #endif 1577 #if defined(TARGET_IS_CC3200) 1578 #define ROM_AESIntClear \ 1579 ((void (*)(uint32_t ui32Base, \ 1580 uint32_t ui32IntFlags))ROM_AESTABLE[18]) 1581 #endif 1582 #if defined(TARGET_IS_CC3200) 1583 #define ROM_AESIntRegister \ 1584 ((void (*)(uint32_t ui32Base, \ 1585 void(*pfnHandler)(void)))ROM_AESTABLE[19]) 1586 #endif 1587 #if defined(TARGET_IS_CC3200) 1588 #define ROM_AESIntUnregister \ 1589 ((void (*)(uint32_t ui32Base))ROM_AESTABLE[20]) 1590 #endif 1591 #if defined(TARGET_IS_CC3200) 1592 #define ROM_AESDMAEnable \ 1593 ((void (*)(uint32_t ui32Base, \ 1594 uint32_t ui32Flags))ROM_AESTABLE[21]) 1595 #endif 1596 #if defined(TARGET_IS_CC3200) 1597 #define ROM_AESDMADisable \ 1598 ((void (*)(uint32_t ui32Base, \ 1599 uint32_t ui32Flags))ROM_AESTABLE[22]) 1600 #endif 1601 1602 //***************************************************************************** 1603 // 1604 // Macros for calling ROM functions in the DES API. 1605 // 1606 //***************************************************************************** 1607 #if defined(TARGET_IS_CC3200) 1608 #define ROM_DESConfigSet \ 1609 ((void (*)(uint32_t ui32Base, \ 1610 uint32_t ui32Config))ROM_DESTABLE[0]) 1611 #endif 1612 #if defined(TARGET_IS_CC3200) 1613 #define ROM_DESDataRead \ 1614 ((void (*)(uint32_t ui32Base, \ 1615 uint8_t *pui8Dest, \ 1616 uint8_t ui8Length))ROM_DESTABLE[1]) 1617 #endif 1618 #if defined(TARGET_IS_CC3200) 1619 #define ROM_DESDataReadNonBlocking \ 1620 ((bool (*)(uint32_t ui32Base, \ 1621 uint8_t *pui8Dest, \ 1622 uint8_t ui8Length))ROM_DESTABLE[2]) 1623 #endif 1624 #if defined(TARGET_IS_CC3200) 1625 #define ROM_DESDataProcess \ 1626 ((bool (*)(uint32_t ui32Base, \ 1627 uint8_t *pui8Src, \ 1628 uint8_t *pui8Dest, \ 1629 uint32_t ui32Length))ROM_DESTABLE[3]) 1630 #endif 1631 #if defined(TARGET_IS_CC3200) 1632 #define ROM_DESDataWrite \ 1633 ((void (*)(uint32_t ui32Base, \ 1634 uint8_t *pui8Src, \ 1635 uint8_t ui8Length))ROM_DESTABLE[4]) 1636 #endif 1637 #if defined(TARGET_IS_CC3200) 1638 #define ROM_DESDataWriteNonBlocking \ 1639 ((bool (*)(uint32_t ui32Base, \ 1640 uint8_t *pui8Src, \ 1641 uint8_t ui8Length))ROM_DESTABLE[5]) 1642 #endif 1643 #if defined(TARGET_IS_CC3200) 1644 #define ROM_DESDMADisable \ 1645 ((void (*)(uint32_t ui32Base, \ 1646 uint32_t ui32Flags))ROM_DESTABLE[6]) 1647 #endif 1648 #if defined(TARGET_IS_CC3200) 1649 #define ROM_DESDMAEnable \ 1650 ((void (*)(uint32_t ui32Base, \ 1651 uint32_t ui32Flags))ROM_DESTABLE[7]) 1652 #endif 1653 #if defined(TARGET_IS_CC3200) 1654 #define ROM_DESIntClear \ 1655 ((void (*)(uint32_t ui32Base, \ 1656 uint32_t ui32IntFlags))ROM_DESTABLE[8]) 1657 #endif 1658 #if defined(TARGET_IS_CC3200) 1659 #define ROM_DESIntDisable \ 1660 ((void (*)(uint32_t ui32Base, \ 1661 uint32_t ui32IntFlags))ROM_DESTABLE[9]) 1662 #endif 1663 #if defined(TARGET_IS_CC3200) 1664 #define ROM_DESIntEnable \ 1665 ((void (*)(uint32_t ui32Base, \ 1666 uint32_t ui32IntFlags))ROM_DESTABLE[10]) 1667 #endif 1668 #if defined(TARGET_IS_CC3200) 1669 #define ROM_DESIntRegister \ 1670 ((void (*)(uint32_t ui32Base, \ 1671 void(*pfnHandler)(void)))ROM_DESTABLE[11]) 1672 #endif 1673 #if defined(TARGET_IS_CC3200) 1674 #define ROM_DESIntStatus \ 1675 ((uint32_t (*)(uint32_t ui32Base, \ 1676 bool bMasked))ROM_DESTABLE[12]) 1677 #endif 1678 #if defined(TARGET_IS_CC3200) 1679 #define ROM_DESIntUnregister \ 1680 ((void (*)(uint32_t ui32Base))ROM_DESTABLE[13]) 1681 #endif 1682 #if defined(TARGET_IS_CC3200) 1683 #define ROM_DESIVSet \ 1684 ((bool (*)(uint32_t ui32Base, \ 1685 uint8_t *pui8IVdata))ROM_DESTABLE[14]) 1686 #endif 1687 #if defined(TARGET_IS_CC3200) 1688 #define ROM_DESKeySet \ 1689 ((void (*)(uint32_t ui32Base, \ 1690 uint8_t *pui8Key))ROM_DESTABLE[15]) 1691 #endif 1692 #if defined(TARGET_IS_CC3200) 1693 #define ROM_DESDataLengthSet \ 1694 ((void (*)(uint32_t ui32Base, \ 1695 uint32_t ui32Length))ROM_DESTABLE[16]) 1696 #endif 1697 1698 //***************************************************************************** 1699 // 1700 // Macros for calling ROM functions in the SHAMD5 API. 1701 // 1702 //***************************************************************************** 1703 #if defined(TARGET_IS_CC3200) 1704 #define ROM_SHAMD5ConfigSet \ 1705 ((void (*)(uint32_t ui32Base, \ 1706 uint32_t ui32Mode))ROM_SHAMD5TABLE[0]) 1707 #endif 1708 #if defined(TARGET_IS_CC3200) 1709 #define ROM_SHAMD5DataProcess \ 1710 ((bool (*)(uint32_t ui32Base, \ 1711 uint8_t *pui8DataSrc, \ 1712 uint32_t ui32DataLength, \ 1713 uint8_t *pui8HashResult))ROM_SHAMD5TABLE[1]) 1714 #endif 1715 #if defined(TARGET_IS_CC3200) 1716 #define ROM_SHAMD5DataWrite \ 1717 ((void (*)(uint32_t ui32Base, \ 1718 uint8_t *pui8Src))ROM_SHAMD5TABLE[2]) 1719 #endif 1720 #if defined(TARGET_IS_CC3200) 1721 #define ROM_SHAMD5DataWriteNonBlocking \ 1722 ((bool (*)(uint32_t ui32Base, \ 1723 uint8_t *pui8Src))ROM_SHAMD5TABLE[3]) 1724 #endif 1725 #if defined(TARGET_IS_CC3200) 1726 #define ROM_SHAMD5DMADisable \ 1727 ((void (*)(uint32_t ui32Base))ROM_SHAMD5TABLE[4]) 1728 #endif 1729 #if defined(TARGET_IS_CC3200) 1730 #define ROM_SHAMD5DMAEnable \ 1731 ((void (*)(uint32_t ui32Base))ROM_SHAMD5TABLE[5]) 1732 #endif 1733 #if defined(TARGET_IS_CC3200) 1734 #define ROM_SHAMD5DataLengthSet \ 1735 ((void (*)(uint32_t ui32Base, \ 1736 uint32_t ui32Length))ROM_SHAMD5TABLE[6]) 1737 #endif 1738 #if defined(TARGET_IS_CC3200) 1739 #define ROM_SHAMD5HMACKeySet \ 1740 ((void (*)(uint32_t ui32Base, \ 1741 uint8_t *pui8Src))ROM_SHAMD5TABLE[7]) 1742 #endif 1743 #if defined(TARGET_IS_CC3200) 1744 #define ROM_SHAMD5HMACPPKeyGenerate \ 1745 ((void (*)(uint32_t ui32Base, \ 1746 uint8_t *pui8Key, \ 1747 uint8_t *pui8PPKey))ROM_SHAMD5TABLE[8]) 1748 #endif 1749 #if defined(TARGET_IS_CC3200) 1750 #define ROM_SHAMD5HMACPPKeySet \ 1751 ((void (*)(uint32_t ui32Base, \ 1752 uint8_t *pui8Src))ROM_SHAMD5TABLE[9]) 1753 #endif 1754 #if defined(TARGET_IS_CC3200) 1755 #define ROM_SHAMD5HMACProcess \ 1756 ((bool (*)(uint32_t ui32Base, \ 1757 uint8_t *pui8DataSrc, \ 1758 uint32_t ui32DataLength, \ 1759 uint8_t *pui8HashResult))ROM_SHAMD5TABLE[10]) 1760 #endif 1761 #if defined(TARGET_IS_CC3200) 1762 #define ROM_SHAMD5IntClear \ 1763 ((void (*)(uint32_t ui32Base, \ 1764 uint32_t ui32IntFlags))ROM_SHAMD5TABLE[11]) 1765 #endif 1766 #if defined(TARGET_IS_CC3200) 1767 #define ROM_SHAMD5IntDisable \ 1768 ((void (*)(uint32_t ui32Base, \ 1769 uint32_t ui32IntFlags))ROM_SHAMD5TABLE[12]) 1770 #endif 1771 #if defined(TARGET_IS_CC3200) 1772 #define ROM_SHAMD5IntEnable \ 1773 ((void (*)(uint32_t ui32Base, \ 1774 uint32_t ui32IntFlags))ROM_SHAMD5TABLE[13]) 1775 #endif 1776 #if defined(TARGET_IS_CC3200) 1777 #define ROM_SHAMD5IntRegister \ 1778 ((void (*)(uint32_t ui32Base, \ 1779 void(*pfnHandler)(void)))ROM_SHAMD5TABLE[14]) 1780 #endif 1781 #if defined(TARGET_IS_CC3200) 1782 #define ROM_SHAMD5IntStatus \ 1783 ((uint32_t (*)(uint32_t ui32Base, \ 1784 bool bMasked))ROM_SHAMD5TABLE[15]) 1785 #endif 1786 #if defined(TARGET_IS_CC3200) 1787 #define ROM_SHAMD5IntUnregister \ 1788 ((void (*)(uint32_t ui32Base))ROM_SHAMD5TABLE[16]) 1789 #endif 1790 #if defined(TARGET_IS_CC3200) 1791 #define ROM_SHAMD5ResultRead \ 1792 ((void (*)(uint32_t ui32Base, \ 1793 uint8_t *pui8Dest))ROM_SHAMD5TABLE[17]) 1794 #endif 1795 1796 //***************************************************************************** 1797 // 1798 // Macros for calling ROM functions in the CRC API. 1799 // 1800 //***************************************************************************** 1801 #if defined(TARGET_IS_CC3200) 1802 #define ROM_CRCConfigSet \ 1803 ((void (*)(uint32_t ui32Base, \ 1804 uint32_t ui32CRCConfig))ROM_CRCTABLE[0]) 1805 #endif 1806 #if defined(TARGET_IS_CC3200) 1807 #define ROM_CRCDataProcess \ 1808 ((uint32_t (*)(uint32_t ui32Base, \ 1809 void *puiDataIn, \ 1810 uint32_t ui32DataLength, \ 1811 uint32_t ui32Config))ROM_CRCTABLE[1]) 1812 #endif 1813 #if defined(TARGET_IS_CC3200) 1814 #define ROM_CRCDataWrite \ 1815 ((void (*)(uint32_t ui32Base, \ 1816 uint32_t ui32Data))ROM_CRCTABLE[2]) 1817 #endif 1818 #if defined(TARGET_IS_CC3200) 1819 #define ROM_CRCResultRead \ 1820 ((uint32_t (*)(uint32_t ui32Base))ROM_CRCTABLE[3]) 1821 #endif 1822 #if defined(TARGET_IS_CC3200) 1823 #define ROM_CRCSeedSet \ 1824 ((void (*)(uint32_t ui32Base, \ 1825 uint32_t ui32Seed))ROM_CRCTABLE[4]) 1826 #endif 1827 1828 //***************************************************************************** 1829 // 1830 // Macros for calling ROM functions in the SDHOST API. 1831 // 1832 //***************************************************************************** 1833 #if defined(TARGET_IS_CC3200) 1834 #define ROM_SDHostCmdReset \ 1835 ((void (*)(unsigned long ulBase))ROM_SDHOSTTABLE[0]) 1836 #endif 1837 #if defined(TARGET_IS_CC3200) 1838 #define ROM_SDHostInit \ 1839 ((void (*)(unsigned long ulBase))ROM_SDHOSTTABLE[1]) 1840 #endif 1841 #if defined(TARGET_IS_CC3200) 1842 #define ROM_SDHostCmdSend \ 1843 ((long (*)(unsigned long ulBase, \ 1844 unsigned long ulCmd, \ 1845 unsigned ulArg))ROM_SDHOSTTABLE[2]) 1846 #endif 1847 #if defined(TARGET_IS_CC3200) 1848 #define ROM_SDHostIntRegister \ 1849 ((void (*)(unsigned long ulBase, \ 1850 void (*pfnHandler)(void)))ROM_SDHOSTTABLE[3]) 1851 #endif 1852 #if defined(TARGET_IS_CC3200) 1853 #define ROM_SDHostIntUnregister \ 1854 ((void (*)(unsigned long ulBase))ROM_SDHOSTTABLE[4]) 1855 #endif 1856 #if defined(TARGET_IS_CC3200) 1857 #define ROM_SDHostIntEnable \ 1858 ((void (*)(unsigned long ulBase, \ 1859 unsigned long ulIntFlags))ROM_SDHOSTTABLE[5]) 1860 #endif 1861 #if defined(TARGET_IS_CC3200) 1862 #define ROM_SDHostIntDisable \ 1863 ((void (*)(unsigned long ulBase, \ 1864 unsigned long ulIntFlags))ROM_SDHOSTTABLE[6]) 1865 #endif 1866 #if defined(TARGET_IS_CC3200) 1867 #define ROM_SDHostIntStatus \ 1868 ((unsigned long (*)(unsigned long ulBase))ROM_SDHOSTTABLE[7]) 1869 #endif 1870 #if defined(TARGET_IS_CC3200) 1871 #define ROM_SDHostIntClear \ 1872 ((void (*)(unsigned long ulBase, \ 1873 unsigned long ulIntFlags))ROM_SDHOSTTABLE[8]) 1874 #endif 1875 #if defined(TARGET_IS_CC3200) 1876 #define ROM_SDHostRespStatus \ 1877 ((unsigned long (*)(unsigned long ulBase))ROM_SDHOSTTABLE[9]) 1878 #endif 1879 #if defined(TARGET_IS_CC3200) 1880 #define ROM_SDHostRespGet \ 1881 ((void (*)(unsigned long ulBase, \ 1882 unsigned long ulRespnse[4]))ROM_SDHOSTTABLE[10]) 1883 #endif 1884 #if defined(TARGET_IS_CC3200) 1885 #define ROM_SDHostBlockSizeSet \ 1886 ((void (*)(unsigned long ulBase, \ 1887 unsigned short ulBlkSize))ROM_SDHOSTTABLE[11]) 1888 #endif 1889 #if defined(TARGET_IS_CC3200) 1890 #define ROM_SDHostBlockCountSet \ 1891 ((void (*)(unsigned long ulBase, \ 1892 unsigned short ulBlkCount))ROM_SDHOSTTABLE[12]) 1893 #endif 1894 #if defined(TARGET_IS_CC3200) 1895 #define ROM_SDHostDataNonBlockingWrite \ 1896 ((tBoolean (*)(unsigned long ulBase, \ 1897 unsigned long ulData))ROM_SDHOSTTABLE[13]) 1898 #endif 1899 #if defined(TARGET_IS_CC3200) 1900 #define ROM_SDHostDataNonBlockingRead \ 1901 ((tBoolean (*)(unsigned long ulBase, \ 1902 unsigned long *pulData))ROM_SDHOSTTABLE[14]) 1903 #endif 1904 #if defined(TARGET_IS_CC3200) 1905 #define ROM_SDHostDataWrite \ 1906 ((void (*)(unsigned long ulBase, \ 1907 unsigned long ulData))ROM_SDHOSTTABLE[15]) 1908 #endif 1909 #if defined(TARGET_IS_CC3200) 1910 #define ROM_SDHostDataRead \ 1911 ((void (*)(unsigned long ulBase, \ 1912 unsigned long *ulData))ROM_SDHOSTTABLE[16]) 1913 #endif 1914 #if defined(TARGET_IS_CC3200) 1915 #define ROM_SDHostSetExpClk \ 1916 ((void (*)(unsigned long ulBase, \ 1917 unsigned long ulSDHostClk, \ 1918 unsigned long ulCardClk))ROM_SDHOSTTABLE[17]) 1919 #endif 1920 1921 //***************************************************************************** 1922 // 1923 // Macros for calling ROM functions in the PRCM API. 1924 // 1925 //***************************************************************************** 1926 #if defined(TARGET_IS_CC3200) 1927 #define ROM_PRCMMCUReset \ 1928 ((void (*)(tBoolean bIncludeSubsystem))ROM_PRCMTABLE[1]) 1929 #endif 1930 #if defined(TARGET_IS_CC3200) 1931 #define ROM_PRCMSysResetCauseGet \ 1932 ((unsigned long (*)(void))ROM_PRCMTABLE[2]) 1933 #endif 1934 #if defined(TARGET_IS_CC3200) 1935 #define ROM_PRCMPeripheralClkEnable \ 1936 ((void (*)(unsigned long ulPeripheral, \ 1937 unsigned long ulClkFlags))ROM_PRCMTABLE[3]) 1938 #endif 1939 #if defined(TARGET_IS_CC3200) 1940 #define ROM_PRCMPeripheralClkDisable \ 1941 ((void (*)(unsigned long ulPeripheral, \ 1942 unsigned long ulClkFlags))ROM_PRCMTABLE[4]) 1943 #endif 1944 #if defined(TARGET_IS_CC3200) 1945 #define ROM_PRCMPeripheralReset \ 1946 ((void (*)(unsigned long ulPeripheral))ROM_PRCMTABLE[5]) 1947 #endif 1948 #if defined(TARGET_IS_CC3200) 1949 #define ROM_PRCMPeripheralStatusGet \ 1950 ((tBoolean (*)(unsigned long ulPeripheral))ROM_PRCMTABLE[6]) 1951 #endif 1952 #if defined(TARGET_IS_CC3200) 1953 #define ROM_PRCMI2SClockFreqSet \ 1954 ((void (*)(unsigned long ulI2CClkFreq))ROM_PRCMTABLE[7]) 1955 #endif 1956 #if defined(TARGET_IS_CC3200) 1957 #define ROM_PRCMPeripheralClockGet \ 1958 ((unsigned long (*)(unsigned long ulPeripheral))ROM_PRCMTABLE[8]) 1959 #endif 1960 #if defined(TARGET_IS_CC3200) 1961 #define ROM_PRCMSleepEnter \ 1962 ((void (*)(void))ROM_PRCMTABLE[9]) 1963 #endif 1964 #if defined(TARGET_IS_CC3200) 1965 #define ROM_PRCMDeepSleepEnter \ 1966 ((void (*)(void))ROM_PRCMTABLE[10]) 1967 #endif 1968 #if defined(TARGET_IS_CC3200) 1969 #define ROM_PRCMSRAMRetentionEnable \ 1970 ((void (*)(unsigned long ulSramColSel, \ 1971 unsigned long ulFlags))ROM_PRCMTABLE[11]) 1972 #endif 1973 #if defined(TARGET_IS_CC3200) 1974 #define ROM_PRCMSRAMRetentionDisable \ 1975 ((void (*)(unsigned long ulSramColSel, \ 1976 unsigned long ulFlags))ROM_PRCMTABLE[12]) 1977 #endif 1978 #if defined(TARGET_IS_CC3200) 1979 #define ROM_PRCMLPDSEnter \ 1980 ((void (*)(void))ROM_PRCMTABLE[13]) 1981 #endif 1982 #if defined(TARGET_IS_CC3200) 1983 #define ROM_PRCMLPDSIntervalSet \ 1984 ((void (*)(unsigned long ulTicks))ROM_PRCMTABLE[14]) 1985 #endif 1986 #if defined(TARGET_IS_CC3200) 1987 #define ROM_PRCMLPDSWakeupSourceEnable \ 1988 ((void (*)(unsigned long ulLpdsWakeupSrc))ROM_PRCMTABLE[15]) 1989 #endif 1990 #if defined(TARGET_IS_CC3200) 1991 #define ROM_PRCMLPDSWakeupCauseGet \ 1992 ((unsigned long (*)(void))ROM_PRCMTABLE[16]) 1993 #endif 1994 #if defined(TARGET_IS_CC3200) 1995 #define ROM_PRCMLPDSWakeUpGPIOSelect \ 1996 ((void (*)(unsigned long ulGPIOPin, \ 1997 unsigned long ulType))ROM_PRCMTABLE[17]) 1998 #endif 1999 #if defined(TARGET_IS_CC3200) 2000 #define ROM_PRCMLPDSWakeupSourceDisable \ 2001 ((void (*)(unsigned long ulLpdsWakeupSrc))ROM_PRCMTABLE[18]) 2002 #endif 2003 #if defined(TARGET_IS_CC3200) 2004 #define ROM_PRCMHibernateEnter \ 2005 ((void (*)(void))ROM_PRCMTABLE[19]) 2006 #endif 2007 #if defined(TARGET_IS_CC3200) 2008 #define ROM_PRCMHibernateWakeupSourceEnable \ 2009 ((void (*)(unsigned long ulHIBWakupSrc))ROM_PRCMTABLE[20]) 2010 #endif 2011 #if defined(TARGET_IS_CC3200) 2012 #define ROM_PRCMHibernateWakeupCauseGet \ 2013 ((unsigned long (*)(void))ROM_PRCMTABLE[21]) 2014 #endif 2015 #if defined(TARGET_IS_CC3200) 2016 #define ROM_PRCMHibernateWakeUpGPIOSelect \ 2017 ((void (*)(unsigned long ulMultiGPIOBitMap, \ 2018 unsigned long ulType))ROM_PRCMTABLE[22]) 2019 #endif 2020 #if defined(TARGET_IS_CC3200) 2021 #define ROM_PRCMHibernateWakeupSourceDisable \ 2022 ((void (*)(unsigned long ulHIBWakupSrc))ROM_PRCMTABLE[23]) 2023 #endif 2024 #if defined(TARGET_IS_CC3200) 2025 #define ROM_PRCMHibernateIntervalSet \ 2026 ((void (*)(unsigned long long ullTicks))ROM_PRCMTABLE[24]) 2027 #endif 2028 #if defined(TARGET_IS_CC3200) 2029 #define ROM_PRCMSlowClkCtrGet \ 2030 ((unsigned long long (*)(void))ROM_PRCMTABLE[25]) 2031 #endif 2032 #if defined(TARGET_IS_CC3200) 2033 #define ROM_PRCMSlowClkCtrMatchSet \ 2034 ((void (*)(unsigned long long ullTicks))ROM_PRCMTABLE[26]) 2035 #endif 2036 #if defined(TARGET_IS_CC3200) 2037 #define ROM_PRCMSlowClkCtrMatchGet \ 2038 ((unsigned long long (*)(void))ROM_PRCMTABLE[27]) 2039 #endif 2040 #if defined(TARGET_IS_CC3200) 2041 #define ROM_PRCMOCRRegisterWrite \ 2042 ((void (*)(unsigned char ucIndex, \ 2043 unsigned long ulRegValue))ROM_PRCMTABLE[28]) 2044 #endif 2045 #if defined(TARGET_IS_CC3200) 2046 #define ROM_PRCMOCRRegisterRead \ 2047 ((unsigned long (*)(unsigned char ucIndex))ROM_PRCMTABLE[29]) 2048 #endif 2049 #if defined(TARGET_IS_CC3200) 2050 #define ROM_PRCMIntRegister \ 2051 ((void (*)(void (*pfnHandler)(void)))ROM_PRCMTABLE[30]) 2052 #endif 2053 #if defined(TARGET_IS_CC3200) 2054 #define ROM_PRCMIntUnregister \ 2055 ((void (*)(void))ROM_PRCMTABLE[31]) 2056 #endif 2057 #if defined(TARGET_IS_CC3200) 2058 #define ROM_PRCMIntEnable \ 2059 ((void (*)(unsigned long ulIntFlags))ROM_PRCMTABLE[32]) 2060 #endif 2061 #if defined(TARGET_IS_CC3200) 2062 #define ROM_PRCMIntDisable \ 2063 ((void (*)(unsigned long ulIntFlags))ROM_PRCMTABLE[33]) 2064 #endif 2065 #if defined(TARGET_IS_CC3200) 2066 #define ROM_PRCMIntStatus \ 2067 ((unsigned long (*)(void))ROM_PRCMTABLE[34]) 2068 #endif 2069 #if defined(TARGET_IS_CC3200) 2070 #define ROM_PRCMRTCInUseSet \ 2071 ((void (*)(void))ROM_PRCMTABLE[35]) 2072 #endif 2073 #if defined(TARGET_IS_CC3200) 2074 #define ROM_PRCMRTCInUseGet \ 2075 ((tBoolean (*)(void))ROM_PRCMTABLE[36]) 2076 #endif 2077 #if defined(TARGET_IS_CC3200) 2078 #define ROM_PRCMRTCSet \ 2079 ((void (*)(unsigned long ulSecs, \ 2080 unsigned short usMsec))ROM_PRCMTABLE[37]) 2081 #endif 2082 #if defined(TARGET_IS_CC3200) 2083 #define ROM_PRCMRTCGet \ 2084 ((void (*)(unsigned long *ulSecs, \ 2085 unsigned short *usMsec))ROM_PRCMTABLE[38]) 2086 #endif 2087 #if defined(TARGET_IS_CC3200) 2088 #define ROM_PRCMRTCMatchSet \ 2089 ((void (*)(unsigned long ulSecs, \ 2090 unsigned short usMsec))ROM_PRCMTABLE[39]) 2091 #endif 2092 #if defined(TARGET_IS_CC3200) 2093 #define ROM_PRCMRTCMatchGet \ 2094 ((void (*)(unsigned long *ulSecs, \ 2095 unsigned short *usMsec))ROM_PRCMTABLE[40]) 2096 #endif 2097 #if defined(TARGET_IS_CC3200) 2098 #define ROM_PRCMLPDSRestoreInfoSet \ 2099 ((void (*)(unsigned long ulRestoreSP, \ 2100 unsigned long ulRestorePC))ROM_PRCMTABLE[41]) 2101 #endif 2102 2103 //***************************************************************************** 2104 // 2105 // Macros for calling ROM functions in the HWSPINLOCK API. 2106 // 2107 //***************************************************************************** 2108 #if defined(TARGET_IS_CC3200) 2109 #define ROM_HwSpinLockAcquire \ 2110 ((void (*)(uint32_t ui32LockID))ROM_HWSPINLOCKTABLE[0]) 2111 #endif 2112 #if defined(TARGET_IS_CC3200) 2113 #define ROM_HwSpinLockTryAcquire \ 2114 ((int32_t (*)(uint32_t ui32LockID, \ 2115 uint32_t ui32Retry))ROM_HWSPINLOCKTABLE[1]) 2116 #endif 2117 #if defined(TARGET_IS_CC3200) 2118 #define ROM_HwSpinLockRelease \ 2119 ((void (*)(uint32_t ui32LockID))ROM_HWSPINLOCKTABLE[2]) 2120 #endif 2121 #if defined(TARGET_IS_CC3200) 2122 #define ROM_HwSpinLockTest \ 2123 ((uint32_t (*)(uint32_t ui32LockID, \ 2124 bool bCurrentStatus))ROM_HWSPINLOCKTABLE[3]) 2125 #endif 2126 2127 //***************************************************************************** 2128 // 2129 // Macros for calling ROM functions in the ADC API. 2130 // 2131 //***************************************************************************** 2132 #if defined(TARGET_IS_CC3200) 2133 #define ROM_ADCEnable \ 2134 ((void (*)(unsigned long ulBase))ROM_ADCTABLE[0]) 2135 #endif 2136 #if defined(TARGET_IS_CC3200) 2137 #define ROM_ADCDisable \ 2138 ((void (*)(unsigned long ulBase))ROM_ADCTABLE[1]) 2139 #endif 2140 #if defined(TARGET_IS_CC3200) 2141 #define ROM_ADCChannelEnable \ 2142 ((void (*)(unsigned long ulBase, \ 2143 unsigned long ulChannel))ROM_ADCTABLE[2]) 2144 #endif 2145 #if defined(TARGET_IS_CC3200) 2146 #define ROM_ADCChannelDisable \ 2147 ((void (*)(unsigned long ulBase, \ 2148 unsigned long ulChannel))ROM_ADCTABLE[3]) 2149 #endif 2150 #if defined(TARGET_IS_CC3200) 2151 #define ROM_ADCIntRegister \ 2152 ((void (*)(unsigned long ulBase, \ 2153 unsigned long ulChannel, \ 2154 void (*pfnHandler)(void)))ROM_ADCTABLE[4]) 2155 #endif 2156 #if defined(TARGET_IS_CC3200) 2157 #define ROM_ADCIntUnregister \ 2158 ((void (*)(unsigned long ulBase, \ 2159 unsigned long ulChannel))ROM_ADCTABLE[5]) 2160 #endif 2161 #if defined(TARGET_IS_CC3200) 2162 #define ROM_ADCIntEnable \ 2163 ((void (*)(unsigned long ulBase, \ 2164 unsigned long ulChannel, \ 2165 unsigned long ulIntFlags))ROM_ADCTABLE[6]) 2166 #endif 2167 #if defined(TARGET_IS_CC3200) 2168 #define ROM_ADCIntDisable \ 2169 ((void (*)(unsigned long ulBase, \ 2170 unsigned long ulChannel, \ 2171 unsigned long ulIntFlags))ROM_ADCTABLE[7]) 2172 #endif 2173 #if defined(TARGET_IS_CC3200) 2174 #define ROM_ADCIntStatus \ 2175 ((unsigned long (*)(unsigned long ulBase, \ 2176 unsigned long ulChannel))ROM_ADCTABLE[8]) 2177 #endif 2178 #if defined(TARGET_IS_CC3200) 2179 #define ROM_ADCIntClear \ 2180 ((void (*)(unsigned long ulBase, \ 2181 unsigned long ulChannel, \ 2182 unsigned long ulIntFlags))ROM_ADCTABLE[9]) 2183 #endif 2184 #if defined(TARGET_IS_CC3200) 2185 #define ROM_ADCDMAEnable \ 2186 ((void (*)(unsigned long ulBase, \ 2187 unsigned long ulChannel))ROM_ADCTABLE[10]) 2188 #endif 2189 #if defined(TARGET_IS_CC3200) 2190 #define ROM_ADCDMADisable \ 2191 ((void (*)(unsigned long ulBase, \ 2192 unsigned long ulChannel))ROM_ADCTABLE[11]) 2193 #endif 2194 #if defined(TARGET_IS_CC3200) 2195 #define ROM_ADCChannelGainSet \ 2196 ((void (*)(unsigned long ulBase, \ 2197 unsigned long ulChannel, \ 2198 unsigned char ucGain))ROM_ADCTABLE[12]) 2199 #endif 2200 #if defined(TARGET_IS_CC3200) 2201 #define ROM_ADCChannleGainGet \ 2202 ((unsigned char (*)(unsigned long ulBase, \ 2203 unsigned long ulChannel))ROM_ADCTABLE[13]) 2204 #endif 2205 #if defined(TARGET_IS_CC3200) 2206 #define ROM_ADCTimerConfig \ 2207 ((void (*)(unsigned long ulBase, \ 2208 unsigned long ulValue))ROM_ADCTABLE[14]) 2209 #endif 2210 #if defined(TARGET_IS_CC3200) 2211 #define ROM_ADCTimerEnable \ 2212 ((void (*)(unsigned long ulBase))ROM_ADCTABLE[15]) 2213 #endif 2214 #if defined(TARGET_IS_CC3200) 2215 #define ROM_ADCTimerDisable \ 2216 ((void (*)(unsigned long ulBase))ROM_ADCTABLE[16]) 2217 #endif 2218 #if defined(TARGET_IS_CC3200) 2219 #define ROM_ADCTimerReset \ 2220 ((void (*)(unsigned long ulBase))ROM_ADCTABLE[17]) 2221 #endif 2222 #if defined(TARGET_IS_CC3200) 2223 #define ROM_ADCTimerValueGet \ 2224 ((unsigned long (*)(unsigned long ulBase))ROM_ADCTABLE[18]) 2225 #endif 2226 #if defined(TARGET_IS_CC3200) 2227 #define ROM_ADCFIFOLvlGet \ 2228 ((unsigned char (*)(unsigned long ulBase, \ 2229 unsigned long ulChannel))ROM_ADCTABLE[19]) 2230 #endif 2231 #if defined(TARGET_IS_CC3200) 2232 #define ROM_ADCFIFORead \ 2233 ((unsigned long (*)(unsigned long ulBase, \ 2234 unsigned long ulChannel))ROM_ADCTABLE[20]) 2235 #endif 2236 2237 #endif // __ROM_H__ 2238