micropython/ports/cc3200/hal/rom.h

2238 lines
108 KiB
C

//*****************************************************************************
//
// rom.h
//
// Macros to facilitate calling functions in the ROM.
//
// Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
//
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the
// distribution.
//
// Neither the name of Texas Instruments Incorporated nor the names of
// its contributors may be used to endorse or promote products derived
// from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//*****************************************************************************
//*****************************************************************************
//
// THIS IS AN AUTO-GENERATED FILE. DO NOT EDIT BY HAND.
//
//*****************************************************************************
#ifndef __ROM_H__
#define __ROM_H__
//*****************************************************************************
//
// Pointers to the main API tables.
//
//*****************************************************************************
#define ROM_APITABLE ((unsigned long *)0x0000040C)
#define ROM_VERSION (ROM_APITABLE[0])
#define ROM_UARTTABLE ((unsigned long *)(ROM_APITABLE[1]))
#define ROM_TIMERTABLE ((unsigned long *)(ROM_APITABLE[2]))
#define ROM_WATCHDOGTABLE ((unsigned long *)(ROM_APITABLE[3]))
#define ROM_INTERRUPTTABLE ((unsigned long *)(ROM_APITABLE[4]))
#define ROM_UDMATABLE ((unsigned long *)(ROM_APITABLE[5]))
#define ROM_PRCMTABLE ((unsigned long *)(ROM_APITABLE[6]))
#define ROM_I2CTABLE ((unsigned long *)(ROM_APITABLE[7]))
#define ROM_SPITABLE ((unsigned long *)(ROM_APITABLE[8]))
#define ROM_CAMERATABLE ((unsigned long *)(ROM_APITABLE[9]))
#define ROM_FLASHTABLE ((unsigned long *)(ROM_APITABLE[10]))
#define ROM_PINTABLE ((unsigned long *)(ROM_APITABLE[11]))
#define ROM_SYSTICKTABLE ((unsigned long *)(ROM_APITABLE[12]))
#define ROM_UTILSTABLE ((unsigned long *)(ROM_APITABLE[13]))
#define ROM_I2STABLE ((unsigned long *)(ROM_APITABLE[14]))
#define ROM_HWSPINLOCKTABLE ((unsigned long *)(ROM_APITABLE[15]))
#define ROM_GPIOTABLE ((unsigned long *)(ROM_APITABLE[16]))
#define ROM_AESTABLE ((unsigned long *)(ROM_APITABLE[17]))
#define ROM_DESTABLE ((unsigned long *)(ROM_APITABLE[18]))
#define ROM_SHAMD5TABLE ((unsigned long *)(ROM_APITABLE[19]))
#define ROM_CRCTABLE ((unsigned long *)(ROM_APITABLE[20]))
#define ROM_SDHOSTTABLE ((unsigned long *)(ROM_APITABLE[21]))
#define ROM_ADCTABLE ((unsigned long *)(ROM_APITABLE[22]))
//*****************************************************************************
//
// Macros for calling ROM functions in the Interrupt API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_IntEnable \
((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntMasterEnable \
((tBoolean (*)(void))ROM_INTERRUPTTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntMasterDisable \
((tBoolean (*)(void))ROM_INTERRUPTTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntDisable \
((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntPriorityGroupingSet \
((void (*)(unsigned long ulBits))ROM_INTERRUPTTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntPriorityGroupingGet \
((unsigned long (*)(void))ROM_INTERRUPTTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntPrioritySet \
((void (*)(unsigned long ulInterrupt, \
unsigned char ucPriority))ROM_INTERRUPTTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntPriorityGet \
((long (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntPendSet \
((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntPendClear \
((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntPriorityMaskSet \
((void (*)(unsigned long ulPriorityMask))ROM_INTERRUPTTABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntPriorityMaskGet \
((unsigned long (*)(void))ROM_INTERRUPTTABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntRegister \
((void (*)(unsigned long ulInterrupt, \
void (*pfnHandler)(void)))ROM_INTERRUPTTABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntUnregister \
((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_IntVTableBaseSet \
((void (*)(unsigned long ulVtableBase))ROM_INTERRUPTTABLE[14])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the Timer API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_TimerEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulTimer))ROM_TIMERTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerDisable \
((void (*)(unsigned long ulBase, \
unsigned long ulTimer))ROM_TIMERTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerConfigure \
((void (*)(unsigned long ulBase, \
unsigned long ulConfig))ROM_TIMERTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerControlLevel \
((void (*)(unsigned long ulBase, \
unsigned long ulTimer, \
tBoolean bInvert))ROM_TIMERTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerControlEvent \
((void (*)(unsigned long ulBase, \
unsigned long ulTimer, \
unsigned long ulEvent))ROM_TIMERTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerControlStall \
((void (*)(unsigned long ulBase, \
unsigned long ulTimer, \
tBoolean bStall))ROM_TIMERTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerPrescaleSet \
((void (*)(unsigned long ulBase, \
unsigned long ulTimer, \
unsigned long ulValue))ROM_TIMERTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerPrescaleGet \
((unsigned long (*)(unsigned long ulBase, \
unsigned long ulTimer))ROM_TIMERTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerPrescaleMatchSet \
((void (*)(unsigned long ulBase, \
unsigned long ulTimer, \
unsigned long ulValue))ROM_TIMERTABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerPrescaleMatchGet \
((unsigned long (*)(unsigned long ulBase, \
unsigned long ulTimer))ROM_TIMERTABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerLoadSet \
((void (*)(unsigned long ulBase, \
unsigned long ulTimer, \
unsigned long ulValue))ROM_TIMERTABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerLoadGet \
((unsigned long (*)(unsigned long ulBase, \
unsigned long ulTimer))ROM_TIMERTABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerValueGet \
((unsigned long (*)(unsigned long ulBase, \
unsigned long ulTimer))ROM_TIMERTABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerMatchSet \
((void (*)(unsigned long ulBase, \
unsigned long ulTimer, \
unsigned long ulValue))ROM_TIMERTABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerMatchGet \
((unsigned long (*)(unsigned long ulBase, \
unsigned long ulTimer))ROM_TIMERTABLE[14])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerIntRegister \
((void (*)(unsigned long ulBase, \
unsigned long ulTimer, \
void (*pfnHandler)(void)))ROM_TIMERTABLE[15])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerIntUnregister \
((void (*)(unsigned long ulBase, \
unsigned long ulTimer))ROM_TIMERTABLE[16])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerIntEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_TIMERTABLE[17])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerIntDisable \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_TIMERTABLE[18])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerIntStatus \
((unsigned long (*)(unsigned long ulBase, \
tBoolean bMasked))ROM_TIMERTABLE[19])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_TimerIntClear \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_TIMERTABLE[20])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the UART API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_UARTParityModeSet \
((void (*)(unsigned long ulBase, \
unsigned long ulParity))ROM_UARTTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTParityModeGet \
((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTFIFOLevelSet \
((void (*)(unsigned long ulBase, \
unsigned long ulTxLevel, \
unsigned long ulRxLevel))ROM_UARTTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTFIFOLevelGet \
((void (*)(unsigned long ulBase, \
unsigned long *pulTxLevel, \
unsigned long *pulRxLevel))ROM_UARTTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTConfigSetExpClk \
((void (*)(unsigned long ulBase, \
unsigned long ulUARTClk, \
unsigned long ulBaud, \
unsigned long ulConfig))ROM_UARTTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTConfigGetExpClk \
((void (*)(unsigned long ulBase, \
unsigned long ulUARTClk, \
unsigned long *pulBaud, \
unsigned long *pulConfig))ROM_UARTTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTEnable \
((void (*)(unsigned long ulBase))ROM_UARTTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTDisable \
((void (*)(unsigned long ulBase))ROM_UARTTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTFIFOEnable \
((void (*)(unsigned long ulBase))ROM_UARTTABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTFIFODisable \
((void (*)(unsigned long ulBase))ROM_UARTTABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTCharsAvail \
((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTSpaceAvail \
((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTCharGetNonBlocking \
((long (*)(unsigned long ulBase))ROM_UARTTABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTCharGet \
((long (*)(unsigned long ulBase))ROM_UARTTABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTCharPutNonBlocking \
((tBoolean (*)(unsigned long ulBase, \
unsigned char ucData))ROM_UARTTABLE[14])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTCharPut \
((void (*)(unsigned long ulBase, \
unsigned char ucData))ROM_UARTTABLE[15])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTBreakCtl \
((void (*)(unsigned long ulBase, \
tBoolean bBreakState))ROM_UARTTABLE[16])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTBusy \
((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[17])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTIntRegister \
((void (*)(unsigned long ulBase, \
void(*pfnHandler)(void)))ROM_UARTTABLE[18])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTIntUnregister \
((void (*)(unsigned long ulBase))ROM_UARTTABLE[19])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTIntEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_UARTTABLE[20])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTIntDisable \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_UARTTABLE[21])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTIntStatus \
((unsigned long (*)(unsigned long ulBase, \
tBoolean bMasked))ROM_UARTTABLE[22])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTIntClear \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_UARTTABLE[23])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTDMAEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulDMAFlags))ROM_UARTTABLE[24])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTDMADisable \
((void (*)(unsigned long ulBase, \
unsigned long ulDMAFlags))ROM_UARTTABLE[25])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTRxErrorGet \
((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[26])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTRxErrorClear \
((void (*)(unsigned long ulBase))ROM_UARTTABLE[27])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTModemControlSet \
((void (*)(unsigned long ulBase, \
unsigned long ulControl))ROM_UARTTABLE[28])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTModemControlClear \
((void (*)(unsigned long ulBase, \
unsigned long ulControl))ROM_UARTTABLE[29])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTModemControlGet \
((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[30])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTModemStatusGet \
((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[31])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTFlowControlSet \
((void (*)(unsigned long ulBase, \
unsigned long ulMode))ROM_UARTTABLE[32])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTFlowControlGet \
((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[33])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTTxIntModeSet \
((void (*)(unsigned long ulBase, \
unsigned long ulMode))ROM_UARTTABLE[34])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_UARTTxIntModeGet \
((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[35])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the uDMA API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAChannelTransferSet \
((void (*)(unsigned long ulChannelStructIndex, \
unsigned long ulMode, \
void *pvSrcAddr, \
void *pvDstAddr, \
unsigned long ulTransferSize))ROM_UDMATABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAEnable \
((void (*)(void))ROM_UDMATABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMADisable \
((void (*)(void))ROM_UDMATABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAErrorStatusGet \
((unsigned long (*)(void))ROM_UDMATABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAErrorStatusClear \
((void (*)(void))ROM_UDMATABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAChannelEnable \
((void (*)(unsigned long ulChannelNum))ROM_UDMATABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAChannelDisable \
((void (*)(unsigned long ulChannelNum))ROM_UDMATABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAChannelIsEnabled \
((tBoolean (*)(unsigned long ulChannelNum))ROM_UDMATABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAControlBaseSet \
((void (*)(void *pControlTable))ROM_UDMATABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAControlBaseGet \
((void * (*)(void))ROM_UDMATABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAChannelRequest \
((void (*)(unsigned long ulChannelNum))ROM_UDMATABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAChannelAttributeEnable \
((void (*)(unsigned long ulChannelNum, \
unsigned long ulAttr))ROM_UDMATABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAChannelAttributeDisable \
((void (*)(unsigned long ulChannelNum, \
unsigned long ulAttr))ROM_UDMATABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAChannelAttributeGet \
((unsigned long (*)(unsigned long ulChannelNum))ROM_UDMATABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAChannelControlSet \
((void (*)(unsigned long ulChannelStructIndex, \
unsigned long ulControl))ROM_UDMATABLE[14])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAChannelSizeGet \
((unsigned long (*)(unsigned long ulChannelStructIndex))ROM_UDMATABLE[15])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAChannelModeGet \
((unsigned long (*)(unsigned long ulChannelStructIndex))ROM_UDMATABLE[16])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAIntStatus \
((unsigned long (*)(void))ROM_UDMATABLE[17])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAIntClear \
((void (*)(unsigned long ulChanMask))ROM_UDMATABLE[18])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAControlAlternateBaseGet \
((void * (*)(void))ROM_UDMATABLE[19])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAChannelScatterGatherSet \
((void (*)(unsigned long ulChannelNum, \
unsigned ulTaskCount, \
void *pvTaskList, \
unsigned long ulIsPeriphSG))ROM_UDMATABLE[20])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAChannelAssign \
((void (*)(unsigned long ulMapping))ROM_UDMATABLE[21])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAIntRegister \
((void (*)(unsigned long ulIntChannel, \
void (*pfnHandler)(void)))ROM_UDMATABLE[22])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_uDMAIntUnregister \
((void (*)(unsigned long ulIntChannel))ROM_UDMATABLE[23])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the Watchdog API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogIntClear \
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogRunning \
((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogEnable \
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogLock \
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogUnlock \
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogLockState \
((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogReloadSet \
((void (*)(unsigned long ulBase, \
unsigned long ulLoadVal))ROM_WATCHDOGTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogReloadGet \
((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogValueGet \
((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogIntStatus \
((unsigned long (*)(unsigned long ulBase, \
tBoolean bMasked))ROM_WATCHDOGTABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogStallEnable \
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogStallDisable \
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogIntRegister \
((void (*)(unsigned long ulBase, \
void(*pfnHandler)(void)))ROM_WATCHDOGTABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_WatchdogIntUnregister \
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[14])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the I2C API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_I2CIntRegister \
((void (*)(uint32_t ui32Base, \
void(pfnHandler)(void)))ROM_I2CTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CIntUnregister \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CTxFIFOConfigSet \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Config))ROM_I2CTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CTxFIFOFlush \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CRxFIFOConfigSet \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Config))ROM_I2CTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CRxFIFOFlush \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CFIFOStatus \
((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CFIFODataPut \
((void (*)(uint32_t ui32Base, \
uint8_t ui8Data))ROM_I2CTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CFIFODataPutNonBlocking \
((uint32_t (*)(uint32_t ui32Base, \
uint8_t ui8Data))ROM_I2CTABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CFIFODataGet \
((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CFIFODataGetNonBlocking \
((uint32_t (*)(uint32_t ui32Base, \
uint8_t *pui8Data))ROM_I2CTABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterBurstLengthSet \
((void (*)(uint32_t ui32Base, \
uint8_t ui8Length))ROM_I2CTABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterBurstCountGet \
((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterGlitchFilterConfigSet \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Config))ROM_I2CTABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveFIFOEnable \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Config))ROM_I2CTABLE[14])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveFIFODisable \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[15])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterBusBusy \
((bool (*)(uint32_t ui32Base))ROM_I2CTABLE[16])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterBusy \
((bool (*)(uint32_t ui32Base))ROM_I2CTABLE[17])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterControl \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Cmd))ROM_I2CTABLE[18])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterDataGet \
((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[19])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterDataPut \
((void (*)(uint32_t ui32Base, \
uint8_t ui8Data))ROM_I2CTABLE[20])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterDisable \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[21])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterEnable \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[22])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterErr \
((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[23])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterIntClear \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[24])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterIntDisable \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[25])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterIntEnable \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[26])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterIntStatus \
((bool (*)(uint32_t ui32Base, \
bool bMasked))ROM_I2CTABLE[27])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterIntEnableEx \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_I2CTABLE[28])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterIntDisableEx \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_I2CTABLE[29])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterIntStatusEx \
((uint32_t (*)(uint32_t ui32Base, \
bool bMasked))ROM_I2CTABLE[30])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterIntClearEx \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_I2CTABLE[31])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterTimeoutSet \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Value))ROM_I2CTABLE[32])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveACKOverride \
((void (*)(uint32_t ui32Base, \
bool bEnable))ROM_I2CTABLE[33])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveACKValueSet \
((void (*)(uint32_t ui32Base, \
bool bACK))ROM_I2CTABLE[34])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterLineStateGet \
((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[35])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterSlaveAddrSet \
((void (*)(uint32_t ui32Base, \
uint8_t ui8SlaveAddr, \
bool bReceive))ROM_I2CTABLE[36])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveDataGet \
((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[37])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveDataPut \
((void (*)(uint32_t ui32Base, \
uint8_t ui8Data))ROM_I2CTABLE[38])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveDisable \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[39])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveEnable \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[40])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveInit \
((void (*)(uint32_t ui32Base, \
uint8_t ui8SlaveAddr))ROM_I2CTABLE[41])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveAddressSet \
((void (*)(uint32_t ui32Base, \
uint8_t ui8AddrNum, \
uint8_t ui8SlaveAddr))ROM_I2CTABLE[42])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveIntClear \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[43])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveIntDisable \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[44])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveIntEnable \
((void (*)(uint32_t ui32Base))ROM_I2CTABLE[45])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveIntClearEx \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_I2CTABLE[46])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveIntDisableEx \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_I2CTABLE[47])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveIntEnableEx \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_I2CTABLE[48])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveIntStatus \
((bool (*)(uint32_t ui32Base, \
bool bMasked))ROM_I2CTABLE[49])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveIntStatusEx \
((uint32_t (*)(uint32_t ui32Base, \
bool bMasked))ROM_I2CTABLE[50])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CSlaveStatus \
((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[51])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2CMasterInitExpClk \
((void (*)(uint32_t ui32Base, \
uint32_t ui32I2CClk, \
bool bFast))ROM_I2CTABLE[52])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the SPI API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_SPIEnable \
((void (*)(unsigned long ulBase))ROM_SPITABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIDisable \
((void (*)(unsigned long ulBase))ROM_SPITABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIReset \
((void (*)(unsigned long ulBase))ROM_SPITABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIConfigSetExpClk \
((void (*)(unsigned long ulBase, \
unsigned long ulSPIClk, \
unsigned long ulBitRate, \
unsigned long ulMode, \
unsigned long ulSubMode, \
unsigned long ulConfig))ROM_SPITABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIDataGetNonBlocking \
((long (*)(unsigned long ulBase, \
unsigned long * pulData))ROM_SPITABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIDataGet \
((void (*)(unsigned long ulBase, \
unsigned long *pulData))ROM_SPITABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIDataPutNonBlocking \
((long (*)(unsigned long ulBase, \
unsigned long ulData))ROM_SPITABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIDataPut \
((void (*)(unsigned long ulBase, \
unsigned long ulData))ROM_SPITABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIFIFOEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulFlags))ROM_SPITABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIFIFODisable \
((void (*)(unsigned long ulBase, \
unsigned long ulFlags))ROM_SPITABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIFIFOLevelSet \
((void (*)(unsigned long ulBase, \
unsigned long ulTxLevel, \
unsigned long ulRxLevel))ROM_SPITABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIFIFOLevelGet \
((void (*)(unsigned long ulBase, \
unsigned long *pulTxLevel, \
unsigned long *pulRxLevel))ROM_SPITABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIWordCountSet \
((void (*)(unsigned long ulBase, \
unsigned long ulWordCount))ROM_SPITABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIIntRegister \
((void (*)(unsigned long ulBase, \
void(*pfnHandler)(void)))ROM_SPITABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIIntUnregister \
((void (*)(unsigned long ulBase))ROM_SPITABLE[14])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIIntEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_SPITABLE[15])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIIntDisable \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_SPITABLE[16])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIIntStatus \
((unsigned long (*)(unsigned long ulBase, \
tBoolean bMasked))ROM_SPITABLE[17])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIIntClear \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_SPITABLE[18])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIDmaEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulFlags))ROM_SPITABLE[19])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPIDmaDisable \
((void (*)(unsigned long ulBase, \
unsigned long ulFlags))ROM_SPITABLE[20])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPICSEnable \
((void (*)(unsigned long ulBase))ROM_SPITABLE[21])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPICSDisable \
((void (*)(unsigned long ulBase))ROM_SPITABLE[22])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SPITransfer \
((long (*)(unsigned long ulBase, \
unsigned char *ucDout, \
unsigned char *ucDin, \
unsigned long ulSize, \
unsigned long ulFlags))ROM_SPITABLE[23])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the CAM API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_CameraReset \
((void (*)(unsigned long ulBase))ROM_CAMERATABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraParamsConfig \
((void (*)(unsigned long ulBase, \
unsigned long ulHSPol, \
unsigned long ulVSPol, \
unsigned long ulFlags))ROM_CAMERATABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraXClkConfig \
((void (*)(unsigned long ulBase, \
unsigned long ulCamClkIn, \
unsigned long ulXClk))ROM_CAMERATABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraXClkSet \
((void (*)(unsigned long ulBase, \
unsigned char bXClkFlags))ROM_CAMERATABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraDMAEnable \
((void (*)(unsigned long ulBase))ROM_CAMERATABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraDMADisable \
((void (*)(unsigned long ulBase))ROM_CAMERATABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraThresholdSet \
((void (*)(unsigned long ulBase, \
unsigned long ulThreshold))ROM_CAMERATABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraIntRegister \
((void (*)(unsigned long ulBase, \
void (*pfnHandler)(void)))ROM_CAMERATABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraIntUnregister \
((void (*)(unsigned long ulBase))ROM_CAMERATABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraIntEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_CAMERATABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraIntDisable \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_CAMERATABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraIntStatus \
((unsigned long (*)(unsigned long ulBase))ROM_CAMERATABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraIntClear \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_CAMERATABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraCaptureStop \
((void (*)(unsigned long ulBase, \
tBoolean bImmediate))ROM_CAMERATABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraCaptureStart \
((void (*)(unsigned long ulBase))ROM_CAMERATABLE[14])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CameraBufferRead \
((void (*)(unsigned long ulBase, \
unsigned long *pBuffer, \
unsigned char ucSize))ROM_CAMERATABLE[15])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the FLASH API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_FlashDisable \
((void (*)(void))ROM_FLASHTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_FlashErase \
((long (*)(unsigned long ulAddress))ROM_FLASHTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_FlashMassErase \
((long (*)(void))ROM_FLASHTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_FlashMassEraseNonBlocking \
((void (*)(void))ROM_FLASHTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_FlashEraseNonBlocking \
((void (*)(unsigned long ulAddress))ROM_FLASHTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_FlashProgram \
((long (*)(unsigned long *pulData, \
unsigned long ulAddress, \
unsigned long ulCount))ROM_FLASHTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_FlashProgramNonBlocking \
((long (*)(unsigned long *pulData, \
unsigned long ulAddress, \
unsigned long ulCount))ROM_FLASHTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_FlashIntRegister \
((void (*)(void (*pfnHandler)(void)))ROM_FLASHTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_FlashIntUnregister \
((void (*)(void))ROM_FLASHTABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_FlashIntEnable \
((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_FlashIntDisable \
((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_FlashIntStatus \
((unsigned long (*)(tBoolean bMasked))ROM_FLASHTABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_FlashIntClear \
((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_FlashProtectGet \
((tFlashProtection (*)(unsigned long ulAddress))ROM_FLASHTABLE[13])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the Pin API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_PinModeSet \
((void (*)(unsigned long ulPin, \
unsigned long ulPinMode))ROM_PINTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinDirModeSet \
((void (*)(unsigned long ulPin, \
unsigned long ulPinIO))ROM_PINTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinDirModeGet \
((unsigned long (*)(unsigned long ulPin))ROM_PINTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinModeGet \
((unsigned long (*)(unsigned long ulPin))ROM_PINTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinConfigGet \
((void (*)(unsigned long ulPin, \
unsigned long *pulPinStrength, \
unsigned long *pulPinType))ROM_PINTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinConfigSet \
((void (*)(unsigned long ulPin, \
unsigned long ulPinStrength, \
unsigned long ulPinType))ROM_PINTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinTypeUART \
((void (*)(unsigned long ulPin, \
unsigned long ulPinMode))ROM_PINTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinTypeI2C \
((void (*)(unsigned long ulPin, \
unsigned long ulPinMode))ROM_PINTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinTypeSPI \
((void (*)(unsigned long ulPin, \
unsigned long ulPinMode))ROM_PINTABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinTypeI2S \
((void (*)(unsigned long ulPin, \
unsigned long ulPinMode))ROM_PINTABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinTypeTimer \
((void (*)(unsigned long ulPin, \
unsigned long ulPinMode))ROM_PINTABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinTypeCamera \
((void (*)(unsigned long ulPin, \
unsigned long ulPinMode))ROM_PINTABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinTypeGPIO \
((void (*)(unsigned long ulPin, \
unsigned long ulPinMode, \
tBoolean bOpenDrain))ROM_PINTABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinTypeADC \
((void (*)(unsigned long ulPin, \
unsigned long ulPinMode))ROM_PINTABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PinTypeSDHost \
((void (*)(unsigned long ulPin, \
unsigned long ulPinMode))ROM_PINTABLE[14])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the SYSTICK API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_SysTickEnable \
((void (*)(void))ROM_SYSTICKTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SysTickDisable \
((void (*)(void))ROM_SYSTICKTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SysTickIntRegister \
((void (*)(void (*pfnHandler)(void)))ROM_SYSTICKTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SysTickIntUnregister \
((void (*)(void))ROM_SYSTICKTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SysTickIntEnable \
((void (*)(void))ROM_SYSTICKTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SysTickIntDisable \
((void (*)(void))ROM_SYSTICKTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SysTickPeriodSet \
((void (*)(unsigned long ulPeriod))ROM_SYSTICKTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SysTickPeriodGet \
((unsigned long (*)(void))ROM_SYSTICKTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SysTickValueGet \
((unsigned long (*)(void))ROM_SYSTICKTABLE[8])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the UTILS API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_UtilsDelay \
((void (*)(unsigned long ulCount))ROM_UTILSTABLE[0])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the I2S API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_I2SEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulMode))ROM_I2STABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SDisable \
((void (*)(unsigned long ulBase))ROM_I2STABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SDataPut \
((void (*)(unsigned long ulBase, \
unsigned long ulDataLine, \
unsigned long ulData))ROM_I2STABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SDataPutNonBlocking \
((long (*)(unsigned long ulBase, \
unsigned long ulDataLine, \
unsigned long ulData))ROM_I2STABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SDataGet \
((void (*)(unsigned long ulBase, \
unsigned long ulDataLine, \
unsigned long *pulData))ROM_I2STABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SDataGetNonBlocking \
((long (*)(unsigned long ulBase, \
unsigned long ulDataLine, \
unsigned long *pulData))ROM_I2STABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SConfigSetExpClk \
((void (*)(unsigned long ulBase, \
unsigned long ulI2SClk, \
unsigned long ulBitClk, \
unsigned long ulConfig))ROM_I2STABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2STxFIFOEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulTxLevel, \
unsigned long ulWordsPerTransfer))ROM_I2STABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2STxFIFODisable \
((void (*)(unsigned long ulBase))ROM_I2STABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SRxFIFOEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulRxLevel, \
unsigned long ulWordsPerTransfer))ROM_I2STABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SRxFIFODisable \
((void (*)(unsigned long ulBase))ROM_I2STABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2STxFIFOStatusGet \
((unsigned long (*)(unsigned long ulBase))ROM_I2STABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SRxFIFOStatusGet \
((unsigned long (*)(unsigned long ulBase))ROM_I2STABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SSerializerConfig \
((void (*)(unsigned long ulBase, \
unsigned long ulDataLine, \
unsigned long ulSerMode, \
unsigned long ulInActState))ROM_I2STABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SIntEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_I2STABLE[14])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SIntDisable \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_I2STABLE[15])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SIntStatus \
((unsigned long (*)(unsigned long ulBase))ROM_I2STABLE[16])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SIntClear \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_I2STABLE[17])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SIntRegister \
((void (*)(unsigned long ulBase, \
void (*pfnHandler)(void)))ROM_I2STABLE[18])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_I2SIntUnregister \
((void (*)(unsigned long ulBase))ROM_I2STABLE[19])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the GPIO API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_GPIODirModeSet \
((void (*)(unsigned long ulPort, \
unsigned char ucPins, \
unsigned long ulPinIO))ROM_GPIOTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_GPIODirModeGet \
((unsigned long (*)(unsigned long ulPort, \
unsigned char ucPin))ROM_GPIOTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_GPIOIntTypeSet \
((void (*)(unsigned long ulPort, \
unsigned char ucPins, \
unsigned long ulIntType))ROM_GPIOTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_GPIODMATriggerEnable \
((void (*)(unsigned long ulPort))ROM_GPIOTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_GPIODMATriggerDisable \
((void (*)(unsigned long ulPort))ROM_GPIOTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_GPIOIntTypeGet \
((unsigned long (*)(unsigned long ulPort, \
unsigned char ucPin))ROM_GPIOTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_GPIOIntEnable \
((void (*)(unsigned long ulPort, \
unsigned long ulIntFlags))ROM_GPIOTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_GPIOIntDisable \
((void (*)(unsigned long ulPort, \
unsigned long ulIntFlags))ROM_GPIOTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_GPIOIntStatus \
((long (*)(unsigned long ulPort, \
tBoolean bMasked))ROM_GPIOTABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_GPIOIntClear \
((void (*)(unsigned long ulPort, \
unsigned long ulIntFlags))ROM_GPIOTABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_GPIOIntRegister \
((void (*)(unsigned long ulPort, \
void (*pfnIntHandler)(void)))ROM_GPIOTABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_GPIOIntUnregister \
((void (*)(unsigned long ulPort))ROM_GPIOTABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_GPIOPinRead \
((long (*)(unsigned long ulPort, \
unsigned char ucPins))ROM_GPIOTABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_GPIOPinWrite \
((void (*)(unsigned long ulPort, \
unsigned char ucPins, \
unsigned char ucVal))ROM_GPIOTABLE[13])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the AES API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_AESConfigSet \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Config))ROM_AESTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESKey1Set \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8Key, \
uint32_t ui32Keysize))ROM_AESTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESKey2Set \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8Key, \
uint32_t ui32Keysize))ROM_AESTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESKey3Set \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8Key))ROM_AESTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESIVSet \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8IVdata))ROM_AESTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESTagRead \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8TagData))ROM_AESTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESDataLengthSet \
((void (*)(uint32_t ui32Base, \
uint64_t ui64Length))ROM_AESTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESAuthDataLengthSet \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Length))ROM_AESTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESDataReadNonBlocking \
((bool (*)(uint32_t ui32Base, \
uint8_t *pui8Dest, \
uint8_t ui8Length))ROM_AESTABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESDataRead \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8Dest, \
uint8_t ui8Length))ROM_AESTABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESDataWriteNonBlocking \
((bool (*)(uint32_t ui32Base, \
uint8_t *pui8Src, \
uint8_t ui8Length))ROM_AESTABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESDataWrite \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8Src, \
uint8_t ui8Length))ROM_AESTABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESDataProcess \
((bool (*)(uint32_t ui32Base, \
uint8_t *pui8Src, \
uint8_t *pui8Dest, \
uint32_t ui32Length))ROM_AESTABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESDataMAC \
((bool (*)(uint32_t ui32Base, \
uint8_t *pui8Src, \
uint32_t ui32Length, \
uint8_t *pui8Tag))ROM_AESTABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESDataProcessAE \
((bool (*)(uint32_t ui32Base, \
uint8_t *pui8Src, \
uint8_t *pui8Dest, \
uint32_t ui32Length, \
uint8_t *pui8AuthSrc, \
uint32_t ui32AuthLength, \
uint8_t *pui8Tag))ROM_AESTABLE[14])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESIntStatus \
((uint32_t (*)(uint32_t ui32Base, \
bool bMasked))ROM_AESTABLE[15])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESIntEnable \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_AESTABLE[16])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESIntDisable \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_AESTABLE[17])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESIntClear \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_AESTABLE[18])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESIntRegister \
((void (*)(uint32_t ui32Base, \
void(*pfnHandler)(void)))ROM_AESTABLE[19])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESIntUnregister \
((void (*)(uint32_t ui32Base))ROM_AESTABLE[20])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESDMAEnable \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Flags))ROM_AESTABLE[21])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_AESDMADisable \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Flags))ROM_AESTABLE[22])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the DES API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_DESConfigSet \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Config))ROM_DESTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESDataRead \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8Dest, \
uint8_t ui8Length))ROM_DESTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESDataReadNonBlocking \
((bool (*)(uint32_t ui32Base, \
uint8_t *pui8Dest, \
uint8_t ui8Length))ROM_DESTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESDataProcess \
((bool (*)(uint32_t ui32Base, \
uint8_t *pui8Src, \
uint8_t *pui8Dest, \
uint32_t ui32Length))ROM_DESTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESDataWrite \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8Src, \
uint8_t ui8Length))ROM_DESTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESDataWriteNonBlocking \
((bool (*)(uint32_t ui32Base, \
uint8_t *pui8Src, \
uint8_t ui8Length))ROM_DESTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESDMADisable \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Flags))ROM_DESTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESDMAEnable \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Flags))ROM_DESTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESIntClear \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_DESTABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESIntDisable \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_DESTABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESIntEnable \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_DESTABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESIntRegister \
((void (*)(uint32_t ui32Base, \
void(*pfnHandler)(void)))ROM_DESTABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESIntStatus \
((uint32_t (*)(uint32_t ui32Base, \
bool bMasked))ROM_DESTABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESIntUnregister \
((void (*)(uint32_t ui32Base))ROM_DESTABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESIVSet \
((bool (*)(uint32_t ui32Base, \
uint8_t *pui8IVdata))ROM_DESTABLE[14])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESKeySet \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8Key))ROM_DESTABLE[15])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_DESDataLengthSet \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Length))ROM_DESTABLE[16])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the SHAMD5 API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5ConfigSet \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Mode))ROM_SHAMD5TABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5DataProcess \
((bool (*)(uint32_t ui32Base, \
uint8_t *pui8DataSrc, \
uint32_t ui32DataLength, \
uint8_t *pui8HashResult))ROM_SHAMD5TABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5DataWrite \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8Src))ROM_SHAMD5TABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5DataWriteNonBlocking \
((bool (*)(uint32_t ui32Base, \
uint8_t *pui8Src))ROM_SHAMD5TABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5DMADisable \
((void (*)(uint32_t ui32Base))ROM_SHAMD5TABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5DMAEnable \
((void (*)(uint32_t ui32Base))ROM_SHAMD5TABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5DataLengthSet \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Length))ROM_SHAMD5TABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5HMACKeySet \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8Src))ROM_SHAMD5TABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5HMACPPKeyGenerate \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8Key, \
uint8_t *pui8PPKey))ROM_SHAMD5TABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5HMACPPKeySet \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8Src))ROM_SHAMD5TABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5HMACProcess \
((bool (*)(uint32_t ui32Base, \
uint8_t *pui8DataSrc, \
uint32_t ui32DataLength, \
uint8_t *pui8HashResult))ROM_SHAMD5TABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5IntClear \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_SHAMD5TABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5IntDisable \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_SHAMD5TABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5IntEnable \
((void (*)(uint32_t ui32Base, \
uint32_t ui32IntFlags))ROM_SHAMD5TABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5IntRegister \
((void (*)(uint32_t ui32Base, \
void(*pfnHandler)(void)))ROM_SHAMD5TABLE[14])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5IntStatus \
((uint32_t (*)(uint32_t ui32Base, \
bool bMasked))ROM_SHAMD5TABLE[15])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5IntUnregister \
((void (*)(uint32_t ui32Base))ROM_SHAMD5TABLE[16])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SHAMD5ResultRead \
((void (*)(uint32_t ui32Base, \
uint8_t *pui8Dest))ROM_SHAMD5TABLE[17])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the CRC API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_CRCConfigSet \
((void (*)(uint32_t ui32Base, \
uint32_t ui32CRCConfig))ROM_CRCTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CRCDataProcess \
((uint32_t (*)(uint32_t ui32Base, \
void *puiDataIn, \
uint32_t ui32DataLength, \
uint32_t ui32Config))ROM_CRCTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CRCDataWrite \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Data))ROM_CRCTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CRCResultRead \
((uint32_t (*)(uint32_t ui32Base))ROM_CRCTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_CRCSeedSet \
((void (*)(uint32_t ui32Base, \
uint32_t ui32Seed))ROM_CRCTABLE[4])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the SDHOST API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostCmdReset \
((void (*)(unsigned long ulBase))ROM_SDHOSTTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostInit \
((void (*)(unsigned long ulBase))ROM_SDHOSTTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostCmdSend \
((long (*)(unsigned long ulBase, \
unsigned long ulCmd, \
unsigned ulArg))ROM_SDHOSTTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostIntRegister \
((void (*)(unsigned long ulBase, \
void (*pfnHandler)(void)))ROM_SDHOSTTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostIntUnregister \
((void (*)(unsigned long ulBase))ROM_SDHOSTTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostIntEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_SDHOSTTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostIntDisable \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_SDHOSTTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostIntStatus \
((unsigned long (*)(unsigned long ulBase))ROM_SDHOSTTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostIntClear \
((void (*)(unsigned long ulBase, \
unsigned long ulIntFlags))ROM_SDHOSTTABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostRespStatus \
((unsigned long (*)(unsigned long ulBase))ROM_SDHOSTTABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostRespGet \
((void (*)(unsigned long ulBase, \
unsigned long ulRespnse[4]))ROM_SDHOSTTABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostBlockSizeSet \
((void (*)(unsigned long ulBase, \
unsigned short ulBlkSize))ROM_SDHOSTTABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostBlockCountSet \
((void (*)(unsigned long ulBase, \
unsigned short ulBlkCount))ROM_SDHOSTTABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostDataNonBlockingWrite \
((tBoolean (*)(unsigned long ulBase, \
unsigned long ulData))ROM_SDHOSTTABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostDataNonBlockingRead \
((tBoolean (*)(unsigned long ulBase, \
unsigned long *pulData))ROM_SDHOSTTABLE[14])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostDataWrite \
((void (*)(unsigned long ulBase, \
unsigned long ulData))ROM_SDHOSTTABLE[15])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostDataRead \
((void (*)(unsigned long ulBase, \
unsigned long *ulData))ROM_SDHOSTTABLE[16])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_SDHostSetExpClk \
((void (*)(unsigned long ulBase, \
unsigned long ulSDHostClk, \
unsigned long ulCardClk))ROM_SDHOSTTABLE[17])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the PRCM API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMMCUReset \
((void (*)(tBoolean bIncludeSubsystem))ROM_PRCMTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMSysResetCauseGet \
((unsigned long (*)(void))ROM_PRCMTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMPeripheralClkEnable \
((void (*)(unsigned long ulPeripheral, \
unsigned long ulClkFlags))ROM_PRCMTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMPeripheralClkDisable \
((void (*)(unsigned long ulPeripheral, \
unsigned long ulClkFlags))ROM_PRCMTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMPeripheralReset \
((void (*)(unsigned long ulPeripheral))ROM_PRCMTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMPeripheralStatusGet \
((tBoolean (*)(unsigned long ulPeripheral))ROM_PRCMTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMI2SClockFreqSet \
((void (*)(unsigned long ulI2CClkFreq))ROM_PRCMTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMPeripheralClockGet \
((unsigned long (*)(unsigned long ulPeripheral))ROM_PRCMTABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMSleepEnter \
((void (*)(void))ROM_PRCMTABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMDeepSleepEnter \
((void (*)(void))ROM_PRCMTABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMSRAMRetentionEnable \
((void (*)(unsigned long ulSramColSel, \
unsigned long ulFlags))ROM_PRCMTABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMSRAMRetentionDisable \
((void (*)(unsigned long ulSramColSel, \
unsigned long ulFlags))ROM_PRCMTABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMLPDSEnter \
((void (*)(void))ROM_PRCMTABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMLPDSIntervalSet \
((void (*)(unsigned long ulTicks))ROM_PRCMTABLE[14])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMLPDSWakeupSourceEnable \
((void (*)(unsigned long ulLpdsWakeupSrc))ROM_PRCMTABLE[15])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMLPDSWakeupCauseGet \
((unsigned long (*)(void))ROM_PRCMTABLE[16])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMLPDSWakeUpGPIOSelect \
((void (*)(unsigned long ulGPIOPin, \
unsigned long ulType))ROM_PRCMTABLE[17])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMLPDSWakeupSourceDisable \
((void (*)(unsigned long ulLpdsWakeupSrc))ROM_PRCMTABLE[18])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMHibernateEnter \
((void (*)(void))ROM_PRCMTABLE[19])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMHibernateWakeupSourceEnable \
((void (*)(unsigned long ulHIBWakupSrc))ROM_PRCMTABLE[20])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMHibernateWakeupCauseGet \
((unsigned long (*)(void))ROM_PRCMTABLE[21])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMHibernateWakeUpGPIOSelect \
((void (*)(unsigned long ulMultiGPIOBitMap, \
unsigned long ulType))ROM_PRCMTABLE[22])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMHibernateWakeupSourceDisable \
((void (*)(unsigned long ulHIBWakupSrc))ROM_PRCMTABLE[23])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMHibernateIntervalSet \
((void (*)(unsigned long long ullTicks))ROM_PRCMTABLE[24])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMSlowClkCtrGet \
((unsigned long long (*)(void))ROM_PRCMTABLE[25])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMSlowClkCtrMatchSet \
((void (*)(unsigned long long ullTicks))ROM_PRCMTABLE[26])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMSlowClkCtrMatchGet \
((unsigned long long (*)(void))ROM_PRCMTABLE[27])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMOCRRegisterWrite \
((void (*)(unsigned char ucIndex, \
unsigned long ulRegValue))ROM_PRCMTABLE[28])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMOCRRegisterRead \
((unsigned long (*)(unsigned char ucIndex))ROM_PRCMTABLE[29])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMIntRegister \
((void (*)(void (*pfnHandler)(void)))ROM_PRCMTABLE[30])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMIntUnregister \
((void (*)(void))ROM_PRCMTABLE[31])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMIntEnable \
((void (*)(unsigned long ulIntFlags))ROM_PRCMTABLE[32])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMIntDisable \
((void (*)(unsigned long ulIntFlags))ROM_PRCMTABLE[33])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMIntStatus \
((unsigned long (*)(void))ROM_PRCMTABLE[34])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMRTCInUseSet \
((void (*)(void))ROM_PRCMTABLE[35])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMRTCInUseGet \
((tBoolean (*)(void))ROM_PRCMTABLE[36])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMRTCSet \
((void (*)(unsigned long ulSecs, \
unsigned short usMsec))ROM_PRCMTABLE[37])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMRTCGet \
((void (*)(unsigned long *ulSecs, \
unsigned short *usMsec))ROM_PRCMTABLE[38])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMRTCMatchSet \
((void (*)(unsigned long ulSecs, \
unsigned short usMsec))ROM_PRCMTABLE[39])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMRTCMatchGet \
((void (*)(unsigned long *ulSecs, \
unsigned short *usMsec))ROM_PRCMTABLE[40])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_PRCMLPDSRestoreInfoSet \
((void (*)(unsigned long ulRestoreSP, \
unsigned long ulRestorePC))ROM_PRCMTABLE[41])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the HWSPINLOCK API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_HwSpinLockAcquire \
((void (*)(uint32_t ui32LockID))ROM_HWSPINLOCKTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_HwSpinLockTryAcquire \
((int32_t (*)(uint32_t ui32LockID, \
uint32_t ui32Retry))ROM_HWSPINLOCKTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_HwSpinLockRelease \
((void (*)(uint32_t ui32LockID))ROM_HWSPINLOCKTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_HwSpinLockTest \
((uint32_t (*)(uint32_t ui32LockID, \
bool bCurrentStatus))ROM_HWSPINLOCKTABLE[3])
#endif
//*****************************************************************************
//
// Macros for calling ROM functions in the ADC API.
//
//*****************************************************************************
#if defined(TARGET_IS_CC3200)
#define ROM_ADCEnable \
((void (*)(unsigned long ulBase))ROM_ADCTABLE[0])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCDisable \
((void (*)(unsigned long ulBase))ROM_ADCTABLE[1])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCChannelEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulChannel))ROM_ADCTABLE[2])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCChannelDisable \
((void (*)(unsigned long ulBase, \
unsigned long ulChannel))ROM_ADCTABLE[3])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCIntRegister \
((void (*)(unsigned long ulBase, \
unsigned long ulChannel, \
void (*pfnHandler)(void)))ROM_ADCTABLE[4])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCIntUnregister \
((void (*)(unsigned long ulBase, \
unsigned long ulChannel))ROM_ADCTABLE[5])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCIntEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulChannel, \
unsigned long ulIntFlags))ROM_ADCTABLE[6])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCIntDisable \
((void (*)(unsigned long ulBase, \
unsigned long ulChannel, \
unsigned long ulIntFlags))ROM_ADCTABLE[7])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCIntStatus \
((unsigned long (*)(unsigned long ulBase, \
unsigned long ulChannel))ROM_ADCTABLE[8])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCIntClear \
((void (*)(unsigned long ulBase, \
unsigned long ulChannel, \
unsigned long ulIntFlags))ROM_ADCTABLE[9])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCDMAEnable \
((void (*)(unsigned long ulBase, \
unsigned long ulChannel))ROM_ADCTABLE[10])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCDMADisable \
((void (*)(unsigned long ulBase, \
unsigned long ulChannel))ROM_ADCTABLE[11])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCChannelGainSet \
((void (*)(unsigned long ulBase, \
unsigned long ulChannel, \
unsigned char ucGain))ROM_ADCTABLE[12])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCChannleGainGet \
((unsigned char (*)(unsigned long ulBase, \
unsigned long ulChannel))ROM_ADCTABLE[13])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCTimerConfig \
((void (*)(unsigned long ulBase, \
unsigned long ulValue))ROM_ADCTABLE[14])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCTimerEnable \
((void (*)(unsigned long ulBase))ROM_ADCTABLE[15])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCTimerDisable \
((void (*)(unsigned long ulBase))ROM_ADCTABLE[16])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCTimerReset \
((void (*)(unsigned long ulBase))ROM_ADCTABLE[17])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCTimerValueGet \
((unsigned long (*)(unsigned long ulBase))ROM_ADCTABLE[18])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCFIFOLvlGet \
((unsigned char (*)(unsigned long ulBase, \
unsigned long ulChannel))ROM_ADCTABLE[19])
#endif
#if defined(TARGET_IS_CC3200)
#define ROM_ADCFIFORead \
((unsigned long (*)(unsigned long ulBase, \
unsigned long ulChannel))ROM_ADCTABLE[20])
#endif
#endif // __ROM_H__