xref: /btstack/port/msp432p401lp-cc256x/ti/devices/msp432p4xx/driverlib/rom.h (revision 5fd0122a3e19d95e11e1f3eb8a08a2b2acb2557e)
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