1*5fd0122aSMatthias Ringwald /* --COPYRIGHT--,BSD 2*5fd0122aSMatthias Ringwald * Copyright (c) 2017, Texas Instruments Incorporated 3*5fd0122aSMatthias Ringwald * All rights reserved. 4*5fd0122aSMatthias Ringwald * 5*5fd0122aSMatthias Ringwald * Redistribution and use in source and binary forms, with or without 6*5fd0122aSMatthias Ringwald * modification, are permitted provided that the following conditions 7*5fd0122aSMatthias Ringwald * are met: 8*5fd0122aSMatthias Ringwald * 9*5fd0122aSMatthias Ringwald * * Redistributions of source code must retain the above copyright 10*5fd0122aSMatthias Ringwald * notice, this list of conditions and the following disclaimer. 11*5fd0122aSMatthias Ringwald * 12*5fd0122aSMatthias Ringwald * * Redistributions in binary form must reproduce the above copyright 13*5fd0122aSMatthias Ringwald * notice, this list of conditions and the following disclaimer in the 14*5fd0122aSMatthias Ringwald * documentation and/or other materials provided with the distribution. 15*5fd0122aSMatthias Ringwald * 16*5fd0122aSMatthias Ringwald * * Neither the name of Texas Instruments Incorporated nor the names of 17*5fd0122aSMatthias Ringwald * its contributors may be used to endorse or promote products derived 18*5fd0122aSMatthias Ringwald * from this software without specific prior written permission. 19*5fd0122aSMatthias Ringwald * 20*5fd0122aSMatthias Ringwald * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21*5fd0122aSMatthias Ringwald * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 22*5fd0122aSMatthias Ringwald * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23*5fd0122aSMatthias Ringwald * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24*5fd0122aSMatthias Ringwald * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25*5fd0122aSMatthias Ringwald * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26*5fd0122aSMatthias Ringwald * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 27*5fd0122aSMatthias Ringwald * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 28*5fd0122aSMatthias Ringwald * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 29*5fd0122aSMatthias Ringwald * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 30*5fd0122aSMatthias Ringwald * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31*5fd0122aSMatthias Ringwald * --/COPYRIGHT--*/ 32*5fd0122aSMatthias Ringwald #ifndef __ROM_H__ 33*5fd0122aSMatthias Ringwald #define __ROM_H__ 34*5fd0122aSMatthias Ringwald 35*5fd0122aSMatthias Ringwald //***************************************************************************** 36*5fd0122aSMatthias Ringwald // 37*5fd0122aSMatthias Ringwald // Pointers to the main API tables. 38*5fd0122aSMatthias Ringwald // 39*5fd0122aSMatthias Ringwald //***************************************************************************** 40*5fd0122aSMatthias Ringwald #define ROM_APITABLE ((unsigned long *)0x02000800) 41*5fd0122aSMatthias Ringwald #define ROM_VERSION (ROM_APITABLE[0]) 42*5fd0122aSMatthias Ringwald #define ROM_ADC14TABLE ((unsigned long *)(ROM_APITABLE[1])) 43*5fd0122aSMatthias Ringwald #define ROM_AES256TABLE ((unsigned long *)(ROM_APITABLE[2])) 44*5fd0122aSMatthias Ringwald #define ROM_COMPTABLE ((unsigned long *)(ROM_APITABLE[3])) 45*5fd0122aSMatthias Ringwald #define ROM_CRC32TABLE ((unsigned long *)(ROM_APITABLE[4])) 46*5fd0122aSMatthias Ringwald #define ROM_CSTABLE ((unsigned long *)(ROM_APITABLE[5])) 47*5fd0122aSMatthias Ringwald #define ROM_DMATABLE ((unsigned long *)(ROM_APITABLE[6])) 48*5fd0122aSMatthias Ringwald #define ROM_FLASHCTLTABLE ((unsigned long *)(ROM_APITABLE[7])) 49*5fd0122aSMatthias Ringwald #define ROM_FPUTABLE ((unsigned long *)(ROM_APITABLE[8])) 50*5fd0122aSMatthias Ringwald #define ROM_GPIOTABLE ((unsigned long *)(ROM_APITABLE[9])) 51*5fd0122aSMatthias Ringwald #define ROM_I2CTABLE ((unsigned long *)(ROM_APITABLE[10])) 52*5fd0122aSMatthias Ringwald #define ROM_INTTABLE ((unsigned long *)(ROM_APITABLE[11])) 53*5fd0122aSMatthias Ringwald #define ROM_MPUTABLE ((unsigned long *)(ROM_APITABLE[12])) 54*5fd0122aSMatthias Ringwald #define ROM_PCMTABLE ((unsigned long *)(ROM_APITABLE[13])) 55*5fd0122aSMatthias Ringwald #define ROM_PMAPTABLE ((unsigned long *)(ROM_APITABLE[14])) 56*5fd0122aSMatthias Ringwald #define ROM_PSSTABLE ((unsigned long *)(ROM_APITABLE[15])) 57*5fd0122aSMatthias Ringwald #define ROM_REFTABLE ((unsigned long *)(ROM_APITABLE[16])) 58*5fd0122aSMatthias Ringwald #define ROM_RESETCTLTABLE ((unsigned long *)(ROM_APITABLE[17])) 59*5fd0122aSMatthias Ringwald #define ROM_RTCTABLE ((unsigned long *)(ROM_APITABLE[18])) 60*5fd0122aSMatthias Ringwald #define ROM_SPITABLE ((unsigned long *)(ROM_APITABLE[19])) 61*5fd0122aSMatthias Ringwald #define ROM_SYSCTLTABLE ((unsigned long *)(ROM_APITABLE[20])) 62*5fd0122aSMatthias Ringwald #define ROM_SYSTICKTABLE ((unsigned long *)(ROM_APITABLE[21])) 63*5fd0122aSMatthias Ringwald #define ROM_TIMER_ATABLE ((unsigned long *)(ROM_APITABLE[22])) 64*5fd0122aSMatthias Ringwald #define ROM_TIMER32TABLE ((unsigned long *)(ROM_APITABLE[23])) 65*5fd0122aSMatthias Ringwald #define ROM_UARTTABLE ((unsigned long *)(ROM_APITABLE[24])) 66*5fd0122aSMatthias Ringwald #define ROM_WDTTABLE ((unsigned long *)(ROM_APITABLE[25])) 67*5fd0122aSMatthias Ringwald #define ROM_SYSCTLATABLE ((unsigned long *)(ROM_APITABLE[26])) 68*5fd0122aSMatthias Ringwald #define ROM_FLASHCTLATABLE ((unsigned long *)(ROM_APITABLE[27])) 69*5fd0122aSMatthias Ringwald #define ROM_LCDFTABLE ((unsigned long *)(ROM_APITABLE[28])) 70*5fd0122aSMatthias Ringwald 71*5fd0122aSMatthias Ringwald #if defined(__MSP432P401R__) || defined(__MSP432P401M__) 72*5fd0122aSMatthias Ringwald #define TARGET_IS_MSP432P4XX 73*5fd0122aSMatthias Ringwald #else 74*5fd0122aSMatthias Ringwald #define TARGET_IS_MSP432P4XX_NEXT 75*5fd0122aSMatthias Ringwald #endif 76*5fd0122aSMatthias Ringwald 77*5fd0122aSMatthias Ringwald //***************************************************************************** 78*5fd0122aSMatthias Ringwald // 79*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the ADC14 API. 80*5fd0122aSMatthias Ringwald // 81*5fd0122aSMatthias Ringwald //***************************************************************************** 82*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 83*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 84*5fd0122aSMatthias Ringwald #define ROM_ADC14_enableModule \ 85*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_ADC14TABLE[0]) 86*5fd0122aSMatthias Ringwald #endif 87*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 88*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 89*5fd0122aSMatthias Ringwald #define ROM_ADC14_disableModule \ 90*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_ADC14TABLE[1]) 91*5fd0122aSMatthias Ringwald #endif 92*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 93*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 94*5fd0122aSMatthias Ringwald #define ROM_ADC14_initModule \ 95*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t clockSource, \ 96*5fd0122aSMatthias Ringwald uint32_t clockPredivider, \ 97*5fd0122aSMatthias Ringwald uint32_t clockDivider, \ 98*5fd0122aSMatthias Ringwald uint32_t internalChannelMask))ROM_ADC14TABLE[2]) 99*5fd0122aSMatthias Ringwald #endif 100*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 101*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 102*5fd0122aSMatthias Ringwald #define ROM_ADC14_setResolution \ 103*5fd0122aSMatthias Ringwald ((void (*)(uint32_t resolution))ROM_ADC14TABLE[3]) 104*5fd0122aSMatthias Ringwald #endif 105*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 106*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 107*5fd0122aSMatthias Ringwald #define ROM_ADC14_getResolution \ 108*5fd0122aSMatthias Ringwald ((uint_fast32_t (*)(void))ROM_ADC14TABLE[4]) 109*5fd0122aSMatthias Ringwald #endif 110*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 111*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 112*5fd0122aSMatthias Ringwald #define ROM_ADC14_setSampleHoldTrigger \ 113*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t source, \ 114*5fd0122aSMatthias Ringwald bool invertSignal))ROM_ADC14TABLE[5]) 115*5fd0122aSMatthias Ringwald #endif 116*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 117*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 118*5fd0122aSMatthias Ringwald #define ROM_ADC14_setSampleHoldTime \ 119*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t firstPulseWidth, \ 120*5fd0122aSMatthias Ringwald uint32_t secondPulseWidth))ROM_ADC14TABLE[6]) 121*5fd0122aSMatthias Ringwald #endif 122*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 123*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 124*5fd0122aSMatthias Ringwald #define ROM_ADC14_configureSingleSampleMode \ 125*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t memoryDestination, \ 126*5fd0122aSMatthias Ringwald bool repeatMode))ROM_ADC14TABLE[8]) 127*5fd0122aSMatthias Ringwald #endif 128*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 129*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 130*5fd0122aSMatthias Ringwald #define ROM_ADC14_enableConversion \ 131*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_ADC14TABLE[9]) 132*5fd0122aSMatthias Ringwald #endif 133*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 134*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 135*5fd0122aSMatthias Ringwald #define ROM_ADC14_disableConversion \ 136*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_ADC14TABLE[10]) 137*5fd0122aSMatthias Ringwald #endif 138*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 139*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 140*5fd0122aSMatthias Ringwald #define ROM_ADC14_isBusy \ 141*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_ADC14TABLE[11]) 142*5fd0122aSMatthias Ringwald #endif 143*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 144*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 145*5fd0122aSMatthias Ringwald #define ROM_ADC14_disableComparatorWindow \ 146*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t memorySelect))ROM_ADC14TABLE[14]) 147*5fd0122aSMatthias Ringwald #endif 148*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 149*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 150*5fd0122aSMatthias Ringwald #define ROM_ADC14_setComparatorWindowValue \ 151*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t window, \ 152*5fd0122aSMatthias Ringwald int16_t low, \ 153*5fd0122aSMatthias Ringwald int16_t high))ROM_ADC14TABLE[15]) 154*5fd0122aSMatthias Ringwald #endif 155*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 156*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 157*5fd0122aSMatthias Ringwald #define ROM_ADC14_setResultFormat \ 158*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t resultFormat))ROM_ADC14TABLE[16]) 159*5fd0122aSMatthias Ringwald #endif 160*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 161*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 162*5fd0122aSMatthias Ringwald #define ROM_ADC14_enableReferenceBurst \ 163*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_ADC14TABLE[20]) 164*5fd0122aSMatthias Ringwald #endif 165*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 166*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 167*5fd0122aSMatthias Ringwald #define ROM_ADC14_disableReferenceBurst \ 168*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_ADC14TABLE[21]) 169*5fd0122aSMatthias Ringwald #endif 170*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 171*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 172*5fd0122aSMatthias Ringwald #define ROM_ADC14_setPowerMode \ 173*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t powerMode))ROM_ADC14TABLE[22]) 174*5fd0122aSMatthias Ringwald #endif 175*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 176*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 177*5fd0122aSMatthias Ringwald #define ROM_ADC14_enableInterrupt \ 178*5fd0122aSMatthias Ringwald ((void (*)(uint_fast64_t mask))ROM_ADC14TABLE[23]) 179*5fd0122aSMatthias Ringwald #endif 180*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 181*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 182*5fd0122aSMatthias Ringwald #define ROM_ADC14_disableInterrupt \ 183*5fd0122aSMatthias Ringwald ((void (*)(uint_fast64_t mask))ROM_ADC14TABLE[24]) 184*5fd0122aSMatthias Ringwald #endif 185*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 186*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 187*5fd0122aSMatthias Ringwald #define ROM_ADC14_getInterruptStatus \ 188*5fd0122aSMatthias Ringwald ((uint_fast64_t (*)(void))ROM_ADC14TABLE[25]) 189*5fd0122aSMatthias Ringwald #endif 190*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 191*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 192*5fd0122aSMatthias Ringwald #define ROM_ADC14_getEnabledInterruptStatus \ 193*5fd0122aSMatthias Ringwald ((uint_fast64_t (*)(void))ROM_ADC14TABLE[26]) 194*5fd0122aSMatthias Ringwald #endif 195*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 196*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 197*5fd0122aSMatthias Ringwald #define ROM_ADC14_clearInterruptFlag \ 198*5fd0122aSMatthias Ringwald ((void (*)(uint_fast64_t mask))ROM_ADC14TABLE[27]) 199*5fd0122aSMatthias Ringwald #endif 200*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 201*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 202*5fd0122aSMatthias Ringwald #define ROM_ADC14_toggleConversionTrigger \ 203*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_ADC14TABLE[28]) 204*5fd0122aSMatthias Ringwald #endif 205*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 206*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 207*5fd0122aSMatthias Ringwald #define ROM_ADC14_enableSampleTimer \ 208*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t multiSampleConvert))ROM_ADC14TABLE[29]) 209*5fd0122aSMatthias Ringwald #endif 210*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 211*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 212*5fd0122aSMatthias Ringwald #define ROM_ADC14_disableSampleTimer \ 213*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_ADC14TABLE[30]) 214*5fd0122aSMatthias Ringwald #endif 215*5fd0122aSMatthias Ringwald 216*5fd0122aSMatthias Ringwald //***************************************************************************** 217*5fd0122aSMatthias Ringwald // 218*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the AES256 API. 219*5fd0122aSMatthias Ringwald // 220*5fd0122aSMatthias Ringwald //***************************************************************************** 221*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 222*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 223*5fd0122aSMatthias Ringwald #define ROM_AES256_setCipherKey \ 224*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t moduleInstance, \ 225*5fd0122aSMatthias Ringwald const uint8_t *cipherKey, \ 226*5fd0122aSMatthias Ringwald uint_fast16_t keyLength))ROM_AES256TABLE[0]) 227*5fd0122aSMatthias Ringwald #endif 228*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 229*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 230*5fd0122aSMatthias Ringwald #define ROM_AES256_encryptData \ 231*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 232*5fd0122aSMatthias Ringwald const uint8_t *data, \ 233*5fd0122aSMatthias Ringwald uint8_t *encryptedData))ROM_AES256TABLE[1]) 234*5fd0122aSMatthias Ringwald #endif 235*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 236*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 237*5fd0122aSMatthias Ringwald #define ROM_AES256_decryptData \ 238*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 239*5fd0122aSMatthias Ringwald const uint8_t *data, \ 240*5fd0122aSMatthias Ringwald uint8_t *decryptedData))ROM_AES256TABLE[2]) 241*5fd0122aSMatthias Ringwald #endif 242*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 243*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 244*5fd0122aSMatthias Ringwald #define ROM_AES256_setDecipherKey \ 245*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t moduleInstance, \ 246*5fd0122aSMatthias Ringwald const uint8_t *cipherKey, \ 247*5fd0122aSMatthias Ringwald uint_fast16_t keyLength))ROM_AES256TABLE[3]) 248*5fd0122aSMatthias Ringwald #endif 249*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 250*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 251*5fd0122aSMatthias Ringwald #define ROM_AES256_reset \ 252*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[4]) 253*5fd0122aSMatthias Ringwald #endif 254*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 255*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 256*5fd0122aSMatthias Ringwald #define ROM_AES256_startEncryptData \ 257*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 258*5fd0122aSMatthias Ringwald const uint8_t *data))ROM_AES256TABLE[5]) 259*5fd0122aSMatthias Ringwald #endif 260*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 261*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 262*5fd0122aSMatthias Ringwald #define ROM_AES256_startDecryptData \ 263*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 264*5fd0122aSMatthias Ringwald const uint8_t *data))ROM_AES256TABLE[6]) 265*5fd0122aSMatthias Ringwald #endif 266*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 267*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 268*5fd0122aSMatthias Ringwald #define ROM_AES256_startSetDecipherKey \ 269*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t moduleInstance, \ 270*5fd0122aSMatthias Ringwald const uint8_t *cipherKey, \ 271*5fd0122aSMatthias Ringwald uint_fast16_t keyLength))ROM_AES256TABLE[7]) 272*5fd0122aSMatthias Ringwald #endif 273*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 274*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 275*5fd0122aSMatthias Ringwald #define ROM_AES256_getDataOut \ 276*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t moduleInstance, \ 277*5fd0122aSMatthias Ringwald uint8_t *outputData))ROM_AES256TABLE[8]) 278*5fd0122aSMatthias Ringwald #endif 279*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 280*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 281*5fd0122aSMatthias Ringwald #define ROM_AES256_isBusy \ 282*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t moduleInstance))ROM_AES256TABLE[9]) 283*5fd0122aSMatthias Ringwald #endif 284*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 285*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 286*5fd0122aSMatthias Ringwald #define ROM_AES256_clearErrorFlag \ 287*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[10]) 288*5fd0122aSMatthias Ringwald #endif 289*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 290*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 291*5fd0122aSMatthias Ringwald #define ROM_AES256_getErrorFlagStatus \ 292*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t moduleInstance))ROM_AES256TABLE[11]) 293*5fd0122aSMatthias Ringwald #endif 294*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 295*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 296*5fd0122aSMatthias Ringwald #define ROM_AES256_clearInterruptFlag \ 297*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[12]) 298*5fd0122aSMatthias Ringwald #endif 299*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 300*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 301*5fd0122aSMatthias Ringwald #define ROM_AES256_getInterruptStatus \ 302*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t moduleInstance))ROM_AES256TABLE[13]) 303*5fd0122aSMatthias Ringwald #endif 304*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 305*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 306*5fd0122aSMatthias Ringwald #define ROM_AES256_enableInterrupt \ 307*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[14]) 308*5fd0122aSMatthias Ringwald #endif 309*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 310*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 311*5fd0122aSMatthias Ringwald #define ROM_AES256_disableInterrupt \ 312*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[15]) 313*5fd0122aSMatthias Ringwald #endif 314*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 315*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 316*5fd0122aSMatthias Ringwald #define ROM_AES256_getInterruptFlagStatus \ 317*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t moduleInstance))ROM_AES256TABLE[18]) 318*5fd0122aSMatthias Ringwald #endif 319*5fd0122aSMatthias Ringwald 320*5fd0122aSMatthias Ringwald //***************************************************************************** 321*5fd0122aSMatthias Ringwald // 322*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the Comp API. 323*5fd0122aSMatthias Ringwald // 324*5fd0122aSMatthias Ringwald //***************************************************************************** 325*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 326*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 327*5fd0122aSMatthias Ringwald #define ROM_COMP_E_initModule \ 328*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t comparator, \ 329*5fd0122aSMatthias Ringwald const COMP_E_Config *config))ROM_COMPTABLE[0]) 330*5fd0122aSMatthias Ringwald #endif 331*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 332*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 333*5fd0122aSMatthias Ringwald #define ROM_COMP_E_setReferenceVoltage \ 334*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator, \ 335*5fd0122aSMatthias Ringwald uint_fast16_t supplyVoltageReferenceBase, \ 336*5fd0122aSMatthias Ringwald uint_fast16_t lowerLimitSupplyVoltageFractionOf32, \ 337*5fd0122aSMatthias Ringwald uint_fast16_t upperLimitSupplyVoltageFractionOf32))ROM_COMPTABLE[1]) 338*5fd0122aSMatthias Ringwald #endif 339*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 340*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 341*5fd0122aSMatthias Ringwald #define ROM_COMP_E_setReferenceAccuracy \ 342*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator, \ 343*5fd0122aSMatthias Ringwald uint_fast16_t referenceAccuracy))ROM_COMPTABLE[2]) 344*5fd0122aSMatthias Ringwald #endif 345*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 346*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 347*5fd0122aSMatthias Ringwald #define ROM_COMP_E_setPowerMode \ 348*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator, \ 349*5fd0122aSMatthias Ringwald uint_fast16_t powerMode))ROM_COMPTABLE[3]) 350*5fd0122aSMatthias Ringwald #endif 351*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 352*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 353*5fd0122aSMatthias Ringwald #define ROM_COMP_E_enableModule \ 354*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator))ROM_COMPTABLE[4]) 355*5fd0122aSMatthias Ringwald #endif 356*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 357*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 358*5fd0122aSMatthias Ringwald #define ROM_COMP_E_disableModule \ 359*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator))ROM_COMPTABLE[5]) 360*5fd0122aSMatthias Ringwald #endif 361*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 362*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 363*5fd0122aSMatthias Ringwald #define ROM_COMP_E_shortInputs \ 364*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator))ROM_COMPTABLE[6]) 365*5fd0122aSMatthias Ringwald #endif 366*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 367*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 368*5fd0122aSMatthias Ringwald #define ROM_COMP_E_unshortInputs \ 369*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator))ROM_COMPTABLE[7]) 370*5fd0122aSMatthias Ringwald #endif 371*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 372*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 373*5fd0122aSMatthias Ringwald #define ROM_COMP_E_disableInputBuffer \ 374*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator, \ 375*5fd0122aSMatthias Ringwald uint_fast16_t inputPort))ROM_COMPTABLE[8]) 376*5fd0122aSMatthias Ringwald #endif 377*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 378*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 379*5fd0122aSMatthias Ringwald #define ROM_COMP_E_enableInputBuffer \ 380*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator, \ 381*5fd0122aSMatthias Ringwald uint_fast16_t inputPort))ROM_COMPTABLE[9]) 382*5fd0122aSMatthias Ringwald #endif 383*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 384*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 385*5fd0122aSMatthias Ringwald #define ROM_COMP_E_swapIO \ 386*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator))ROM_COMPTABLE[10]) 387*5fd0122aSMatthias Ringwald #endif 388*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 389*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 390*5fd0122aSMatthias Ringwald #define ROM_COMP_E_outputValue \ 391*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint32_t comparator))ROM_COMPTABLE[11]) 392*5fd0122aSMatthias Ringwald #endif 393*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 394*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 395*5fd0122aSMatthias Ringwald #define ROM_COMP_E_enableInterrupt \ 396*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator, \ 397*5fd0122aSMatthias Ringwald uint_fast16_t mask))ROM_COMPTABLE[12]) 398*5fd0122aSMatthias Ringwald #endif 399*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 400*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 401*5fd0122aSMatthias Ringwald #define ROM_COMP_E_disableInterrupt \ 402*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator, \ 403*5fd0122aSMatthias Ringwald uint_fast16_t mask))ROM_COMPTABLE[13]) 404*5fd0122aSMatthias Ringwald #endif 405*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 406*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 407*5fd0122aSMatthias Ringwald #define ROM_COMP_E_clearInterruptFlag \ 408*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator, \ 409*5fd0122aSMatthias Ringwald uint_fast16_t mask))ROM_COMPTABLE[14]) 410*5fd0122aSMatthias Ringwald #endif 411*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 412*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 413*5fd0122aSMatthias Ringwald #define ROM_COMP_E_getInterruptStatus \ 414*5fd0122aSMatthias Ringwald ((uint_fast16_t (*)(uint32_t comparator))ROM_COMPTABLE[15]) 415*5fd0122aSMatthias Ringwald #endif 416*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 417*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 418*5fd0122aSMatthias Ringwald #define ROM_COMP_E_getEnabledInterruptStatus \ 419*5fd0122aSMatthias Ringwald ((uint_fast16_t (*)(uint32_t comparator))ROM_COMPTABLE[16]) 420*5fd0122aSMatthias Ringwald #endif 421*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 422*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 423*5fd0122aSMatthias Ringwald #define ROM_COMP_E_setInterruptEdgeDirection \ 424*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator, \ 425*5fd0122aSMatthias Ringwald uint_fast8_t edgeDirection))ROM_COMPTABLE[17]) 426*5fd0122aSMatthias Ringwald #endif 427*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 428*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 429*5fd0122aSMatthias Ringwald #define ROM_COMP_E_toggleInterruptEdgeDirection \ 430*5fd0122aSMatthias Ringwald ((void (*)(uint32_t comparator))ROM_COMPTABLE[18]) 431*5fd0122aSMatthias Ringwald #endif 432*5fd0122aSMatthias Ringwald 433*5fd0122aSMatthias Ringwald //***************************************************************************** 434*5fd0122aSMatthias Ringwald // 435*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the CRC32 API. 436*5fd0122aSMatthias Ringwald // 437*5fd0122aSMatthias Ringwald //***************************************************************************** 438*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 439*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 440*5fd0122aSMatthias Ringwald #define ROM_CRC32_setSeed \ 441*5fd0122aSMatthias Ringwald ((void (*)(uint32_t seed, \ 442*5fd0122aSMatthias Ringwald uint_fast8_t crcType))ROM_CRC32TABLE[0]) 443*5fd0122aSMatthias Ringwald #endif 444*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 445*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 446*5fd0122aSMatthias Ringwald #define ROM_CRC32_set8BitData \ 447*5fd0122aSMatthias Ringwald ((void (*)(uint8_t dataIn, \ 448*5fd0122aSMatthias Ringwald uint_fast8_t crcType))ROM_CRC32TABLE[1]) 449*5fd0122aSMatthias Ringwald #endif 450*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 451*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 452*5fd0122aSMatthias Ringwald #define ROM_CRC32_set16BitData \ 453*5fd0122aSMatthias Ringwald ((void (*)(uint16_t dataIn, \ 454*5fd0122aSMatthias Ringwald uint_fast8_t crcType))ROM_CRC32TABLE[2]) 455*5fd0122aSMatthias Ringwald #endif 456*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 457*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 458*5fd0122aSMatthias Ringwald #define ROM_CRC32_set32BitData \ 459*5fd0122aSMatthias Ringwald ((void (*)(uint32_t dataIn))ROM_CRC32TABLE[3]) 460*5fd0122aSMatthias Ringwald #endif 461*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 462*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 463*5fd0122aSMatthias Ringwald #define ROM_CRC32_set8BitDataReversed \ 464*5fd0122aSMatthias Ringwald ((void (*)(uint8_t dataIn, \ 465*5fd0122aSMatthias Ringwald uint_fast8_t crcType))ROM_CRC32TABLE[4]) 466*5fd0122aSMatthias Ringwald #endif 467*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 468*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 469*5fd0122aSMatthias Ringwald #define ROM_CRC32_set16BitDataReversed \ 470*5fd0122aSMatthias Ringwald ((void (*)(uint16_t dataIn, \ 471*5fd0122aSMatthias Ringwald uint_fast8_t crcType))ROM_CRC32TABLE[5]) 472*5fd0122aSMatthias Ringwald #endif 473*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 474*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 475*5fd0122aSMatthias Ringwald #define ROM_CRC32_set32BitDataReversed \ 476*5fd0122aSMatthias Ringwald ((void (*)(uint32_t dataIn))ROM_CRC32TABLE[6]) 477*5fd0122aSMatthias Ringwald #endif 478*5fd0122aSMatthias Ringwald 479*5fd0122aSMatthias Ringwald //***************************************************************************** 480*5fd0122aSMatthias Ringwald // 481*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the CS API. 482*5fd0122aSMatthias Ringwald // 483*5fd0122aSMatthias Ringwald //***************************************************************************** 484*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 485*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 486*5fd0122aSMatthias Ringwald #define ROM_CS_initClockSignal \ 487*5fd0122aSMatthias Ringwald ((void (*)(uint32_t selectedClockSignal, \ 488*5fd0122aSMatthias Ringwald uint32_t clockSource, \ 489*5fd0122aSMatthias Ringwald uint32_t clockSourceDivider))ROM_CSTABLE[0]) 490*5fd0122aSMatthias Ringwald #endif 491*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 492*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 493*5fd0122aSMatthias Ringwald #define ROM_CS_setReferenceOscillatorFrequency \ 494*5fd0122aSMatthias Ringwald ((void (*)(uint8_t referenceFrequency))ROM_CSTABLE[1]) 495*5fd0122aSMatthias Ringwald #endif 496*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 497*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 498*5fd0122aSMatthias Ringwald #define ROM_CS_enableClockRequest \ 499*5fd0122aSMatthias Ringwald ((void (*)(uint32_t selectClock))ROM_CSTABLE[2]) 500*5fd0122aSMatthias Ringwald #endif 501*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 502*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 503*5fd0122aSMatthias Ringwald #define ROM_CS_disableClockRequest \ 504*5fd0122aSMatthias Ringwald ((void (*)(uint32_t selectClock))ROM_CSTABLE[3]) 505*5fd0122aSMatthias Ringwald #endif 506*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 507*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 508*5fd0122aSMatthias Ringwald #define ROM_CS_setDCOCenteredFrequency \ 509*5fd0122aSMatthias Ringwald ((void (*)(uint32_t dcoFreq))ROM_CSTABLE[4]) 510*5fd0122aSMatthias Ringwald #endif 511*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 512*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 513*5fd0122aSMatthias Ringwald #define ROM_CS_tuneDCOFrequency \ 514*5fd0122aSMatthias Ringwald ((void (*)(int16_t tuneParameter))ROM_CSTABLE[5]) 515*5fd0122aSMatthias Ringwald #endif 516*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 517*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 518*5fd0122aSMatthias Ringwald #define ROM_CS_enableDCOExternalResistor \ 519*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_CSTABLE[6]) 520*5fd0122aSMatthias Ringwald #endif 521*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 522*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 523*5fd0122aSMatthias Ringwald #define ROM_CS_disableDCOExternalResistor \ 524*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_CSTABLE[7]) 525*5fd0122aSMatthias Ringwald #endif 526*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 527*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 528*5fd0122aSMatthias Ringwald #define ROM_CS_enableInterrupt \ 529*5fd0122aSMatthias Ringwald ((void (*)(uint32_t flags))ROM_CSTABLE[8]) 530*5fd0122aSMatthias Ringwald #endif 531*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 532*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 533*5fd0122aSMatthias Ringwald #define ROM_CS_disableInterrupt \ 534*5fd0122aSMatthias Ringwald ((void (*)(uint32_t flags))ROM_CSTABLE[9]) 535*5fd0122aSMatthias Ringwald #endif 536*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 537*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 538*5fd0122aSMatthias Ringwald #define ROM_CS_getEnabledInterruptStatus \ 539*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_CSTABLE[10]) 540*5fd0122aSMatthias Ringwald #endif 541*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 542*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 543*5fd0122aSMatthias Ringwald #define ROM_CS_getInterruptStatus \ 544*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_CSTABLE[11]) 545*5fd0122aSMatthias Ringwald #endif 546*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 547*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 548*5fd0122aSMatthias Ringwald #define ROM_CS_setDCOFrequency \ 549*5fd0122aSMatthias Ringwald ((void (*)(uint32_t dcoFrequency))ROM_CSTABLE[12]) 550*5fd0122aSMatthias Ringwald #endif 551*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 552*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 553*5fd0122aSMatthias Ringwald #define ROM_CS_getDCOFrequency \ 554*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_CSTABLE[13]) 555*5fd0122aSMatthias Ringwald #endif 556*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 557*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 558*5fd0122aSMatthias Ringwald #define ROM_CS_enableFaultCounter \ 559*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t counterSelect))ROM_CSTABLE[14]) 560*5fd0122aSMatthias Ringwald #endif 561*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 562*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 563*5fd0122aSMatthias Ringwald #define ROM_CS_disableFaultCounter \ 564*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t counterSelect))ROM_CSTABLE[15]) 565*5fd0122aSMatthias Ringwald #endif 566*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 567*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 568*5fd0122aSMatthias Ringwald #define ROM_CS_resetFaultCounter \ 569*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t counterSelect))ROM_CSTABLE[16]) 570*5fd0122aSMatthias Ringwald #endif 571*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 572*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 573*5fd0122aSMatthias Ringwald #define ROM_CS_startFaultCounter \ 574*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t counterSelect, \ 575*5fd0122aSMatthias Ringwald uint_fast8_t countValue))ROM_CSTABLE[17]) 576*5fd0122aSMatthias Ringwald #endif 577*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 578*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 579*5fd0122aSMatthias Ringwald #define ROM_CS_clearInterruptFlag \ 580*5fd0122aSMatthias Ringwald ((void (*)(uint32_t flags))ROM_CSTABLE[20]) 581*5fd0122aSMatthias Ringwald #endif 582*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 583*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 584*5fd0122aSMatthias Ringwald #define ROM_CS_setDCOExternalResistorCalibration \ 585*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t uiCalData, \ 586*5fd0122aSMatthias Ringwald uint_fast8_t freqRange))ROM_CSTABLE[31]) 587*5fd0122aSMatthias Ringwald #endif 588*5fd0122aSMatthias Ringwald 589*5fd0122aSMatthias Ringwald //***************************************************************************** 590*5fd0122aSMatthias Ringwald // 591*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the DMA API. 592*5fd0122aSMatthias Ringwald // 593*5fd0122aSMatthias Ringwald //***************************************************************************** 594*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 595*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 596*5fd0122aSMatthias Ringwald #define ROM_DMA_enableModule \ 597*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_DMATABLE[0]) 598*5fd0122aSMatthias Ringwald #endif 599*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 600*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 601*5fd0122aSMatthias Ringwald #define ROM_DMA_getErrorStatus \ 602*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_DMATABLE[2]) 603*5fd0122aSMatthias Ringwald #endif 604*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 605*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 606*5fd0122aSMatthias Ringwald #define ROM_DMA_clearErrorStatus \ 607*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_DMATABLE[3]) 608*5fd0122aSMatthias Ringwald #endif 609*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 610*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 611*5fd0122aSMatthias Ringwald #define ROM_DMA_enableChannel \ 612*5fd0122aSMatthias Ringwald ((void (*)(uint32_t channelNum))ROM_DMATABLE[4]) 613*5fd0122aSMatthias Ringwald #endif 614*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 615*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 616*5fd0122aSMatthias Ringwald #define ROM_DMA_disableChannel \ 617*5fd0122aSMatthias Ringwald ((void (*)(uint32_t channelNum))ROM_DMATABLE[5]) 618*5fd0122aSMatthias Ringwald #endif 619*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 620*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 621*5fd0122aSMatthias Ringwald #define ROM_DMA_isChannelEnabled \ 622*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t channelNum))ROM_DMATABLE[6]) 623*5fd0122aSMatthias Ringwald #endif 624*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 625*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 626*5fd0122aSMatthias Ringwald #define ROM_DMA_setControlBase \ 627*5fd0122aSMatthias Ringwald ((void (*)(void *controlTable))ROM_DMATABLE[7]) 628*5fd0122aSMatthias Ringwald #endif 629*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 630*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 631*5fd0122aSMatthias Ringwald #define ROM_DMA_getControlBase \ 632*5fd0122aSMatthias Ringwald ((void* (*)(void))ROM_DMATABLE[8]) 633*5fd0122aSMatthias Ringwald #endif 634*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 635*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 636*5fd0122aSMatthias Ringwald #define ROM_DMA_getControlAlternateBase \ 637*5fd0122aSMatthias Ringwald ((void* (*)(void))ROM_DMATABLE[9]) 638*5fd0122aSMatthias Ringwald #endif 639*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 640*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 641*5fd0122aSMatthias Ringwald #define ROM_DMA_requestChannel \ 642*5fd0122aSMatthias Ringwald ((void (*)(uint32_t channelNum))ROM_DMATABLE[10]) 643*5fd0122aSMatthias Ringwald #endif 644*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 645*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 646*5fd0122aSMatthias Ringwald #define ROM_DMA_enableChannelAttribute \ 647*5fd0122aSMatthias Ringwald ((void (*)(uint32_t channelNum, \ 648*5fd0122aSMatthias Ringwald uint32_t attr))ROM_DMATABLE[11]) 649*5fd0122aSMatthias Ringwald #endif 650*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 651*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 652*5fd0122aSMatthias Ringwald #define ROM_DMA_disableChannelAttribute \ 653*5fd0122aSMatthias Ringwald ((void (*)(uint32_t channelNum, \ 654*5fd0122aSMatthias Ringwald uint32_t attr))ROM_DMATABLE[12]) 655*5fd0122aSMatthias Ringwald #endif 656*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 657*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 658*5fd0122aSMatthias Ringwald #define ROM_DMA_getChannelAttribute \ 659*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t channelNum))ROM_DMATABLE[13]) 660*5fd0122aSMatthias Ringwald #endif 661*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 662*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 663*5fd0122aSMatthias Ringwald #define ROM_DMA_setChannelControl \ 664*5fd0122aSMatthias Ringwald ((void (*)(uint32_t channelStructIndex, \ 665*5fd0122aSMatthias Ringwald uint32_t control))ROM_DMATABLE[14]) 666*5fd0122aSMatthias Ringwald #endif 667*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 668*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 669*5fd0122aSMatthias Ringwald #define ROM_DMA_setChannelScatterGather \ 670*5fd0122aSMatthias Ringwald ((void (*)(uint32_t channelNum, \ 671*5fd0122aSMatthias Ringwald uint32_t taskCount, \ 672*5fd0122aSMatthias Ringwald void *taskList, \ 673*5fd0122aSMatthias Ringwald uint32_t isPeriphSG))ROM_DMATABLE[16]) 674*5fd0122aSMatthias Ringwald #endif 675*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 676*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 677*5fd0122aSMatthias Ringwald #define ROM_DMA_getChannelSize \ 678*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t channelStructIndex))ROM_DMATABLE[17]) 679*5fd0122aSMatthias Ringwald #endif 680*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 681*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 682*5fd0122aSMatthias Ringwald #define ROM_DMA_getChannelMode \ 683*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t channelStructIndex))ROM_DMATABLE[18]) 684*5fd0122aSMatthias Ringwald #endif 685*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 686*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 687*5fd0122aSMatthias Ringwald #define ROM_DMA_assignChannel \ 688*5fd0122aSMatthias Ringwald ((void (*)(uint32_t mapping))ROM_DMATABLE[19]) 689*5fd0122aSMatthias Ringwald #endif 690*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 691*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 692*5fd0122aSMatthias Ringwald #define ROM_DMA_requestSoftwareTransfer \ 693*5fd0122aSMatthias Ringwald ((void (*)(uint32_t channel))ROM_DMATABLE[20]) 694*5fd0122aSMatthias Ringwald #endif 695*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 696*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 697*5fd0122aSMatthias Ringwald #define ROM_DMA_assignInterrupt \ 698*5fd0122aSMatthias Ringwald ((void (*)(uint32_t interruptNumber, \ 699*5fd0122aSMatthias Ringwald uint32_t channel))ROM_DMATABLE[21]) 700*5fd0122aSMatthias Ringwald #endif 701*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 702*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 703*5fd0122aSMatthias Ringwald #define ROM_DMA_enableInterrupt \ 704*5fd0122aSMatthias Ringwald ((void (*)(uint32_t interruptNumber))ROM_DMATABLE[22]) 705*5fd0122aSMatthias Ringwald #endif 706*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 707*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 708*5fd0122aSMatthias Ringwald #define ROM_DMA_disableInterrupt \ 709*5fd0122aSMatthias Ringwald ((void (*)(uint32_t interruptNumber))ROM_DMATABLE[23]) 710*5fd0122aSMatthias Ringwald #endif 711*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 712*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 713*5fd0122aSMatthias Ringwald #define ROM_DMA_getInterruptStatus \ 714*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_DMATABLE[24]) 715*5fd0122aSMatthias Ringwald #endif 716*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 717*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 718*5fd0122aSMatthias Ringwald #define ROM_DMA_clearInterruptFlag \ 719*5fd0122aSMatthias Ringwald ((void (*)(uint32_t intChannel))ROM_DMATABLE[25]) 720*5fd0122aSMatthias Ringwald #endif 721*5fd0122aSMatthias Ringwald 722*5fd0122aSMatthias Ringwald //***************************************************************************** 723*5fd0122aSMatthias Ringwald // 724*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the Flash API. 725*5fd0122aSMatthias Ringwald // 726*5fd0122aSMatthias Ringwald //***************************************************************************** 727*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 728*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_enableReadBuffering \ 729*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t memoryBank, \ 730*5fd0122aSMatthias Ringwald uint_fast8_t accessMethod))ROM_FLASHCTLTABLE[2]) 731*5fd0122aSMatthias Ringwald #endif 732*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 733*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_disableReadBuffering \ 734*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t memoryBank, \ 735*5fd0122aSMatthias Ringwald uint_fast8_t accessMethod))ROM_FLASHCTLTABLE[3]) 736*5fd0122aSMatthias Ringwald #endif 737*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 738*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_unprotectSector \ 739*5fd0122aSMatthias Ringwald ((bool (*)(uint_fast8_t memorySpace, \ 740*5fd0122aSMatthias Ringwald uint32_t sectorMask))ROM_FLASHCTLTABLE[4]) 741*5fd0122aSMatthias Ringwald #endif 742*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 743*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_isSectorProtected \ 744*5fd0122aSMatthias Ringwald ((bool (*)(uint_fast8_t memorySpace, \ 745*5fd0122aSMatthias Ringwald uint32_t sector))ROM_FLASHCTLTABLE[6]) 746*5fd0122aSMatthias Ringwald #endif 747*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 748*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_verifyMemory \ 749*5fd0122aSMatthias Ringwald ((bool (*)(void* verifyAddr, \ 750*5fd0122aSMatthias Ringwald uint32_t length, \ 751*5fd0122aSMatthias Ringwald uint_fast8_t pattern))ROM_FLASHCTLTABLE[7]) 752*5fd0122aSMatthias Ringwald #endif 753*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 754*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_performMassErase \ 755*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_FLASHCTLTABLE[8]) 756*5fd0122aSMatthias Ringwald #endif 757*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 758*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_eraseSector \ 759*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t addr))ROM_FLASHCTLTABLE[9]) 760*5fd0122aSMatthias Ringwald #endif 761*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 762*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_programMemory \ 763*5fd0122aSMatthias Ringwald ((bool (*)(void* src, \ 764*5fd0122aSMatthias Ringwald void* dest, \ 765*5fd0122aSMatthias Ringwald uint32_t length))ROM_FLASHCTLTABLE[10]) 766*5fd0122aSMatthias Ringwald #endif 767*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 768*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_setProgramVerification \ 769*5fd0122aSMatthias Ringwald ((void (*)(uint32_t verificationSetting))ROM_FLASHCTLTABLE[11]) 770*5fd0122aSMatthias Ringwald #endif 771*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 772*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_clearProgramVerification \ 773*5fd0122aSMatthias Ringwald ((void (*)(uint32_t verificationSetting))ROM_FLASHCTLTABLE[12]) 774*5fd0122aSMatthias Ringwald #endif 775*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 776*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_enableWordProgramming \ 777*5fd0122aSMatthias Ringwald ((void (*)(uint32_t mode))ROM_FLASHCTLTABLE[13]) 778*5fd0122aSMatthias Ringwald #endif 779*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 780*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_disableWordProgramming \ 781*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_FLASHCTLTABLE[14]) 782*5fd0122aSMatthias Ringwald #endif 783*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 784*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_isWordProgrammingEnabled \ 785*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_FLASHCTLTABLE[15]) 786*5fd0122aSMatthias Ringwald #endif 787*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 788*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_enableInterrupt \ 789*5fd0122aSMatthias Ringwald ((void (*)(uint32_t flags))ROM_FLASHCTLTABLE[16]) 790*5fd0122aSMatthias Ringwald #endif 791*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 792*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_disableInterrupt \ 793*5fd0122aSMatthias Ringwald ((void (*)(uint32_t flags))ROM_FLASHCTLTABLE[17]) 794*5fd0122aSMatthias Ringwald #endif 795*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 796*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_getEnabledInterruptStatus \ 797*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_FLASHCTLTABLE[18]) 798*5fd0122aSMatthias Ringwald #endif 799*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 800*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_getInterruptStatus \ 801*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_FLASHCTLTABLE[19]) 802*5fd0122aSMatthias Ringwald #endif 803*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 804*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_clearInterruptFlag \ 805*5fd0122aSMatthias Ringwald ((void (*)(uint32_t flags))ROM_FLASHCTLTABLE[20]) 806*5fd0122aSMatthias Ringwald #endif 807*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 808*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_setWaitState \ 809*5fd0122aSMatthias Ringwald ((void (*)(uint32_t bank, \ 810*5fd0122aSMatthias Ringwald uint32_t waitState))ROM_FLASHCTLTABLE[21]) 811*5fd0122aSMatthias Ringwald #endif 812*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 813*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_getWaitState \ 814*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t bank))ROM_FLASHCTLTABLE[22]) 815*5fd0122aSMatthias Ringwald #endif 816*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 817*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_setReadMode \ 818*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t flashBank, \ 819*5fd0122aSMatthias Ringwald uint32_t readMode))ROM_FLASHCTLTABLE[23]) 820*5fd0122aSMatthias Ringwald #endif 821*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 822*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_getReadMode \ 823*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t flashBank))ROM_FLASHCTLTABLE[24]) 824*5fd0122aSMatthias Ringwald #endif 825*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 826*5fd0122aSMatthias Ringwald #define ROM___FlashCtl_remaskData8Post \ 827*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint8_t data, \ 828*5fd0122aSMatthias Ringwald uint32_t addr))ROM_FLASHCTLTABLE[27]) 829*5fd0122aSMatthias Ringwald #endif 830*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 831*5fd0122aSMatthias Ringwald #define ROM___FlashCtl_remaskData8Pre \ 832*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint8_t data, \ 833*5fd0122aSMatthias Ringwald uint32_t addr))ROM_FLASHCTLTABLE[28]) 834*5fd0122aSMatthias Ringwald #endif 835*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 836*5fd0122aSMatthias Ringwald #define ROM___FlashCtl_remaskData32Pre \ 837*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t data, \ 838*5fd0122aSMatthias Ringwald uint32_t addr))ROM_FLASHCTLTABLE[29]) 839*5fd0122aSMatthias Ringwald #endif 840*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 841*5fd0122aSMatthias Ringwald #define ROM___FlashCtl_remaskData32Post \ 842*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t data, \ 843*5fd0122aSMatthias Ringwald uint32_t addr))ROM_FLASHCTLTABLE[30]) 844*5fd0122aSMatthias Ringwald #endif 845*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 846*5fd0122aSMatthias Ringwald #define ROM___FlashCtl_remaskBurstDataPre \ 847*5fd0122aSMatthias Ringwald ((void (*)(uint32_t addr, \ 848*5fd0122aSMatthias Ringwald uint32_t size))ROM_FLASHCTLTABLE[31]) 849*5fd0122aSMatthias Ringwald #endif 850*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 851*5fd0122aSMatthias Ringwald #define ROM___FlashCtl_remaskBurstDataPost \ 852*5fd0122aSMatthias Ringwald ((void (*)(uint32_t addr, \ 853*5fd0122aSMatthias Ringwald uint32_t size))ROM_FLASHCTLTABLE[32]) 854*5fd0122aSMatthias Ringwald #endif 855*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 856*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_initiateSectorErase \ 857*5fd0122aSMatthias Ringwald ((void (*)(uint32_t addr))ROM_FLASHCTLTABLE[33]) 858*5fd0122aSMatthias Ringwald #endif 859*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 860*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_initiateMassErase \ 861*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_FLASHCTLTABLE[34]) 862*5fd0122aSMatthias Ringwald #endif 863*5fd0122aSMatthias Ringwald 864*5fd0122aSMatthias Ringwald //***************************************************************************** 865*5fd0122aSMatthias Ringwald // 866*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the FPU API. 867*5fd0122aSMatthias Ringwald // 868*5fd0122aSMatthias Ringwald //***************************************************************************** 869*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 870*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 871*5fd0122aSMatthias Ringwald #define ROM_FPU_enableModule \ 872*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_FPUTABLE[0]) 873*5fd0122aSMatthias Ringwald #endif 874*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 875*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 876*5fd0122aSMatthias Ringwald #define ROM_FPU_disableModule \ 877*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_FPUTABLE[1]) 878*5fd0122aSMatthias Ringwald #endif 879*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 880*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 881*5fd0122aSMatthias Ringwald #define ROM_FPU_enableStacking \ 882*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_FPUTABLE[2]) 883*5fd0122aSMatthias Ringwald #endif 884*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 885*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 886*5fd0122aSMatthias Ringwald #define ROM_FPU_enableLazyStacking \ 887*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_FPUTABLE[3]) 888*5fd0122aSMatthias Ringwald #endif 889*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 890*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 891*5fd0122aSMatthias Ringwald #define ROM_FPU_disableStacking \ 892*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_FPUTABLE[4]) 893*5fd0122aSMatthias Ringwald #endif 894*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 895*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 896*5fd0122aSMatthias Ringwald #define ROM_FPU_setHalfPrecisionMode \ 897*5fd0122aSMatthias Ringwald ((void (*)(uint32_t mode))ROM_FPUTABLE[5]) 898*5fd0122aSMatthias Ringwald #endif 899*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 900*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 901*5fd0122aSMatthias Ringwald #define ROM_FPU_setNaNMode \ 902*5fd0122aSMatthias Ringwald ((void (*)(uint32_t mode))ROM_FPUTABLE[6]) 903*5fd0122aSMatthias Ringwald #endif 904*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 905*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 906*5fd0122aSMatthias Ringwald #define ROM_FPU_setFlushToZeroMode \ 907*5fd0122aSMatthias Ringwald ((void (*)(uint32_t mode))ROM_FPUTABLE[7]) 908*5fd0122aSMatthias Ringwald #endif 909*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 910*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 911*5fd0122aSMatthias Ringwald #define ROM_FPU_setRoundingMode \ 912*5fd0122aSMatthias Ringwald ((void (*)(uint32_t mode))ROM_FPUTABLE[8]) 913*5fd0122aSMatthias Ringwald #endif 914*5fd0122aSMatthias Ringwald 915*5fd0122aSMatthias Ringwald //***************************************************************************** 916*5fd0122aSMatthias Ringwald // 917*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the GPIO API. 918*5fd0122aSMatthias Ringwald // 919*5fd0122aSMatthias Ringwald //***************************************************************************** 920*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 921*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 922*5fd0122aSMatthias Ringwald #define ROM_GPIO_setAsOutputPin \ 923*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t selectedPort, \ 924*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins))ROM_GPIOTABLE[0]) 925*5fd0122aSMatthias Ringwald #endif 926*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 927*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 928*5fd0122aSMatthias Ringwald #define ROM_GPIO_setOutputHighOnPin \ 929*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t selectedPort, \ 930*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins))ROM_GPIOTABLE[1]) 931*5fd0122aSMatthias Ringwald #endif 932*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 933*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 934*5fd0122aSMatthias Ringwald #define ROM_GPIO_setOutputLowOnPin \ 935*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t selectedPort, \ 936*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins))ROM_GPIOTABLE[2]) 937*5fd0122aSMatthias Ringwald #endif 938*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 939*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 940*5fd0122aSMatthias Ringwald #define ROM_GPIO_toggleOutputOnPin \ 941*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t selectedPort, \ 942*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins))ROM_GPIOTABLE[3]) 943*5fd0122aSMatthias Ringwald #endif 944*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 945*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 946*5fd0122aSMatthias Ringwald #define ROM_GPIO_setAsInputPinWithPullDownResistor \ 947*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t selectedPort, \ 948*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins))ROM_GPIOTABLE[4]) 949*5fd0122aSMatthias Ringwald #endif 950*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 951*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 952*5fd0122aSMatthias Ringwald #define ROM_GPIO_setAsInputPinWithPullUpResistor \ 953*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t selectedPort, \ 954*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins))ROM_GPIOTABLE[5]) 955*5fd0122aSMatthias Ringwald #endif 956*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 957*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 958*5fd0122aSMatthias Ringwald #define ROM_GPIO_setAsPeripheralModuleFunctionOutputPin \ 959*5fd0122aSMatthias Ringwald ((void (*)( uint_fast8_t selectedPort, \ 960*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins, \ 961*5fd0122aSMatthias Ringwald uint_fast8_t mode))ROM_GPIOTABLE[6]) 962*5fd0122aSMatthias Ringwald #endif 963*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 964*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 965*5fd0122aSMatthias Ringwald #define ROM_GPIO_setAsPeripheralModuleFunctionInputPin \ 966*5fd0122aSMatthias Ringwald ((void (*)( uint_fast8_t selectedPort, \ 967*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins, \ 968*5fd0122aSMatthias Ringwald uint_fast8_t mode))ROM_GPIOTABLE[7]) 969*5fd0122aSMatthias Ringwald #endif 970*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 971*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 972*5fd0122aSMatthias Ringwald #define ROM_GPIO_getInputPinValue \ 973*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint_fast8_t selectedPort, \ 974*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins))ROM_GPIOTABLE[8]) 975*5fd0122aSMatthias Ringwald #endif 976*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 977*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 978*5fd0122aSMatthias Ringwald #define ROM_GPIO_interruptEdgeSelect \ 979*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t selectedPort, \ 980*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins, \ 981*5fd0122aSMatthias Ringwald uint_fast8_t edgeSelect))ROM_GPIOTABLE[9]) 982*5fd0122aSMatthias Ringwald #endif 983*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 984*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 985*5fd0122aSMatthias Ringwald #define ROM_GPIO_enableInterrupt \ 986*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t selectedPort, \ 987*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins))ROM_GPIOTABLE[10]) 988*5fd0122aSMatthias Ringwald #endif 989*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 990*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 991*5fd0122aSMatthias Ringwald #define ROM_GPIO_disableInterrupt \ 992*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t selectedPort, \ 993*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins))ROM_GPIOTABLE[11]) 994*5fd0122aSMatthias Ringwald #endif 995*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 996*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 997*5fd0122aSMatthias Ringwald #define ROM_GPIO_getInterruptStatus \ 998*5fd0122aSMatthias Ringwald ((uint_fast16_t (*)(uint_fast8_t selectedPort, \ 999*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins))ROM_GPIOTABLE[12]) 1000*5fd0122aSMatthias Ringwald #endif 1001*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1002*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1003*5fd0122aSMatthias Ringwald #define ROM_GPIO_clearInterruptFlag \ 1004*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t selectedPort, \ 1005*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins))ROM_GPIOTABLE[13]) 1006*5fd0122aSMatthias Ringwald #endif 1007*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1008*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1009*5fd0122aSMatthias Ringwald #define ROM_GPIO_setAsInputPin \ 1010*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t selectedPort, \ 1011*5fd0122aSMatthias Ringwald uint_fast16_t selectedPins))ROM_GPIOTABLE[14]) 1012*5fd0122aSMatthias Ringwald #endif 1013*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1014*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1015*5fd0122aSMatthias Ringwald #define ROM_GPIO_getEnabledInterruptStatus \ 1016*5fd0122aSMatthias Ringwald ((uint_fast16_t (*)(uint_fast8_t selectedPort))ROM_GPIOTABLE[15]) 1017*5fd0122aSMatthias Ringwald #endif 1018*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1019*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1020*5fd0122aSMatthias Ringwald #define ROM_GPIO_setDriveStrengthHigh \ 1021*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t selectedPort, \ 1022*5fd0122aSMatthias Ringwald uint_fast8_t selectedPins))ROM_GPIOTABLE[16]) 1023*5fd0122aSMatthias Ringwald #endif 1024*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1025*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1026*5fd0122aSMatthias Ringwald #define ROM_GPIO_setDriveStrengthLow \ 1027*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t selectedPort, \ 1028*5fd0122aSMatthias Ringwald uint_fast8_t selectedPins))ROM_GPIOTABLE[17]) 1029*5fd0122aSMatthias Ringwald #endif 1030*5fd0122aSMatthias Ringwald 1031*5fd0122aSMatthias Ringwald //***************************************************************************** 1032*5fd0122aSMatthias Ringwald // 1033*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the I2C API. 1034*5fd0122aSMatthias Ringwald // 1035*5fd0122aSMatthias Ringwald //***************************************************************************** 1036*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1037*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1038*5fd0122aSMatthias Ringwald #define ROM_I2C_initMaster \ 1039*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1040*5fd0122aSMatthias Ringwald const eUSCI_I2C_MasterConfig *config))ROM_I2CTABLE[0]) 1041*5fd0122aSMatthias Ringwald #endif 1042*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1043*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1044*5fd0122aSMatthias Ringwald #define ROM_I2C_initSlave \ 1045*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1046*5fd0122aSMatthias Ringwald uint_fast16_t slaveAddress, \ 1047*5fd0122aSMatthias Ringwald uint_fast8_t slaveAddressOffset, \ 1048*5fd0122aSMatthias Ringwald uint32_t slaveOwnAddressEnable))ROM_I2CTABLE[1]) 1049*5fd0122aSMatthias Ringwald #endif 1050*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1051*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1052*5fd0122aSMatthias Ringwald #define ROM_I2C_enableModule \ 1053*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[2]) 1054*5fd0122aSMatthias Ringwald #endif 1055*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1056*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1057*5fd0122aSMatthias Ringwald #define ROM_I2C_disableModule \ 1058*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[3]) 1059*5fd0122aSMatthias Ringwald #endif 1060*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1061*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1062*5fd0122aSMatthias Ringwald #define ROM_I2C_setSlaveAddress \ 1063*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1064*5fd0122aSMatthias Ringwald uint_fast16_t slaveAddress))ROM_I2CTABLE[4]) 1065*5fd0122aSMatthias Ringwald #endif 1066*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1067*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1068*5fd0122aSMatthias Ringwald #define ROM_I2C_setMode \ 1069*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1070*5fd0122aSMatthias Ringwald uint_fast8_t mode))ROM_I2CTABLE[5]) 1071*5fd0122aSMatthias Ringwald #endif 1072*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1073*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1074*5fd0122aSMatthias Ringwald #define ROM_I2C_slavePutData \ 1075*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1076*5fd0122aSMatthias Ringwald uint8_t transmitData))ROM_I2CTABLE[6]) 1077*5fd0122aSMatthias Ringwald #endif 1078*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1079*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1080*5fd0122aSMatthias Ringwald #define ROM_I2C_slaveGetData \ 1081*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[7]) 1082*5fd0122aSMatthias Ringwald #endif 1083*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1084*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1085*5fd0122aSMatthias Ringwald #define ROM_I2C_isBusBusy \ 1086*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[8]) 1087*5fd0122aSMatthias Ringwald #endif 1088*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1089*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1090*5fd0122aSMatthias Ringwald #define ROM_I2C_masterSendSingleByte \ 1091*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1092*5fd0122aSMatthias Ringwald uint8_t txData))ROM_I2CTABLE[9]) 1093*5fd0122aSMatthias Ringwald #endif 1094*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1095*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1096*5fd0122aSMatthias Ringwald #define ROM_I2C_masterSendMultiByteNext \ 1097*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1098*5fd0122aSMatthias Ringwald uint8_t txData))ROM_I2CTABLE[13]) 1099*5fd0122aSMatthias Ringwald #endif 1100*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1101*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1102*5fd0122aSMatthias Ringwald #define ROM_I2C_masterSendMultiByteNextWithTimeout \ 1103*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t moduleInstance, \ 1104*5fd0122aSMatthias Ringwald uint8_t txData, \ 1105*5fd0122aSMatthias Ringwald uint32_t timeout))ROM_I2CTABLE[14]) 1106*5fd0122aSMatthias Ringwald #endif 1107*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1108*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1109*5fd0122aSMatthias Ringwald #define ROM_I2C_masterSendMultiByteStop \ 1110*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[17]) 1111*5fd0122aSMatthias Ringwald #endif 1112*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1113*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1114*5fd0122aSMatthias Ringwald #define ROM_I2C_masterSendMultiByteStopWithTimeout \ 1115*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t moduleInstance, \ 1116*5fd0122aSMatthias Ringwald uint32_t timeout))ROM_I2CTABLE[18]) 1117*5fd0122aSMatthias Ringwald #endif 1118*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1119*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1120*5fd0122aSMatthias Ringwald #define ROM_I2C_masterReceiveStart \ 1121*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[19]) 1122*5fd0122aSMatthias Ringwald #endif 1123*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1124*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1125*5fd0122aSMatthias Ringwald #define ROM_I2C_masterReceiveMultiByteNext \ 1126*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[20]) 1127*5fd0122aSMatthias Ringwald #endif 1128*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1129*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1130*5fd0122aSMatthias Ringwald #define ROM_I2C_masterReceiveMultiByteFinish \ 1131*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[21]) 1132*5fd0122aSMatthias Ringwald #endif 1133*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1134*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1135*5fd0122aSMatthias Ringwald #define ROM_I2C_masterReceiveMultiByteFinishWithTimeout \ 1136*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t moduleInstance, \ 1137*5fd0122aSMatthias Ringwald uint8_t *txData, \ 1138*5fd0122aSMatthias Ringwald uint32_t timeout))ROM_I2CTABLE[22]) 1139*5fd0122aSMatthias Ringwald #endif 1140*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1141*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1142*5fd0122aSMatthias Ringwald #define ROM_I2C_masterReceiveMultiByteStop \ 1143*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[23]) 1144*5fd0122aSMatthias Ringwald #endif 1145*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1146*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1147*5fd0122aSMatthias Ringwald #define ROM_I2C_masterReceiveSingle \ 1148*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[25]) 1149*5fd0122aSMatthias Ringwald #endif 1150*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1151*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1152*5fd0122aSMatthias Ringwald #define ROM_I2C_getReceiveBufferAddressForDMA \ 1153*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[26]) 1154*5fd0122aSMatthias Ringwald #endif 1155*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1156*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1157*5fd0122aSMatthias Ringwald #define ROM_I2C_getTransmitBufferAddressForDMA \ 1158*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[27]) 1159*5fd0122aSMatthias Ringwald #endif 1160*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1161*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1162*5fd0122aSMatthias Ringwald #define ROM_I2C_masterIsStopSent \ 1163*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[28]) 1164*5fd0122aSMatthias Ringwald #endif 1165*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1166*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1167*5fd0122aSMatthias Ringwald #define ROM_I2C_masterIsStartSent \ 1168*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t moduleInstance))ROM_I2CTABLE[29]) 1169*5fd0122aSMatthias Ringwald #endif 1170*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1171*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1172*5fd0122aSMatthias Ringwald #define ROM_I2C_masterSendStart \ 1173*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[30]) 1174*5fd0122aSMatthias Ringwald #endif 1175*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1176*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1177*5fd0122aSMatthias Ringwald #define ROM_I2C_enableMultiMasterMode \ 1178*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[31]) 1179*5fd0122aSMatthias Ringwald #endif 1180*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1181*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1182*5fd0122aSMatthias Ringwald #define ROM_I2C_disableMultiMasterMode \ 1183*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[32]) 1184*5fd0122aSMatthias Ringwald #endif 1185*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1186*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1187*5fd0122aSMatthias Ringwald #define ROM_I2C_enableInterrupt \ 1188*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1189*5fd0122aSMatthias Ringwald uint_fast16_t mask))ROM_I2CTABLE[33]) 1190*5fd0122aSMatthias Ringwald #endif 1191*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1192*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1193*5fd0122aSMatthias Ringwald #define ROM_I2C_disableInterrupt \ 1194*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1195*5fd0122aSMatthias Ringwald uint_fast16_t mask))ROM_I2CTABLE[34]) 1196*5fd0122aSMatthias Ringwald #endif 1197*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1198*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1199*5fd0122aSMatthias Ringwald #define ROM_I2C_clearInterruptFlag \ 1200*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1201*5fd0122aSMatthias Ringwald uint_fast16_t mask))ROM_I2CTABLE[35]) 1202*5fd0122aSMatthias Ringwald #endif 1203*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1204*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1205*5fd0122aSMatthias Ringwald #define ROM_I2C_getInterruptStatus \ 1206*5fd0122aSMatthias Ringwald ((uint_fast16_t (*)(uint32_t moduleInstance, \ 1207*5fd0122aSMatthias Ringwald uint16_t mask))ROM_I2CTABLE[36]) 1208*5fd0122aSMatthias Ringwald #endif 1209*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1210*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1211*5fd0122aSMatthias Ringwald #define ROM_I2C_getEnabledInterruptStatus \ 1212*5fd0122aSMatthias Ringwald ((uint_fast16_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[37]) 1213*5fd0122aSMatthias Ringwald #endif 1214*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1215*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1216*5fd0122aSMatthias Ringwald #define ROM_I2C_getMode \ 1217*5fd0122aSMatthias Ringwald ((uint_fast8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[38]) 1218*5fd0122aSMatthias Ringwald #endif 1219*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 1220*5fd0122aSMatthias Ringwald #define ROM_I2C_slaveSendNAK \ 1221*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[41]) 1222*5fd0122aSMatthias Ringwald #endif 1223*5fd0122aSMatthias Ringwald 1224*5fd0122aSMatthias Ringwald //***************************************************************************** 1225*5fd0122aSMatthias Ringwald // 1226*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the Interrupt API. 1227*5fd0122aSMatthias Ringwald // 1228*5fd0122aSMatthias Ringwald //***************************************************************************** 1229*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1230*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1231*5fd0122aSMatthias Ringwald #define ROM_Interrupt_enableMaster \ 1232*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_INTTABLE[0]) 1233*5fd0122aSMatthias Ringwald #endif 1234*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1235*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1236*5fd0122aSMatthias Ringwald #define ROM_Interrupt_disableMaster \ 1237*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_INTTABLE[1]) 1238*5fd0122aSMatthias Ringwald #endif 1239*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1240*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1241*5fd0122aSMatthias Ringwald #define ROM_Interrupt_getPriorityGrouping \ 1242*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_INTTABLE[3]) 1243*5fd0122aSMatthias Ringwald #endif 1244*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1245*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1246*5fd0122aSMatthias Ringwald #define ROM_Interrupt_setPriority \ 1247*5fd0122aSMatthias Ringwald ((void (*)(uint32_t interruptNumber, \ 1248*5fd0122aSMatthias Ringwald uint8_t priority))ROM_INTTABLE[4]) 1249*5fd0122aSMatthias Ringwald #endif 1250*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1251*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1252*5fd0122aSMatthias Ringwald #define ROM_Interrupt_getPriority \ 1253*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint32_t interruptNumber))ROM_INTTABLE[5]) 1254*5fd0122aSMatthias Ringwald #endif 1255*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1256*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1257*5fd0122aSMatthias Ringwald #define ROM_Interrupt_enableInterrupt \ 1258*5fd0122aSMatthias Ringwald ((void (*)(uint32_t interruptNumber))ROM_INTTABLE[6]) 1259*5fd0122aSMatthias Ringwald #endif 1260*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1261*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1262*5fd0122aSMatthias Ringwald #define ROM_Interrupt_disableInterrupt \ 1263*5fd0122aSMatthias Ringwald ((void (*)(uint32_t interruptNumber))ROM_INTTABLE[7]) 1264*5fd0122aSMatthias Ringwald #endif 1265*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1266*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1267*5fd0122aSMatthias Ringwald #define ROM_Interrupt_isEnabled \ 1268*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t interruptNumber))ROM_INTTABLE[8]) 1269*5fd0122aSMatthias Ringwald #endif 1270*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1271*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1272*5fd0122aSMatthias Ringwald #define ROM_Interrupt_pendInterrupt \ 1273*5fd0122aSMatthias Ringwald ((void (*)(uint32_t interruptNumber))ROM_INTTABLE[9]) 1274*5fd0122aSMatthias Ringwald #endif 1275*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1276*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1277*5fd0122aSMatthias Ringwald #define ROM_Interrupt_setPriorityMask \ 1278*5fd0122aSMatthias Ringwald ((void (*)(uint8_t priorityMask))ROM_INTTABLE[10]) 1279*5fd0122aSMatthias Ringwald #endif 1280*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1281*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1282*5fd0122aSMatthias Ringwald #define ROM_Interrupt_getPriorityMask \ 1283*5fd0122aSMatthias Ringwald ((uint8_t (*)(void))ROM_INTTABLE[11]) 1284*5fd0122aSMatthias Ringwald #endif 1285*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1286*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1287*5fd0122aSMatthias Ringwald #define ROM_Interrupt_setVectorTableAddress \ 1288*5fd0122aSMatthias Ringwald ((void (*)(uint32_t addr))ROM_INTTABLE[12]) 1289*5fd0122aSMatthias Ringwald #endif 1290*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1291*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1292*5fd0122aSMatthias Ringwald #define ROM_Interrupt_getVectorTableAddress \ 1293*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_INTTABLE[13]) 1294*5fd0122aSMatthias Ringwald #endif 1295*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1296*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1297*5fd0122aSMatthias Ringwald #define ROM_Interrupt_enableSleepOnIsrExit \ 1298*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_INTTABLE[14]) 1299*5fd0122aSMatthias Ringwald #endif 1300*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1301*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1302*5fd0122aSMatthias Ringwald #define ROM_Interrupt_disableSleepOnIsrExit \ 1303*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_INTTABLE[15]) 1304*5fd0122aSMatthias Ringwald #endif 1305*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1306*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1307*5fd0122aSMatthias Ringwald #define ROM_Interrupt_unpendInterrupt \ 1308*5fd0122aSMatthias Ringwald ((void (*)(uint32_t interruptNumber))ROM_INTTABLE[18]) 1309*5fd0122aSMatthias Ringwald #endif 1310*5fd0122aSMatthias Ringwald 1311*5fd0122aSMatthias Ringwald //***************************************************************************** 1312*5fd0122aSMatthias Ringwald // 1313*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the MPU API. 1314*5fd0122aSMatthias Ringwald // 1315*5fd0122aSMatthias Ringwald //***************************************************************************** 1316*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1317*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1318*5fd0122aSMatthias Ringwald #define ROM_MPU_enableModule \ 1319*5fd0122aSMatthias Ringwald ((void (*)(uint32_t mpuConfig))ROM_MPUTABLE[0]) 1320*5fd0122aSMatthias Ringwald #endif 1321*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1322*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1323*5fd0122aSMatthias Ringwald #define ROM_MPU_disableModule \ 1324*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_MPUTABLE[1]) 1325*5fd0122aSMatthias Ringwald #endif 1326*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1327*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1328*5fd0122aSMatthias Ringwald #define ROM_MPU_getRegionCount \ 1329*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_MPUTABLE[2]) 1330*5fd0122aSMatthias Ringwald #endif 1331*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1332*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1333*5fd0122aSMatthias Ringwald #define ROM_MPU_enableRegion \ 1334*5fd0122aSMatthias Ringwald ((void (*)(uint32_t region))ROM_MPUTABLE[3]) 1335*5fd0122aSMatthias Ringwald #endif 1336*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1337*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1338*5fd0122aSMatthias Ringwald #define ROM_MPU_disableRegion \ 1339*5fd0122aSMatthias Ringwald ((void (*)(uint32_t region))ROM_MPUTABLE[4]) 1340*5fd0122aSMatthias Ringwald #endif 1341*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1342*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1343*5fd0122aSMatthias Ringwald #define ROM_MPU_setRegion \ 1344*5fd0122aSMatthias Ringwald ((void (*)(uint32_t region, \ 1345*5fd0122aSMatthias Ringwald uint32_t addr, \ 1346*5fd0122aSMatthias Ringwald uint32_t flags))ROM_MPUTABLE[5]) 1347*5fd0122aSMatthias Ringwald #endif 1348*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1349*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1350*5fd0122aSMatthias Ringwald #define ROM_MPU_getRegion \ 1351*5fd0122aSMatthias Ringwald ((void (*)(uint32_t region, \ 1352*5fd0122aSMatthias Ringwald uint32_t *addr, \ 1353*5fd0122aSMatthias Ringwald uint32_t *pflags))ROM_MPUTABLE[6]) 1354*5fd0122aSMatthias Ringwald #endif 1355*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1356*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1357*5fd0122aSMatthias Ringwald #define ROM_MPU_enableInterrupt \ 1358*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_MPUTABLE[7]) 1359*5fd0122aSMatthias Ringwald #endif 1360*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1361*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1362*5fd0122aSMatthias Ringwald #define ROM_MPU_disableInterrupt \ 1363*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_MPUTABLE[8]) 1364*5fd0122aSMatthias Ringwald #endif 1365*5fd0122aSMatthias Ringwald 1366*5fd0122aSMatthias Ringwald //***************************************************************************** 1367*5fd0122aSMatthias Ringwald // 1368*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the PCM API. 1369*5fd0122aSMatthias Ringwald // 1370*5fd0122aSMatthias Ringwald //***************************************************************************** 1371*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1372*5fd0122aSMatthias Ringwald #define ROM_PCM_setCoreVoltageLevel \ 1373*5fd0122aSMatthias Ringwald ((bool (*)(uint_fast8_t voltageLevel))ROM_PCMTABLE[0]) 1374*5fd0122aSMatthias Ringwald #endif 1375*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1376*5fd0122aSMatthias Ringwald #define ROM_PCM_getCoreVoltageLevel \ 1377*5fd0122aSMatthias Ringwald ((uint8_t (*)(void))ROM_PCMTABLE[1]) 1378*5fd0122aSMatthias Ringwald #endif 1379*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1380*5fd0122aSMatthias Ringwald #define ROM_PCM_setCoreVoltageLevelWithTimeout \ 1381*5fd0122aSMatthias Ringwald ((bool (*)(uint_fast8_t voltageLevel, \ 1382*5fd0122aSMatthias Ringwald uint32_t timeOut))ROM_PCMTABLE[2]) 1383*5fd0122aSMatthias Ringwald #endif 1384*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1385*5fd0122aSMatthias Ringwald #define ROM_PCM_setPowerMode \ 1386*5fd0122aSMatthias Ringwald ((bool (*)(uint_fast8_t powerMode))ROM_PCMTABLE[3]) 1387*5fd0122aSMatthias Ringwald #endif 1388*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1389*5fd0122aSMatthias Ringwald #define ROM_PCM_setPowerModeWithTimeout \ 1390*5fd0122aSMatthias Ringwald ((bool (*)(uint_fast8_t powerMode, \ 1391*5fd0122aSMatthias Ringwald uint32_t timeOut))ROM_PCMTABLE[4]) 1392*5fd0122aSMatthias Ringwald #endif 1393*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1394*5fd0122aSMatthias Ringwald #define ROM_PCM_getPowerMode \ 1395*5fd0122aSMatthias Ringwald ((uint8_t (*)(void))ROM_PCMTABLE[5]) 1396*5fd0122aSMatthias Ringwald #endif 1397*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1398*5fd0122aSMatthias Ringwald #define ROM_PCM_setPowerState \ 1399*5fd0122aSMatthias Ringwald ((bool (*)(uint_fast8_t powerState))ROM_PCMTABLE[6]) 1400*5fd0122aSMatthias Ringwald #endif 1401*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1402*5fd0122aSMatthias Ringwald #define ROM_PCM_setPowerStateWithTimeout \ 1403*5fd0122aSMatthias Ringwald ((bool (*)(uint_fast8_t powerState, \ 1404*5fd0122aSMatthias Ringwald uint32_t timeout))ROM_PCMTABLE[7]) 1405*5fd0122aSMatthias Ringwald #endif 1406*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1407*5fd0122aSMatthias Ringwald #define ROM_PCM_getPowerState \ 1408*5fd0122aSMatthias Ringwald ((uint8_t (*)(void))ROM_PCMTABLE[8]) 1409*5fd0122aSMatthias Ringwald #endif 1410*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1411*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1412*5fd0122aSMatthias Ringwald #define ROM_PCM_shutdownDevice \ 1413*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t shutdownMode))ROM_PCMTABLE[9]) 1414*5fd0122aSMatthias Ringwald #endif 1415*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1416*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1417*5fd0122aSMatthias Ringwald #define ROM_PCM_gotoLPM0 \ 1418*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_PCMTABLE[10]) 1419*5fd0122aSMatthias Ringwald #endif 1420*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1421*5fd0122aSMatthias Ringwald #define ROM_PCM_gotoLPM3 \ 1422*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_PCMTABLE[11]) 1423*5fd0122aSMatthias Ringwald #endif 1424*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1425*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1426*5fd0122aSMatthias Ringwald #define ROM_PCM_enableInterrupt \ 1427*5fd0122aSMatthias Ringwald ((void (*)(uint32_t flags))ROM_PCMTABLE[12]) 1428*5fd0122aSMatthias Ringwald #endif 1429*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1430*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1431*5fd0122aSMatthias Ringwald #define ROM_PCM_disableInterrupt \ 1432*5fd0122aSMatthias Ringwald ((void (*)(uint32_t flags))ROM_PCMTABLE[13]) 1433*5fd0122aSMatthias Ringwald #endif 1434*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1435*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1436*5fd0122aSMatthias Ringwald #define ROM_PCM_getInterruptStatus \ 1437*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_PCMTABLE[14]) 1438*5fd0122aSMatthias Ringwald #endif 1439*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1440*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1441*5fd0122aSMatthias Ringwald #define ROM_PCM_getEnabledInterruptStatus \ 1442*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_PCMTABLE[15]) 1443*5fd0122aSMatthias Ringwald #endif 1444*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1445*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1446*5fd0122aSMatthias Ringwald #define ROM_PCM_clearInterruptFlag \ 1447*5fd0122aSMatthias Ringwald ((void (*)(uint32_t flags))ROM_PCMTABLE[16]) 1448*5fd0122aSMatthias Ringwald #endif 1449*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1450*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1451*5fd0122aSMatthias Ringwald #define ROM_PCM_enableRudeMode \ 1452*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_PCMTABLE[17]) 1453*5fd0122aSMatthias Ringwald #endif 1454*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1455*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1456*5fd0122aSMatthias Ringwald #define ROM_PCM_disableRudeMode \ 1457*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_PCMTABLE[18]) 1458*5fd0122aSMatthias Ringwald #endif 1459*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1460*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1461*5fd0122aSMatthias Ringwald #define ROM_PCM_gotoLPM0InterruptSafe \ 1462*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_PCMTABLE[19]) 1463*5fd0122aSMatthias Ringwald #endif 1464*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1465*5fd0122aSMatthias Ringwald #define ROM_PCM_gotoLPM3InterruptSafe \ 1466*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_PCMTABLE[20]) 1467*5fd0122aSMatthias Ringwald #endif 1468*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1469*5fd0122aSMatthias Ringwald #define ROM_PCM_setCoreVoltageLevelNonBlocking \ 1470*5fd0122aSMatthias Ringwald ((bool (*)(uint_fast8_t voltageLevel))ROM_PCMTABLE[23]) 1471*5fd0122aSMatthias Ringwald #endif 1472*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1473*5fd0122aSMatthias Ringwald #define ROM_PCM_setPowerModeNonBlocking \ 1474*5fd0122aSMatthias Ringwald ((bool (*)(uint_fast8_t powerMode))ROM_PCMTABLE[24]) 1475*5fd0122aSMatthias Ringwald #endif 1476*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1477*5fd0122aSMatthias Ringwald #define ROM_PCM_setPowerStateNonBlocking \ 1478*5fd0122aSMatthias Ringwald ((bool (*)(uint_fast8_t powerState))ROM_PCMTABLE[25]) 1479*5fd0122aSMatthias Ringwald #endif 1480*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1481*5fd0122aSMatthias Ringwald #define ROM_PCM_gotoLPM4 \ 1482*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_PCMTABLE[26]) 1483*5fd0122aSMatthias Ringwald #endif 1484*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1485*5fd0122aSMatthias Ringwald #define ROM_PCM_gotoLPM4InterruptSafe \ 1486*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_PCMTABLE[27]) 1487*5fd0122aSMatthias Ringwald #endif 1488*5fd0122aSMatthias Ringwald 1489*5fd0122aSMatthias Ringwald //***************************************************************************** 1490*5fd0122aSMatthias Ringwald // 1491*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the PMAP API. 1492*5fd0122aSMatthias Ringwald // 1493*5fd0122aSMatthias Ringwald //***************************************************************************** 1494*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1495*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1496*5fd0122aSMatthias Ringwald #define ROM_PMAP_configurePorts \ 1497*5fd0122aSMatthias Ringwald ((void (*)(const uint8_t *portMapping, \ 1498*5fd0122aSMatthias Ringwald uint8_t pxMAPy, \ 1499*5fd0122aSMatthias Ringwald uint8_t numberOfPorts, \ 1500*5fd0122aSMatthias Ringwald uint8_t portMapReconfigure))ROM_PMAPTABLE[0]) 1501*5fd0122aSMatthias Ringwald #endif 1502*5fd0122aSMatthias Ringwald 1503*5fd0122aSMatthias Ringwald //***************************************************************************** 1504*5fd0122aSMatthias Ringwald // 1505*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the PSS API. 1506*5fd0122aSMatthias Ringwald // 1507*5fd0122aSMatthias Ringwald //***************************************************************************** 1508*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1509*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1510*5fd0122aSMatthias Ringwald #define ROM_PSS_enableHighSidePinToggle \ 1511*5fd0122aSMatthias Ringwald ((void (*)(bool activeLow))ROM_PSSTABLE[0]) 1512*5fd0122aSMatthias Ringwald #endif 1513*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1514*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1515*5fd0122aSMatthias Ringwald #define ROM_PSS_disableHighSidePinToggle \ 1516*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_PSSTABLE[1]) 1517*5fd0122aSMatthias Ringwald #endif 1518*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1519*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1520*5fd0122aSMatthias Ringwald #define ROM_PSS_enableHighSide \ 1521*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_PSSTABLE[2]) 1522*5fd0122aSMatthias Ringwald #endif 1523*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1524*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1525*5fd0122aSMatthias Ringwald #define ROM_PSS_disableHighSide \ 1526*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_PSSTABLE[3]) 1527*5fd0122aSMatthias Ringwald #endif 1528*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1529*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1530*5fd0122aSMatthias Ringwald #define ROM_PSS_setHighSidePerformanceMode \ 1531*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t powerMode))ROM_PSSTABLE[6]) 1532*5fd0122aSMatthias Ringwald #endif 1533*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1534*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1535*5fd0122aSMatthias Ringwald #define ROM_PSS_getHighSidePerformanceMode \ 1536*5fd0122aSMatthias Ringwald ((uint_fast8_t (*)(void))ROM_PSSTABLE[7]) 1537*5fd0122aSMatthias Ringwald #endif 1538*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1539*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1540*5fd0122aSMatthias Ringwald #define ROM_PSS_enableHighSideMonitor \ 1541*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_PSSTABLE[10]) 1542*5fd0122aSMatthias Ringwald #endif 1543*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1544*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1545*5fd0122aSMatthias Ringwald #define ROM_PSS_disableHighSideMonitor \ 1546*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_PSSTABLE[11]) 1547*5fd0122aSMatthias Ringwald #endif 1548*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1549*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1550*5fd0122aSMatthias Ringwald #define ROM_PSS_setHighSideVoltageTrigger \ 1551*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t triggerVoltage))ROM_PSSTABLE[12]) 1552*5fd0122aSMatthias Ringwald #endif 1553*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1554*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1555*5fd0122aSMatthias Ringwald #define ROM_PSS_getHighSideVoltageTrigger \ 1556*5fd0122aSMatthias Ringwald ((uint_fast8_t (*)(void))ROM_PSSTABLE[13]) 1557*5fd0122aSMatthias Ringwald #endif 1558*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1559*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1560*5fd0122aSMatthias Ringwald #define ROM_PSS_enableInterrupt \ 1561*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_PSSTABLE[14]) 1562*5fd0122aSMatthias Ringwald #endif 1563*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1564*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1565*5fd0122aSMatthias Ringwald #define ROM_PSS_disableInterrupt \ 1566*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_PSSTABLE[15]) 1567*5fd0122aSMatthias Ringwald #endif 1568*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1569*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1570*5fd0122aSMatthias Ringwald #define ROM_PSS_getInterruptStatus \ 1571*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_PSSTABLE[16]) 1572*5fd0122aSMatthias Ringwald #endif 1573*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1574*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1575*5fd0122aSMatthias Ringwald #define ROM_PSS_enableForcedDCDCOperation \ 1576*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_PSSTABLE[20]) 1577*5fd0122aSMatthias Ringwald #endif 1578*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1579*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1580*5fd0122aSMatthias Ringwald #define ROM_PSS_disableForcedDCDCOperation \ 1581*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_PSSTABLE[21]) 1582*5fd0122aSMatthias Ringwald #endif 1583*5fd0122aSMatthias Ringwald 1584*5fd0122aSMatthias Ringwald //***************************************************************************** 1585*5fd0122aSMatthias Ringwald // 1586*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the Ref API. 1587*5fd0122aSMatthias Ringwald // 1588*5fd0122aSMatthias Ringwald //***************************************************************************** 1589*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1590*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1591*5fd0122aSMatthias Ringwald #define ROM_REF_A_setReferenceVoltage \ 1592*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t referenceVoltageSelect))ROM_REFTABLE[0]) 1593*5fd0122aSMatthias Ringwald #endif 1594*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1595*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1596*5fd0122aSMatthias Ringwald #define ROM_REF_A_disableTempSensor \ 1597*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_REFTABLE[1]) 1598*5fd0122aSMatthias Ringwald #endif 1599*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1600*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1601*5fd0122aSMatthias Ringwald #define ROM_REF_A_enableTempSensor \ 1602*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_REFTABLE[2]) 1603*5fd0122aSMatthias Ringwald #endif 1604*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1605*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1606*5fd0122aSMatthias Ringwald #define ROM_REF_A_enableReferenceVoltageOutput \ 1607*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_REFTABLE[3]) 1608*5fd0122aSMatthias Ringwald #endif 1609*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1610*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1611*5fd0122aSMatthias Ringwald #define ROM_REF_A_disableReferenceVoltageOutput \ 1612*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_REFTABLE[4]) 1613*5fd0122aSMatthias Ringwald #endif 1614*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1615*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1616*5fd0122aSMatthias Ringwald #define ROM_REF_A_enableReferenceVoltage \ 1617*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_REFTABLE[5]) 1618*5fd0122aSMatthias Ringwald #endif 1619*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1620*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1621*5fd0122aSMatthias Ringwald #define ROM_REF_A_disableReferenceVoltage \ 1622*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_REFTABLE[6]) 1623*5fd0122aSMatthias Ringwald #endif 1624*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1625*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1626*5fd0122aSMatthias Ringwald #define ROM_REF_A_getBandgapMode \ 1627*5fd0122aSMatthias Ringwald ((uint_fast8_t (*)(void))ROM_REFTABLE[7]) 1628*5fd0122aSMatthias Ringwald #endif 1629*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1630*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1631*5fd0122aSMatthias Ringwald #define ROM_REF_A_isBandgapActive \ 1632*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_REFTABLE[8]) 1633*5fd0122aSMatthias Ringwald #endif 1634*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1635*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1636*5fd0122aSMatthias Ringwald #define ROM_REF_A_isRefGenBusy \ 1637*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_REFTABLE[9]) 1638*5fd0122aSMatthias Ringwald #endif 1639*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1640*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1641*5fd0122aSMatthias Ringwald #define ROM_REF_A_isRefGenActive \ 1642*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_REFTABLE[10]) 1643*5fd0122aSMatthias Ringwald #endif 1644*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1645*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1646*5fd0122aSMatthias Ringwald #define ROM_REF_A_getBufferedBandgapVoltageStatus \ 1647*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_REFTABLE[11]) 1648*5fd0122aSMatthias Ringwald #endif 1649*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1650*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1651*5fd0122aSMatthias Ringwald #define ROM_REF_A_getVariableReferenceVoltageStatus \ 1652*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_REFTABLE[12]) 1653*5fd0122aSMatthias Ringwald #endif 1654*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1655*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1656*5fd0122aSMatthias Ringwald #define ROM_REF_A_setReferenceVoltageOneTimeTrigger \ 1657*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_REFTABLE[13]) 1658*5fd0122aSMatthias Ringwald #endif 1659*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1660*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1661*5fd0122aSMatthias Ringwald #define ROM_REF_A_setBufferedBandgapVoltageOneTimeTrigger \ 1662*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_REFTABLE[14]) 1663*5fd0122aSMatthias Ringwald #endif 1664*5fd0122aSMatthias Ringwald 1665*5fd0122aSMatthias Ringwald //***************************************************************************** 1666*5fd0122aSMatthias Ringwald // 1667*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the ResetCtl API. 1668*5fd0122aSMatthias Ringwald // 1669*5fd0122aSMatthias Ringwald //***************************************************************************** 1670*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1671*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1672*5fd0122aSMatthias Ringwald #define ROM_ResetCtl_initiateSoftReset \ 1673*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_RESETCTLTABLE[0]) 1674*5fd0122aSMatthias Ringwald #endif 1675*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1676*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1677*5fd0122aSMatthias Ringwald #define ROM_ResetCtl_initiateSoftResetWithSource \ 1678*5fd0122aSMatthias Ringwald ((void (*)(uint32_t source))ROM_RESETCTLTABLE[1]) 1679*5fd0122aSMatthias Ringwald #endif 1680*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1681*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1682*5fd0122aSMatthias Ringwald #define ROM_ResetCtl_getSoftResetSource \ 1683*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_RESETCTLTABLE[2]) 1684*5fd0122aSMatthias Ringwald #endif 1685*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1686*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1687*5fd0122aSMatthias Ringwald #define ROM_ResetCtl_clearSoftResetSource \ 1688*5fd0122aSMatthias Ringwald ((void (*)(uint32_t mask))ROM_RESETCTLTABLE[3]) 1689*5fd0122aSMatthias Ringwald #endif 1690*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1691*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1692*5fd0122aSMatthias Ringwald #define ROM_ResetCtl_initiateHardReset \ 1693*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_RESETCTLTABLE[4]) 1694*5fd0122aSMatthias Ringwald #endif 1695*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1696*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1697*5fd0122aSMatthias Ringwald #define ROM_ResetCtl_initiateHardResetWithSource \ 1698*5fd0122aSMatthias Ringwald ((void (*)(uint32_t source))ROM_RESETCTLTABLE[5]) 1699*5fd0122aSMatthias Ringwald #endif 1700*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1701*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1702*5fd0122aSMatthias Ringwald #define ROM_ResetCtl_getHardResetSource \ 1703*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_RESETCTLTABLE[6]) 1704*5fd0122aSMatthias Ringwald #endif 1705*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1706*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1707*5fd0122aSMatthias Ringwald #define ROM_ResetCtl_clearHardResetSource \ 1708*5fd0122aSMatthias Ringwald ((void (*)(uint32_t mask))ROM_RESETCTLTABLE[7]) 1709*5fd0122aSMatthias Ringwald #endif 1710*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1711*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1712*5fd0122aSMatthias Ringwald #define ROM_ResetCtl_getPSSSource \ 1713*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_RESETCTLTABLE[8]) 1714*5fd0122aSMatthias Ringwald #endif 1715*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1716*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1717*5fd0122aSMatthias Ringwald #define ROM_ResetCtl_clearPSSFlags \ 1718*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_RESETCTLTABLE[9]) 1719*5fd0122aSMatthias Ringwald #endif 1720*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1721*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1722*5fd0122aSMatthias Ringwald #define ROM_ResetCtl_getPCMSource \ 1723*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_RESETCTLTABLE[10]) 1724*5fd0122aSMatthias Ringwald #endif 1725*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1726*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1727*5fd0122aSMatthias Ringwald #define ROM_ResetCtl_clearPCMFlags \ 1728*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_RESETCTLTABLE[11]) 1729*5fd0122aSMatthias Ringwald #endif 1730*5fd0122aSMatthias Ringwald 1731*5fd0122aSMatthias Ringwald //***************************************************************************** 1732*5fd0122aSMatthias Ringwald // 1733*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the RTC API. 1734*5fd0122aSMatthias Ringwald // 1735*5fd0122aSMatthias Ringwald //***************************************************************************** 1736*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1737*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1738*5fd0122aSMatthias Ringwald #define ROM_RTC_C_startClock \ 1739*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_RTCTABLE[0]) 1740*5fd0122aSMatthias Ringwald #endif 1741*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1742*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1743*5fd0122aSMatthias Ringwald #define ROM_RTC_C_holdClock \ 1744*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_RTCTABLE[1]) 1745*5fd0122aSMatthias Ringwald #endif 1746*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1747*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1748*5fd0122aSMatthias Ringwald #define ROM_RTC_C_setCalibrationFrequency \ 1749*5fd0122aSMatthias Ringwald ((void (*)(uint_fast16_t frequencySelect))ROM_RTCTABLE[2]) 1750*5fd0122aSMatthias Ringwald #endif 1751*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1752*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1753*5fd0122aSMatthias Ringwald #define ROM_RTC_C_setCalibrationData \ 1754*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t offsetDirection, \ 1755*5fd0122aSMatthias Ringwald uint_fast8_t offsetValue))ROM_RTCTABLE[3]) 1756*5fd0122aSMatthias Ringwald #endif 1757*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1758*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1759*5fd0122aSMatthias Ringwald #define ROM_RTC_C_setTemperatureCompensation \ 1760*5fd0122aSMatthias Ringwald ((bool (*)(uint_fast16_t offsetDirection, \ 1761*5fd0122aSMatthias Ringwald uint_fast8_t offsetValue))ROM_RTCTABLE[4]) 1762*5fd0122aSMatthias Ringwald #endif 1763*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1764*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1765*5fd0122aSMatthias Ringwald #define ROM_RTC_C_initCalendar \ 1766*5fd0122aSMatthias Ringwald ((void (*)(const RTC_C_Calendar *calendarTime, \ 1767*5fd0122aSMatthias Ringwald uint_fast16_t formatSelect))ROM_RTCTABLE[5]) 1768*5fd0122aSMatthias Ringwald #endif 1769*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1770*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1771*5fd0122aSMatthias Ringwald #define ROM_RTC_C_setCalendarAlarm \ 1772*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t minutesAlarm, \ 1773*5fd0122aSMatthias Ringwald uint_fast8_t hoursAlarm, \ 1774*5fd0122aSMatthias Ringwald uint_fast8_t dayOfWeekAlarm, \ 1775*5fd0122aSMatthias Ringwald uint_fast8_t dayOfmonthAlarm))ROM_RTCTABLE[7]) 1776*5fd0122aSMatthias Ringwald #endif 1777*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1778*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1779*5fd0122aSMatthias Ringwald #define ROM_RTC_C_setCalendarEvent \ 1780*5fd0122aSMatthias Ringwald ((void (*)(uint_fast16_t eventSelect))ROM_RTCTABLE[8]) 1781*5fd0122aSMatthias Ringwald #endif 1782*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1783*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1784*5fd0122aSMatthias Ringwald #define ROM_RTC_C_getPrescaleValue \ 1785*5fd0122aSMatthias Ringwald ((uint_fast8_t (*)(uint_fast8_t prescaleSelect))ROM_RTCTABLE[10]) 1786*5fd0122aSMatthias Ringwald #endif 1787*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1788*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1789*5fd0122aSMatthias Ringwald #define ROM_RTC_C_setPrescaleValue \ 1790*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t prescaleSelect, \ 1791*5fd0122aSMatthias Ringwald uint_fast8_t prescaleCounterValue))ROM_RTCTABLE[11]) 1792*5fd0122aSMatthias Ringwald #endif 1793*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1794*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1795*5fd0122aSMatthias Ringwald #define ROM_RTC_C_convertBCDToBinary \ 1796*5fd0122aSMatthias Ringwald ((uint16_t (*)(uint16_t valueToConvert))ROM_RTCTABLE[12]) 1797*5fd0122aSMatthias Ringwald #endif 1798*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1799*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1800*5fd0122aSMatthias Ringwald #define ROM_RTC_C_convertBinaryToBCD \ 1801*5fd0122aSMatthias Ringwald ((uint16_t (*)(uint16_t valueToConvert))ROM_RTCTABLE[13]) 1802*5fd0122aSMatthias Ringwald #endif 1803*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1804*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1805*5fd0122aSMatthias Ringwald #define ROM_RTC_C_getInterruptStatus \ 1806*5fd0122aSMatthias Ringwald ((uint_fast8_t (*)(void))ROM_RTCTABLE[16]) 1807*5fd0122aSMatthias Ringwald #endif 1808*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1809*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1810*5fd0122aSMatthias Ringwald #define ROM_RTC_C_clearInterruptFlag \ 1811*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t interruptFlagMask))ROM_RTCTABLE[18]) 1812*5fd0122aSMatthias Ringwald #endif 1813*5fd0122aSMatthias Ringwald 1814*5fd0122aSMatthias Ringwald //***************************************************************************** 1815*5fd0122aSMatthias Ringwald // 1816*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the SPI API. 1817*5fd0122aSMatthias Ringwald // 1818*5fd0122aSMatthias Ringwald //***************************************************************************** 1819*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1820*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1821*5fd0122aSMatthias Ringwald #define ROM_SPI_selectFourPinFunctionality \ 1822*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1823*5fd0122aSMatthias Ringwald uint_fast8_t select4PinFunctionality))ROM_SPITABLE[1]) 1824*5fd0122aSMatthias Ringwald #endif 1825*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1826*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1827*5fd0122aSMatthias Ringwald #define ROM_SPI_changeMasterClock \ 1828*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1829*5fd0122aSMatthias Ringwald uint32_t clockSourceFrequency, \ 1830*5fd0122aSMatthias Ringwald uint32_t desiredSpiClock))ROM_SPITABLE[2]) 1831*5fd0122aSMatthias Ringwald #endif 1832*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1833*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1834*5fd0122aSMatthias Ringwald #define ROM_SPI_initSlave \ 1835*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t moduleInstance, \ 1836*5fd0122aSMatthias Ringwald const eUSCI_SPI_SlaveConfig *config))ROM_SPITABLE[3]) 1837*5fd0122aSMatthias Ringwald #endif 1838*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1839*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1840*5fd0122aSMatthias Ringwald #define ROM_SPI_changeClockPhasePolarity \ 1841*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1842*5fd0122aSMatthias Ringwald uint_fast16_t clockPhase, \ 1843*5fd0122aSMatthias Ringwald uint_fast16_t clockPolarity))ROM_SPITABLE[4]) 1844*5fd0122aSMatthias Ringwald #endif 1845*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1846*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1847*5fd0122aSMatthias Ringwald #define ROM_SPI_transmitData \ 1848*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1849*5fd0122aSMatthias Ringwald uint_fast8_t transmitData))ROM_SPITABLE[5]) 1850*5fd0122aSMatthias Ringwald #endif 1851*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1852*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1853*5fd0122aSMatthias Ringwald #define ROM_SPI_receiveData \ 1854*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint32_t moduleInstance))ROM_SPITABLE[6]) 1855*5fd0122aSMatthias Ringwald #endif 1856*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1857*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1858*5fd0122aSMatthias Ringwald #define ROM_SPI_enableModule \ 1859*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_SPITABLE[7]) 1860*5fd0122aSMatthias Ringwald #endif 1861*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1862*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1863*5fd0122aSMatthias Ringwald #define ROM_SPI_disableModule \ 1864*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_SPITABLE[8]) 1865*5fd0122aSMatthias Ringwald #endif 1866*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1867*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1868*5fd0122aSMatthias Ringwald #define ROM_SPI_getReceiveBufferAddressForDMA \ 1869*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t moduleInstance))ROM_SPITABLE[9]) 1870*5fd0122aSMatthias Ringwald #endif 1871*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1872*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1873*5fd0122aSMatthias Ringwald #define ROM_SPI_getTransmitBufferAddressForDMA \ 1874*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t moduleInstance))ROM_SPITABLE[10]) 1875*5fd0122aSMatthias Ringwald #endif 1876*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1877*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1878*5fd0122aSMatthias Ringwald #define ROM_SPI_isBusy \ 1879*5fd0122aSMatthias Ringwald ((uint_fast8_t (*)(uint32_t moduleInstance))ROM_SPITABLE[11]) 1880*5fd0122aSMatthias Ringwald #endif 1881*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1882*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1883*5fd0122aSMatthias Ringwald #define ROM_SPI_enableInterrupt \ 1884*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1885*5fd0122aSMatthias Ringwald uint_fast8_t mask))ROM_SPITABLE[12]) 1886*5fd0122aSMatthias Ringwald #endif 1887*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1888*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1889*5fd0122aSMatthias Ringwald #define ROM_SPI_disableInterrupt \ 1890*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1891*5fd0122aSMatthias Ringwald uint_fast8_t mask))ROM_SPITABLE[13]) 1892*5fd0122aSMatthias Ringwald #endif 1893*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1894*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1895*5fd0122aSMatthias Ringwald #define ROM_SPI_getInterruptStatus \ 1896*5fd0122aSMatthias Ringwald ((uint_fast8_t (*)(uint32_t moduleInstance, \ 1897*5fd0122aSMatthias Ringwald uint16_t mask))ROM_SPITABLE[14]) 1898*5fd0122aSMatthias Ringwald #endif 1899*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1900*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1901*5fd0122aSMatthias Ringwald #define ROM_SPI_clearInterruptFlag \ 1902*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 1903*5fd0122aSMatthias Ringwald uint_fast8_t mask))ROM_SPITABLE[16]) 1904*5fd0122aSMatthias Ringwald #endif 1905*5fd0122aSMatthias Ringwald 1906*5fd0122aSMatthias Ringwald //***************************************************************************** 1907*5fd0122aSMatthias Ringwald // 1908*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the SysCtl API. 1909*5fd0122aSMatthias Ringwald // 1910*5fd0122aSMatthias Ringwald //***************************************************************************** 1911*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1912*5fd0122aSMatthias Ringwald #define ROM_SysCtl_getSRAMSize \ 1913*5fd0122aSMatthias Ringwald ((uint_least32_t (*)(void))ROM_SYSCTLTABLE[0]) 1914*5fd0122aSMatthias Ringwald #endif 1915*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1916*5fd0122aSMatthias Ringwald #define ROM_SysCtl_getFlashSize \ 1917*5fd0122aSMatthias Ringwald ((uint_least32_t (*)(void))ROM_SYSCTLTABLE[1]) 1918*5fd0122aSMatthias Ringwald #endif 1919*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1920*5fd0122aSMatthias Ringwald #define ROM_SysCtl_rebootDevice \ 1921*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_SYSCTLTABLE[2]) 1922*5fd0122aSMatthias Ringwald #endif 1923*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1924*5fd0122aSMatthias Ringwald #define ROM_SysCtl_enableSRAMBank \ 1925*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t sramBank))ROM_SYSCTLTABLE[3]) 1926*5fd0122aSMatthias Ringwald #endif 1927*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1928*5fd0122aSMatthias Ringwald #define ROM_SysCtl_disableSRAMBank \ 1929*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t sramBank))ROM_SYSCTLTABLE[4]) 1930*5fd0122aSMatthias Ringwald #endif 1931*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1932*5fd0122aSMatthias Ringwald #define ROM_SysCtl_enableSRAMBankRetention \ 1933*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t sramBank))ROM_SYSCTLTABLE[5]) 1934*5fd0122aSMatthias Ringwald #endif 1935*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1936*5fd0122aSMatthias Ringwald #define ROM_SysCtl_disableSRAMBankRetention \ 1937*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t sramBank))ROM_SYSCTLTABLE[6]) 1938*5fd0122aSMatthias Ringwald #endif 1939*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1940*5fd0122aSMatthias Ringwald #define ROM_SysCtl_enablePeripheralAtCPUHalt \ 1941*5fd0122aSMatthias Ringwald ((void (*)(uint_fast16_t devices))ROM_SYSCTLTABLE[7]) 1942*5fd0122aSMatthias Ringwald #endif 1943*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1944*5fd0122aSMatthias Ringwald #define ROM_SysCtl_disablePeripheralAtCPUHalt \ 1945*5fd0122aSMatthias Ringwald ((void (*)(uint_fast16_t devices))ROM_SYSCTLTABLE[8]) 1946*5fd0122aSMatthias Ringwald #endif 1947*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1948*5fd0122aSMatthias Ringwald #define ROM_SysCtl_setWDTTimeoutResetType \ 1949*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t resetType))ROM_SYSCTLTABLE[9]) 1950*5fd0122aSMatthias Ringwald #endif 1951*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1952*5fd0122aSMatthias Ringwald #define ROM_SysCtl_setWDTPasswordViolationResetType \ 1953*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t resetType))ROM_SYSCTLTABLE[10]) 1954*5fd0122aSMatthias Ringwald #endif 1955*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1956*5fd0122aSMatthias Ringwald #define ROM_SysCtl_disableNMISource \ 1957*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t flags))ROM_SYSCTLTABLE[11]) 1958*5fd0122aSMatthias Ringwald #endif 1959*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1960*5fd0122aSMatthias Ringwald #define ROM_SysCtl_enableNMISource \ 1961*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t flags))ROM_SYSCTLTABLE[12]) 1962*5fd0122aSMatthias Ringwald #endif 1963*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1964*5fd0122aSMatthias Ringwald #define ROM_SysCtl_getTempCalibrationConstant \ 1965*5fd0122aSMatthias Ringwald ((uint_fast16_t (*)(uint32_t refVoltage, \ 1966*5fd0122aSMatthias Ringwald uint32_t temperature))ROM_SYSCTLTABLE[14]) 1967*5fd0122aSMatthias Ringwald #endif 1968*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1969*5fd0122aSMatthias Ringwald #define ROM_SysCtl_enableGlitchFilter \ 1970*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_SYSCTLTABLE[15]) 1971*5fd0122aSMatthias Ringwald #endif 1972*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1973*5fd0122aSMatthias Ringwald #define ROM_SysCtl_disableGlitchFilter \ 1974*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_SYSCTLTABLE[16]) 1975*5fd0122aSMatthias Ringwald #endif 1976*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) 1977*5fd0122aSMatthias Ringwald #define ROM_SysCtl_getTLVInfo \ 1978*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t tag, \ 1979*5fd0122aSMatthias Ringwald uint_fast8_t instance, \ 1980*5fd0122aSMatthias Ringwald uint_fast8_t *length, \ 1981*5fd0122aSMatthias Ringwald uint32_t **data_address))ROM_SYSCTLTABLE[17]) 1982*5fd0122aSMatthias Ringwald #endif 1983*5fd0122aSMatthias Ringwald 1984*5fd0122aSMatthias Ringwald //***************************************************************************** 1985*5fd0122aSMatthias Ringwald // 1986*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the SysTick API. 1987*5fd0122aSMatthias Ringwald // 1988*5fd0122aSMatthias Ringwald //***************************************************************************** 1989*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1990*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1991*5fd0122aSMatthias Ringwald #define ROM_SysTick_enableModule \ 1992*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_SYSTICKTABLE[0]) 1993*5fd0122aSMatthias Ringwald #endif 1994*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 1995*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 1996*5fd0122aSMatthias Ringwald #define ROM_SysTick_disableModule \ 1997*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_SYSTICKTABLE[1]) 1998*5fd0122aSMatthias Ringwald #endif 1999*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2000*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2001*5fd0122aSMatthias Ringwald #define ROM_SysTick_enableInterrupt \ 2002*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_SYSTICKTABLE[2]) 2003*5fd0122aSMatthias Ringwald #endif 2004*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2005*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2006*5fd0122aSMatthias Ringwald #define ROM_SysTick_disableInterrupt \ 2007*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_SYSTICKTABLE[3]) 2008*5fd0122aSMatthias Ringwald #endif 2009*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2010*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2011*5fd0122aSMatthias Ringwald #define ROM_SysTick_setPeriod \ 2012*5fd0122aSMatthias Ringwald ((void (*)(uint32_t period))ROM_SYSTICKTABLE[4]) 2013*5fd0122aSMatthias Ringwald #endif 2014*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2015*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2016*5fd0122aSMatthias Ringwald #define ROM_SysTick_getPeriod \ 2017*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_SYSTICKTABLE[5]) 2018*5fd0122aSMatthias Ringwald #endif 2019*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2020*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2021*5fd0122aSMatthias Ringwald #define ROM_SysTick_getValue \ 2022*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_SYSTICKTABLE[6]) 2023*5fd0122aSMatthias Ringwald #endif 2024*5fd0122aSMatthias Ringwald 2025*5fd0122aSMatthias Ringwald //***************************************************************************** 2026*5fd0122aSMatthias Ringwald // 2027*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the Timer_A API. 2028*5fd0122aSMatthias Ringwald // 2029*5fd0122aSMatthias Ringwald //***************************************************************************** 2030*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2031*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2032*5fd0122aSMatthias Ringwald #define ROM_Timer_A_startCounter \ 2033*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2034*5fd0122aSMatthias Ringwald uint_fast16_t timerMode))ROM_TIMER_ATABLE[0]) 2035*5fd0122aSMatthias Ringwald #endif 2036*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2037*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2038*5fd0122aSMatthias Ringwald #define ROM_Timer_A_configureContinuousMode \ 2039*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2040*5fd0122aSMatthias Ringwald const Timer_A_ContinuousModeConfig *config))ROM_TIMER_ATABLE[1]) 2041*5fd0122aSMatthias Ringwald #endif 2042*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2043*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2044*5fd0122aSMatthias Ringwald #define ROM_Timer_A_configureUpMode \ 2045*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2046*5fd0122aSMatthias Ringwald const Timer_A_UpModeConfig *config))ROM_TIMER_ATABLE[2]) 2047*5fd0122aSMatthias Ringwald #endif 2048*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2049*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2050*5fd0122aSMatthias Ringwald #define ROM_Timer_A_configureUpDownMode \ 2051*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2052*5fd0122aSMatthias Ringwald const Timer_A_UpDownModeConfig *config))ROM_TIMER_ATABLE[3]) 2053*5fd0122aSMatthias Ringwald #endif 2054*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2055*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2056*5fd0122aSMatthias Ringwald #define ROM_Timer_A_initCapture \ 2057*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2058*5fd0122aSMatthias Ringwald const Timer_A_CaptureModeConfig *config))ROM_TIMER_ATABLE[4]) 2059*5fd0122aSMatthias Ringwald #endif 2060*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2061*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2062*5fd0122aSMatthias Ringwald #define ROM_Timer_A_initCompare \ 2063*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2064*5fd0122aSMatthias Ringwald const Timer_A_CompareModeConfig *config))ROM_TIMER_ATABLE[5]) 2065*5fd0122aSMatthias Ringwald #endif 2066*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2067*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2068*5fd0122aSMatthias Ringwald #define ROM_Timer_A_clearTimer \ 2069*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[6]) 2070*5fd0122aSMatthias Ringwald #endif 2071*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2072*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2073*5fd0122aSMatthias Ringwald #define ROM_Timer_A_getSynchronizedCaptureCompareInput \ 2074*5fd0122aSMatthias Ringwald ((uint_fast8_t (*)(uint32_t timer, \ 2075*5fd0122aSMatthias Ringwald uint_fast16_t captureCompareRegister, \ 2076*5fd0122aSMatthias Ringwald uint_fast16_t synchronizedSetting))ROM_TIMER_ATABLE[7]) 2077*5fd0122aSMatthias Ringwald #endif 2078*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2079*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2080*5fd0122aSMatthias Ringwald #define ROM_Timer_A_getOutputForOutputModeOutBitValue \ 2081*5fd0122aSMatthias Ringwald ((uint_fast8_t (*)(uint32_t timer, \ 2082*5fd0122aSMatthias Ringwald uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[8]) 2083*5fd0122aSMatthias Ringwald #endif 2084*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2085*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2086*5fd0122aSMatthias Ringwald #define ROM_Timer_A_getCaptureCompareCount \ 2087*5fd0122aSMatthias Ringwald ((uint_fast16_t (*)(uint32_t timer, \ 2088*5fd0122aSMatthias Ringwald uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[9]) 2089*5fd0122aSMatthias Ringwald #endif 2090*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2091*5fd0122aSMatthias Ringwald #define ROM_Timer_A_setOutputForOutputModeOutBitValue \ 2092*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2093*5fd0122aSMatthias Ringwald uint_fast16_t captureCompareRegister, \ 2094*5fd0122aSMatthias Ringwald uint_fast8_t outputModeOutBitValue))ROM_TIMER_ATABLE[10]) 2095*5fd0122aSMatthias Ringwald #endif 2096*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2097*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2098*5fd0122aSMatthias Ringwald #define ROM_Timer_A_generatePWM \ 2099*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2100*5fd0122aSMatthias Ringwald const Timer_A_PWMConfig *config))ROM_TIMER_ATABLE[11]) 2101*5fd0122aSMatthias Ringwald #endif 2102*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2103*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2104*5fd0122aSMatthias Ringwald #define ROM_Timer_A_stopTimer \ 2105*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[12]) 2106*5fd0122aSMatthias Ringwald #endif 2107*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2108*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2109*5fd0122aSMatthias Ringwald #define ROM_Timer_A_setCompareValue \ 2110*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2111*5fd0122aSMatthias Ringwald uint_fast16_t compareRegister, \ 2112*5fd0122aSMatthias Ringwald uint_fast16_t compareValue))ROM_TIMER_ATABLE[13]) 2113*5fd0122aSMatthias Ringwald #endif 2114*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2115*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2116*5fd0122aSMatthias Ringwald #define ROM_Timer_A_clearInterruptFlag \ 2117*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[14]) 2118*5fd0122aSMatthias Ringwald #endif 2119*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2120*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2121*5fd0122aSMatthias Ringwald #define ROM_Timer_A_clearCaptureCompareInterrupt \ 2122*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2123*5fd0122aSMatthias Ringwald uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[15]) 2124*5fd0122aSMatthias Ringwald #endif 2125*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2126*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2127*5fd0122aSMatthias Ringwald #define ROM_Timer_A_enableInterrupt \ 2128*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[16]) 2129*5fd0122aSMatthias Ringwald #endif 2130*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2131*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2132*5fd0122aSMatthias Ringwald #define ROM_Timer_A_disableInterrupt \ 2133*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[17]) 2134*5fd0122aSMatthias Ringwald #endif 2135*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2136*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2137*5fd0122aSMatthias Ringwald #define ROM_Timer_A_getInterruptStatus \ 2138*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t timer))ROM_TIMER_ATABLE[18]) 2139*5fd0122aSMatthias Ringwald #endif 2140*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2141*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2142*5fd0122aSMatthias Ringwald #define ROM_Timer_A_getEnabledInterruptStatus \ 2143*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t timer))ROM_TIMER_ATABLE[19]) 2144*5fd0122aSMatthias Ringwald #endif 2145*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2146*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2147*5fd0122aSMatthias Ringwald #define ROM_Timer_A_enableCaptureCompareInterrupt \ 2148*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2149*5fd0122aSMatthias Ringwald uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[20]) 2150*5fd0122aSMatthias Ringwald #endif 2151*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2152*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2153*5fd0122aSMatthias Ringwald #define ROM_Timer_A_disableCaptureCompareInterrupt \ 2154*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2155*5fd0122aSMatthias Ringwald uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[21]) 2156*5fd0122aSMatthias Ringwald #endif 2157*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2158*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2159*5fd0122aSMatthias Ringwald #define ROM_Timer_A_getCaptureCompareInterruptStatus \ 2160*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t timer, \ 2161*5fd0122aSMatthias Ringwald uint_fast16_t captureCompareRegister, \ 2162*5fd0122aSMatthias Ringwald uint_fast16_t mask))ROM_TIMER_ATABLE[22]) 2163*5fd0122aSMatthias Ringwald #endif 2164*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2165*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2166*5fd0122aSMatthias Ringwald #define ROM_Timer_A_getCaptureCompareEnabledInterruptStatus \ 2167*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t timer, \ 2168*5fd0122aSMatthias Ringwald uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[23]) 2169*5fd0122aSMatthias Ringwald #endif 2170*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2171*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2172*5fd0122aSMatthias Ringwald #define ROM_Timer_A_getCounterValue \ 2173*5fd0122aSMatthias Ringwald ((uint16_t (*)(uint32_t timer))ROM_TIMER_ATABLE[26]) 2174*5fd0122aSMatthias Ringwald #endif 2175*5fd0122aSMatthias Ringwald 2176*5fd0122aSMatthias Ringwald //***************************************************************************** 2177*5fd0122aSMatthias Ringwald // 2178*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the Timer32 API. 2179*5fd0122aSMatthias Ringwald // 2180*5fd0122aSMatthias Ringwald //***************************************************************************** 2181*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2182*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2183*5fd0122aSMatthias Ringwald #define ROM_Timer32_initModule \ 2184*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2185*5fd0122aSMatthias Ringwald uint32_t preScaler, \ 2186*5fd0122aSMatthias Ringwald uint32_t resolution, \ 2187*5fd0122aSMatthias Ringwald uint32_t mode))ROM_TIMER32TABLE[0]) 2188*5fd0122aSMatthias Ringwald #endif 2189*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2190*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2191*5fd0122aSMatthias Ringwald #define ROM_Timer32_setCount \ 2192*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2193*5fd0122aSMatthias Ringwald uint32_t count))ROM_TIMER32TABLE[1]) 2194*5fd0122aSMatthias Ringwald #endif 2195*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2196*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2197*5fd0122aSMatthias Ringwald #define ROM_Timer32_setCountInBackground \ 2198*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2199*5fd0122aSMatthias Ringwald uint32_t count))ROM_TIMER32TABLE[2]) 2200*5fd0122aSMatthias Ringwald #endif 2201*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2202*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2203*5fd0122aSMatthias Ringwald #define ROM_Timer32_getValue \ 2204*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t timer))ROM_TIMER32TABLE[3]) 2205*5fd0122aSMatthias Ringwald #endif 2206*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2207*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2208*5fd0122aSMatthias Ringwald #define ROM_Timer32_startTimer \ 2209*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer, \ 2210*5fd0122aSMatthias Ringwald bool oneShot))ROM_TIMER32TABLE[4]) 2211*5fd0122aSMatthias Ringwald #endif 2212*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2213*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2214*5fd0122aSMatthias Ringwald #define ROM_Timer32_haltTimer \ 2215*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer))ROM_TIMER32TABLE[5]) 2216*5fd0122aSMatthias Ringwald #endif 2217*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2218*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2219*5fd0122aSMatthias Ringwald #define ROM_Timer32_enableInterrupt \ 2220*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer))ROM_TIMER32TABLE[6]) 2221*5fd0122aSMatthias Ringwald #endif 2222*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2223*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2224*5fd0122aSMatthias Ringwald #define ROM_Timer32_disableInterrupt \ 2225*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer))ROM_TIMER32TABLE[7]) 2226*5fd0122aSMatthias Ringwald #endif 2227*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2228*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2229*5fd0122aSMatthias Ringwald #define ROM_Timer32_clearInterruptFlag \ 2230*5fd0122aSMatthias Ringwald ((void (*)(uint32_t timer))ROM_TIMER32TABLE[8]) 2231*5fd0122aSMatthias Ringwald #endif 2232*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2233*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2234*5fd0122aSMatthias Ringwald #define ROM_Timer32_getInterruptStatus \ 2235*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t timer))ROM_TIMER32TABLE[9]) 2236*5fd0122aSMatthias Ringwald #endif 2237*5fd0122aSMatthias Ringwald 2238*5fd0122aSMatthias Ringwald //***************************************************************************** 2239*5fd0122aSMatthias Ringwald // 2240*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the UART API. 2241*5fd0122aSMatthias Ringwald // 2242*5fd0122aSMatthias Ringwald //***************************************************************************** 2243*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2244*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2245*5fd0122aSMatthias Ringwald #define ROM_UART_transmitData \ 2246*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 2247*5fd0122aSMatthias Ringwald uint_fast8_t transmitData))ROM_UARTTABLE[1]) 2248*5fd0122aSMatthias Ringwald #endif 2249*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2250*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2251*5fd0122aSMatthias Ringwald #define ROM_UART_enableModule \ 2252*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[2]) 2253*5fd0122aSMatthias Ringwald #endif 2254*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2255*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2256*5fd0122aSMatthias Ringwald #define ROM_UART_disableModule \ 2257*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[3]) 2258*5fd0122aSMatthias Ringwald #endif 2259*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2260*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2261*5fd0122aSMatthias Ringwald #define ROM_UART_queryStatusFlags \ 2262*5fd0122aSMatthias Ringwald ((uint_fast8_t (*)(uint32_t moduleInstance, \ 2263*5fd0122aSMatthias Ringwald uint_fast8_t mask))ROM_UARTTABLE[4]) 2264*5fd0122aSMatthias Ringwald #endif 2265*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2266*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2267*5fd0122aSMatthias Ringwald #define ROM_UART_setDormant \ 2268*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[5]) 2269*5fd0122aSMatthias Ringwald #endif 2270*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2271*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2272*5fd0122aSMatthias Ringwald #define ROM_UART_resetDormant \ 2273*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[6]) 2274*5fd0122aSMatthias Ringwald #endif 2275*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2276*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2277*5fd0122aSMatthias Ringwald #define ROM_UART_transmitAddress \ 2278*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 2279*5fd0122aSMatthias Ringwald uint_fast8_t transmitAddress))ROM_UARTTABLE[7]) 2280*5fd0122aSMatthias Ringwald #endif 2281*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2282*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2283*5fd0122aSMatthias Ringwald #define ROM_UART_transmitBreak \ 2284*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[8]) 2285*5fd0122aSMatthias Ringwald #endif 2286*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2287*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2288*5fd0122aSMatthias Ringwald #define ROM_UART_getReceiveBufferAddressForDMA \ 2289*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t moduleInstance))ROM_UARTTABLE[9]) 2290*5fd0122aSMatthias Ringwald #endif 2291*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2292*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2293*5fd0122aSMatthias Ringwald #define ROM_UART_getTransmitBufferAddressForDMA \ 2294*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t moduleInstance))ROM_UARTTABLE[10]) 2295*5fd0122aSMatthias Ringwald #endif 2296*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2297*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2298*5fd0122aSMatthias Ringwald #define ROM_UART_selectDeglitchTime \ 2299*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 2300*5fd0122aSMatthias Ringwald uint32_t deglitchTime))ROM_UARTTABLE[11]) 2301*5fd0122aSMatthias Ringwald #endif 2302*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2303*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2304*5fd0122aSMatthias Ringwald #define ROM_UART_enableInterrupt \ 2305*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 2306*5fd0122aSMatthias Ringwald uint_fast8_t mask))ROM_UARTTABLE[12]) 2307*5fd0122aSMatthias Ringwald #endif 2308*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2309*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2310*5fd0122aSMatthias Ringwald #define ROM_UART_disableInterrupt \ 2311*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 2312*5fd0122aSMatthias Ringwald uint_fast8_t mask))ROM_UARTTABLE[13]) 2313*5fd0122aSMatthias Ringwald #endif 2314*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2315*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2316*5fd0122aSMatthias Ringwald #define ROM_UART_getInterruptStatus \ 2317*5fd0122aSMatthias Ringwald ((uint_fast8_t (*)(uint32_t moduleInstance, \ 2318*5fd0122aSMatthias Ringwald uint8_t mask))ROM_UARTTABLE[14]) 2319*5fd0122aSMatthias Ringwald #endif 2320*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2321*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2322*5fd0122aSMatthias Ringwald #define ROM_UART_clearInterruptFlag \ 2323*5fd0122aSMatthias Ringwald ((void (*)(uint32_t moduleInstance, \ 2324*5fd0122aSMatthias Ringwald uint_fast8_t mask))ROM_UARTTABLE[15]) 2325*5fd0122aSMatthias Ringwald #endif 2326*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2327*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2328*5fd0122aSMatthias Ringwald #define ROM_UART_receiveData \ 2329*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint32_t moduleInstance))ROM_UARTTABLE[16]) 2330*5fd0122aSMatthias Ringwald #endif 2331*5fd0122aSMatthias Ringwald 2332*5fd0122aSMatthias Ringwald //***************************************************************************** 2333*5fd0122aSMatthias Ringwald // 2334*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the WDT API. 2335*5fd0122aSMatthias Ringwald // 2336*5fd0122aSMatthias Ringwald //***************************************************************************** 2337*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2338*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2339*5fd0122aSMatthias Ringwald #define ROM_WDT_A_holdTimer \ 2340*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_WDTTABLE[0]) 2341*5fd0122aSMatthias Ringwald #endif 2342*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2343*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2344*5fd0122aSMatthias Ringwald #define ROM_WDT_A_startTimer \ 2345*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_WDTTABLE[1]) 2346*5fd0122aSMatthias Ringwald #endif 2347*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2348*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2349*5fd0122aSMatthias Ringwald #define ROM_WDT_A_clearTimer \ 2350*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_WDTTABLE[2]) 2351*5fd0122aSMatthias Ringwald #endif 2352*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2353*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2354*5fd0122aSMatthias Ringwald #define ROM_WDT_A_initWatchdogTimer \ 2355*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t clockSelect, \ 2356*5fd0122aSMatthias Ringwald uint_fast8_t clockDivider))ROM_WDTTABLE[3]) 2357*5fd0122aSMatthias Ringwald #endif 2358*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2359*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2360*5fd0122aSMatthias Ringwald #define ROM_WDT_A_initIntervalTimer \ 2361*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t clockSelect, \ 2362*5fd0122aSMatthias Ringwald uint_fast8_t clockDivider))ROM_WDTTABLE[4]) 2363*5fd0122aSMatthias Ringwald #endif 2364*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2365*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2366*5fd0122aSMatthias Ringwald #define ROM_WDT_A_setPasswordViolationReset \ 2367*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t resetType))ROM_WDTTABLE[7]) 2368*5fd0122aSMatthias Ringwald #endif 2369*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX) || \ 2370*5fd0122aSMatthias Ringwald defined(TARGET_IS_MSP432P4XX_NEXT) 2371*5fd0122aSMatthias Ringwald #define ROM_WDT_A_setTimeoutReset \ 2372*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t resetType))ROM_WDTTABLE[8]) 2373*5fd0122aSMatthias Ringwald #endif 2374*5fd0122aSMatthias Ringwald 2375*5fd0122aSMatthias Ringwald //***************************************************************************** 2376*5fd0122aSMatthias Ringwald // 2377*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the SysCtl_A API. 2378*5fd0122aSMatthias Ringwald // 2379*5fd0122aSMatthias Ringwald //***************************************************************************** 2380*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2381*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_getSRAMSize \ 2382*5fd0122aSMatthias Ringwald ((uint_least32_t (*)(void))ROM_SYSCTLATABLE[0]) 2383*5fd0122aSMatthias Ringwald #endif 2384*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2385*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_getFlashSize \ 2386*5fd0122aSMatthias Ringwald ((uint_least32_t (*)(void))ROM_SYSCTLATABLE[1]) 2387*5fd0122aSMatthias Ringwald #endif 2388*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2389*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_rebootDevice \ 2390*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_SYSCTLATABLE[2]) 2391*5fd0122aSMatthias Ringwald #endif 2392*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2393*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_enableSRAM \ 2394*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t addr))ROM_SYSCTLATABLE[3]) 2395*5fd0122aSMatthias Ringwald #endif 2396*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2397*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_disableSRAM \ 2398*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t addr))ROM_SYSCTLATABLE[4]) 2399*5fd0122aSMatthias Ringwald #endif 2400*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2401*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_enableSRAMRetention \ 2402*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t startAddr, \ 2403*5fd0122aSMatthias Ringwald uint32_t endAddr))ROM_SYSCTLATABLE[5]) 2404*5fd0122aSMatthias Ringwald #endif 2405*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2406*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_disableSRAMRetention \ 2407*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t startAddr, \ 2408*5fd0122aSMatthias Ringwald uint32_t endAddr))ROM_SYSCTLATABLE[6]) 2409*5fd0122aSMatthias Ringwald #endif 2410*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2411*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_enablePeripheralAtCPUHalt \ 2412*5fd0122aSMatthias Ringwald ((void (*)(uint_fast16_t devices))ROM_SYSCTLATABLE[7]) 2413*5fd0122aSMatthias Ringwald #endif 2414*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2415*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_disablePeripheralAtCPUHalt \ 2416*5fd0122aSMatthias Ringwald ((void (*)(uint_fast16_t devices))ROM_SYSCTLATABLE[8]) 2417*5fd0122aSMatthias Ringwald #endif 2418*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2419*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_setWDTTimeoutResetType \ 2420*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t resetType))ROM_SYSCTLATABLE[9]) 2421*5fd0122aSMatthias Ringwald #endif 2422*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2423*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_setWDTPasswordViolationResetType \ 2424*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t resetType))ROM_SYSCTLATABLE[10]) 2425*5fd0122aSMatthias Ringwald #endif 2426*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2427*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_disableNMISource \ 2428*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t flags))ROM_SYSCTLATABLE[11]) 2429*5fd0122aSMatthias Ringwald #endif 2430*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2431*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_enableNMISource \ 2432*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t flags))ROM_SYSCTLATABLE[12]) 2433*5fd0122aSMatthias Ringwald #endif 2434*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2435*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_getTempCalibrationConstant \ 2436*5fd0122aSMatthias Ringwald ((uint_fast16_t (*)(uint32_t refVoltage, \ 2437*5fd0122aSMatthias Ringwald uint32_t temperature))ROM_SYSCTLATABLE[14]) 2438*5fd0122aSMatthias Ringwald #endif 2439*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2440*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_enableGlitchFilter \ 2441*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_SYSCTLATABLE[15]) 2442*5fd0122aSMatthias Ringwald #endif 2443*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2444*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_disableGlitchFilter \ 2445*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_SYSCTLATABLE[16]) 2446*5fd0122aSMatthias Ringwald #endif 2447*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2448*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_getTLVInfo \ 2449*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t tag, \ 2450*5fd0122aSMatthias Ringwald uint_fast8_t instance, \ 2451*5fd0122aSMatthias Ringwald uint_fast8_t *length, \ 2452*5fd0122aSMatthias Ringwald uint32_t **data_address))ROM_SYSCTLATABLE[17]) 2453*5fd0122aSMatthias Ringwald #endif 2454*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2455*5fd0122aSMatthias Ringwald #define ROM_SysCtl_A_getInfoFlashSize \ 2456*5fd0122aSMatthias Ringwald ((uint_least32_t (*)(void))ROM_SYSCTLATABLE[18]) 2457*5fd0122aSMatthias Ringwald #endif 2458*5fd0122aSMatthias Ringwald 2459*5fd0122aSMatthias Ringwald //***************************************************************************** 2460*5fd0122aSMatthias Ringwald // 2461*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the Flash_A API. 2462*5fd0122aSMatthias Ringwald // 2463*5fd0122aSMatthias Ringwald //***************************************************************************** 2464*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2465*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_enableReadBuffering \ 2466*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t memoryBank, \ 2467*5fd0122aSMatthias Ringwald uint_fast8_t accessMethod))ROM_FLASHCTLATABLE[2]) 2468*5fd0122aSMatthias Ringwald #endif 2469*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2470*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_disableReadBuffering \ 2471*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t memoryBank, \ 2472*5fd0122aSMatthias Ringwald uint_fast8_t accessMethod))ROM_FLASHCTLATABLE[3]) 2473*5fd0122aSMatthias Ringwald #endif 2474*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2475*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_unprotectMemory \ 2476*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t startAddr, \ 2477*5fd0122aSMatthias Ringwald uint32_t endAddr))ROM_FLASHCTLATABLE[4]) 2478*5fd0122aSMatthias Ringwald #endif 2479*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2480*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_protectMemory \ 2481*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t startAddr, \ 2482*5fd0122aSMatthias Ringwald uint32_t endAddr))ROM_FLASHCTLATABLE[5]) 2483*5fd0122aSMatthias Ringwald #endif 2484*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2485*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_isMemoryRangeProtected \ 2486*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t startAddr, \ 2487*5fd0122aSMatthias Ringwald uint32_t endAddr))ROM_FLASHCTLATABLE[6]) 2488*5fd0122aSMatthias Ringwald #endif 2489*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2490*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_verifyMemory \ 2491*5fd0122aSMatthias Ringwald ((bool (*)(void* verifyAddr, \ 2492*5fd0122aSMatthias Ringwald uint32_t length, \ 2493*5fd0122aSMatthias Ringwald uint_fast8_t pattern))ROM_FLASHCTLATABLE[7]) 2494*5fd0122aSMatthias Ringwald #endif 2495*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2496*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_performMassErase \ 2497*5fd0122aSMatthias Ringwald ((bool (*)(void))ROM_FLASHCTLATABLE[8]) 2498*5fd0122aSMatthias Ringwald #endif 2499*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2500*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_eraseSector \ 2501*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t addr))ROM_FLASHCTLATABLE[9]) 2502*5fd0122aSMatthias Ringwald #endif 2503*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2504*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_programMemory \ 2505*5fd0122aSMatthias Ringwald ((bool (*)(void* src, \ 2506*5fd0122aSMatthias Ringwald void* dest, \ 2507*5fd0122aSMatthias Ringwald uint32_t length))ROM_FLASHCTLATABLE[10]) 2508*5fd0122aSMatthias Ringwald #endif 2509*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2510*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_setProgramVerification \ 2511*5fd0122aSMatthias Ringwald ((void (*)(uint32_t verificationSetting))ROM_FLASHCTLATABLE[11]) 2512*5fd0122aSMatthias Ringwald #endif 2513*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2514*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_clearProgramVerification \ 2515*5fd0122aSMatthias Ringwald ((void (*)( uint32_t verificationSetting))ROM_FLASHCTLATABLE[12]) 2516*5fd0122aSMatthias Ringwald #endif 2517*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2518*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_enableWordProgramming \ 2519*5fd0122aSMatthias Ringwald ((void (*)(uint32_t mode))ROM_FLASHCTLATABLE[13]) 2520*5fd0122aSMatthias Ringwald #endif 2521*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2522*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_disableWordProgramming \ 2523*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_FLASHCTLATABLE[14]) 2524*5fd0122aSMatthias Ringwald #endif 2525*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2526*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_isWordProgrammingEnabled \ 2527*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_FLASHCTLATABLE[15]) 2528*5fd0122aSMatthias Ringwald #endif 2529*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2530*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_enableInterrupt \ 2531*5fd0122aSMatthias Ringwald ((void (*)(uint32_t flags))ROM_FLASHCTLATABLE[16]) 2532*5fd0122aSMatthias Ringwald #endif 2533*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2534*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_disableInterrupt \ 2535*5fd0122aSMatthias Ringwald ((void (*)(uint32_t flags))ROM_FLASHCTLATABLE[17]) 2536*5fd0122aSMatthias Ringwald #endif 2537*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2538*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_getEnabledInterruptStatus \ 2539*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_FLASHCTLATABLE[18]) 2540*5fd0122aSMatthias Ringwald #endif 2541*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2542*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_getInterruptStatus \ 2543*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_FLASHCTLATABLE[19]) 2544*5fd0122aSMatthias Ringwald #endif 2545*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2546*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_clearInterruptFlag \ 2547*5fd0122aSMatthias Ringwald ((void (*)(uint32_t flags))ROM_FLASHCTLATABLE[20]) 2548*5fd0122aSMatthias Ringwald #endif 2549*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2550*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_setWaitState \ 2551*5fd0122aSMatthias Ringwald ((void (*)(uint32_t bank, \ 2552*5fd0122aSMatthias Ringwald uint32_t waitState))ROM_FLASHCTLATABLE[21]) 2553*5fd0122aSMatthias Ringwald #endif 2554*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2555*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_getWaitState \ 2556*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t bank))ROM_FLASHCTLATABLE[22]) 2557*5fd0122aSMatthias Ringwald #endif 2558*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2559*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_setReadMode \ 2560*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t flashBank, \ 2561*5fd0122aSMatthias Ringwald uint32_t readMode))ROM_FLASHCTLATABLE[23]) 2562*5fd0122aSMatthias Ringwald #endif 2563*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2564*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_getReadMode \ 2565*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t flashBank))ROM_FLASHCTLATABLE[24]) 2566*5fd0122aSMatthias Ringwald #endif 2567*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2568*5fd0122aSMatthias Ringwald #define ROM___FlashCtl_A_remaskData8Post \ 2569*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint8_t data, \ 2570*5fd0122aSMatthias Ringwald uint32_t addr))ROM_FLASHCTLATABLE[27]) 2571*5fd0122aSMatthias Ringwald #endif 2572*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2573*5fd0122aSMatthias Ringwald #define ROM___FlashCtl_A_remaskData8Pre \ 2574*5fd0122aSMatthias Ringwald ((uint8_t (*)(uint8_t data, \ 2575*5fd0122aSMatthias Ringwald uint32_t addr))ROM_FLASHCTLATABLE[28]) 2576*5fd0122aSMatthias Ringwald #endif 2577*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2578*5fd0122aSMatthias Ringwald #define ROM___FlashCtl_A_remaskData32Pre \ 2579*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t data, \ 2580*5fd0122aSMatthias Ringwald uint32_t addr))ROM_FLASHCTLATABLE[29]) 2581*5fd0122aSMatthias Ringwald #endif 2582*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2583*5fd0122aSMatthias Ringwald #define ROM___FlashCtl_A_remaskData32Post \ 2584*5fd0122aSMatthias Ringwald ((uint32_t (*)(uint32_t data, \ 2585*5fd0122aSMatthias Ringwald uint32_t addr))ROM_FLASHCTLATABLE[30]) 2586*5fd0122aSMatthias Ringwald #endif 2587*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2588*5fd0122aSMatthias Ringwald #define ROM___FlashCtl_A_remaskBurstDataPre \ 2589*5fd0122aSMatthias Ringwald ((void (*)(uint32_t addr, \ 2590*5fd0122aSMatthias Ringwald uint32_t size))ROM_FLASHCTLATABLE[31]) 2591*5fd0122aSMatthias Ringwald #endif 2592*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2593*5fd0122aSMatthias Ringwald #define ROM___FlashCtl_A_remaskBurstDataPost \ 2594*5fd0122aSMatthias Ringwald ((void (*)(uint32_t addr, \ 2595*5fd0122aSMatthias Ringwald uint32_t size))ROM_FLASHCTLATABLE[32]) 2596*5fd0122aSMatthias Ringwald #endif 2597*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2598*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_initiateSectorErase \ 2599*5fd0122aSMatthias Ringwald ((void (*)(uint32_t addr))ROM_FLASHCTLATABLE[33]) 2600*5fd0122aSMatthias Ringwald #endif 2601*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2602*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_initiateMassErase \ 2603*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_FLASHCTLATABLE[34]) 2604*5fd0122aSMatthias Ringwald #endif 2605*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2606*5fd0122aSMatthias Ringwald #define ROM_FlashCtl_A_isMemoryProtected \ 2607*5fd0122aSMatthias Ringwald ((bool (*)(uint32_t addr))ROM_FLASHCTLATABLE[35]) 2608*5fd0122aSMatthias Ringwald #endif 2609*5fd0122aSMatthias Ringwald 2610*5fd0122aSMatthias Ringwald //***************************************************************************** 2611*5fd0122aSMatthias Ringwald // 2612*5fd0122aSMatthias Ringwald // Macros for calling ROM functions in the LCD_F API. 2613*5fd0122aSMatthias Ringwald // 2614*5fd0122aSMatthias Ringwald //***************************************************************************** 2615*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2616*5fd0122aSMatthias Ringwald #define ROM_LCD_F_turnOff \ 2617*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_LCDFTABLE[2]) 2618*5fd0122aSMatthias Ringwald #endif 2619*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2620*5fd0122aSMatthias Ringwald #define ROM_LCD_F_clearAllMemory \ 2621*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_LCDFTABLE[3]) 2622*5fd0122aSMatthias Ringwald #endif 2623*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2624*5fd0122aSMatthias Ringwald #define ROM_LCD_F_clearAllBlinkingMemory \ 2625*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_LCDFTABLE[4]) 2626*5fd0122aSMatthias Ringwald #endif 2627*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2628*5fd0122aSMatthias Ringwald #define ROM_LCD_F_selectDisplayMemory \ 2629*5fd0122aSMatthias Ringwald ((void (*)(uint_fast16_t displayMemory))ROM_LCDFTABLE[5]) 2630*5fd0122aSMatthias Ringwald #endif 2631*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2632*5fd0122aSMatthias Ringwald #define ROM_LCD_F_setBlinkingControl \ 2633*5fd0122aSMatthias Ringwald ((void (*)(uint_fast16_t clockPrescalar, \ 2634*5fd0122aSMatthias Ringwald uint_fast16_t divider, \ 2635*5fd0122aSMatthias Ringwald uint_fast16_t mode))ROM_LCDFTABLE[6]) 2636*5fd0122aSMatthias Ringwald #endif 2637*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2638*5fd0122aSMatthias Ringwald #define ROM_LCD_F_setAnimationControl \ 2639*5fd0122aSMatthias Ringwald ((void (*)(uint_fast16_t clockPrescalar, \ 2640*5fd0122aSMatthias Ringwald uint_fast16_t divider, \ 2641*5fd0122aSMatthias Ringwald uint_fast16_t frames))ROM_LCDFTABLE[7]) 2642*5fd0122aSMatthias Ringwald #endif 2643*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2644*5fd0122aSMatthias Ringwald #define ROM_LCD_F_clearAllAnimationMemory \ 2645*5fd0122aSMatthias Ringwald ((void (*)(void))ROM_LCDFTABLE[8]) 2646*5fd0122aSMatthias Ringwald #endif 2647*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2648*5fd0122aSMatthias Ringwald #define ROM_LCD_F_setPinAsLCDFunction \ 2649*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t pin))ROM_LCDFTABLE[9]) 2650*5fd0122aSMatthias Ringwald #endif 2651*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2652*5fd0122aSMatthias Ringwald #define ROM_LCD_F_setPinAsPortFunction \ 2653*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t pin))ROM_LCDFTABLE[10]) 2654*5fd0122aSMatthias Ringwald #endif 2655*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2656*5fd0122aSMatthias Ringwald #define ROM_LCD_F_setPinAsSEG \ 2657*5fd0122aSMatthias Ringwald ((void (*)(uint_fast8_t pin))ROM_LCDFTABLE[13]) 2658*5fd0122aSMatthias Ringwald #endif 2659*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2660*5fd0122aSMatthias Ringwald #define ROM_LCD_F_selectBias \ 2661*5fd0122aSMatthias Ringwald ((void (*)(uint_fast16_t bias))ROM_LCDFTABLE[14]) 2662*5fd0122aSMatthias Ringwald #endif 2663*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2664*5fd0122aSMatthias Ringwald #define ROM_LCD_F_setVLCDSource \ 2665*5fd0122aSMatthias Ringwald ((void (*)(uint_fast16_t v2v3v4Source, \ 2666*5fd0122aSMatthias Ringwald uint_fast16_t v5Source))ROM_LCDFTABLE[15]) 2667*5fd0122aSMatthias Ringwald #endif 2668*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2669*5fd0122aSMatthias Ringwald #define ROM_LCD_F_clearInterrupt \ 2670*5fd0122aSMatthias Ringwald ((void (*)(uint32_t mask))ROM_LCDFTABLE[16]) 2671*5fd0122aSMatthias Ringwald #endif 2672*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2673*5fd0122aSMatthias Ringwald #define ROM_LCD_F_getInterruptStatus \ 2674*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_LCDFTABLE[17]) 2675*5fd0122aSMatthias Ringwald #endif 2676*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2677*5fd0122aSMatthias Ringwald #define ROM_LCD_F_getEnabledInterruptStatus \ 2678*5fd0122aSMatthias Ringwald ((uint32_t (*)(void))ROM_LCDFTABLE[18]) 2679*5fd0122aSMatthias Ringwald #endif 2680*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2681*5fd0122aSMatthias Ringwald #define ROM_LCD_F_enableInterrupt \ 2682*5fd0122aSMatthias Ringwald ((void (*)(uint32_t mask))ROM_LCDFTABLE[19]) 2683*5fd0122aSMatthias Ringwald #endif 2684*5fd0122aSMatthias Ringwald #if defined(TARGET_IS_MSP432P4XX_NEXT) 2685*5fd0122aSMatthias Ringwald #define ROM_LCD_F_disableInterrupt \ 2686*5fd0122aSMatthias Ringwald ((void (*)(uint32_t mask))ROM_LCDFTABLE[20]) 2687*5fd0122aSMatthias Ringwald #endif 2688*5fd0122aSMatthias Ringwald 2689*5fd0122aSMatthias Ringwald #endif // __ROM_H__ 2690