//*****************************************************************************
//
// rom.h - Macros to facilitate calling functions in the ROM.
//
// Copyright (c) 2007-2013 Texas Instruments Incorporated.  All rights reserved.
// Software License Agreement
// 
//   Redistribution and use in source and binary forms, with or without
//   modification, are permitted provided that the following conditions
//   are met:
// 
//   Redistributions of source code must retain the above copyright
//   notice, this list of conditions and the following disclaimer.
// 
//   Redistributions in binary form must reproduce the above copyright
//   notice, this list of conditions and the following disclaimer in the
//   documentation and/or other materials provided with the  
//   distribution.
// 
//   Neither the name of Texas Instruments Incorporated nor the names of
//   its contributors may be used to endorse or promote products derived
//   from this software without specific prior written permission.
// 
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// 
// This is part of revision 1.0 of the Tiva Peripheral Driver Library.
//
//*****************************************************************************

#ifndef __ROM_H__
#define __ROM_H__

//*****************************************************************************
//
// Pointers to the main API tables.
//
//*****************************************************************************
#define ROM_APITABLE            ((uint32_t *)0x01000010)
#define ROM_VERSION             (ROM_APITABLE[0])
#define ROM_UARTTABLE           ((uint32_t *)(ROM_APITABLE[1]))
#define ROM_SSITABLE            ((uint32_t *)(ROM_APITABLE[2]))
#define ROM_I2CTABLE            ((uint32_t *)(ROM_APITABLE[3]))
#define ROM_GPIOTABLE           ((uint32_t *)(ROM_APITABLE[4]))
#define ROM_ADCTABLE            ((uint32_t *)(ROM_APITABLE[5]))
#define ROM_COMPARATORTABLE     ((uint32_t *)(ROM_APITABLE[6]))
#define ROM_FLASHTABLE          ((uint32_t *)(ROM_APITABLE[7]))
#define ROM_PWMTABLE            ((uint32_t *)(ROM_APITABLE[8]))
#define ROM_QEITABLE            ((uint32_t *)(ROM_APITABLE[9]))
#define ROM_SYSTICKTABLE        ((uint32_t *)(ROM_APITABLE[10]))
#define ROM_TIMERTABLE          ((uint32_t *)(ROM_APITABLE[11]))
#define ROM_WATCHDOGTABLE       ((uint32_t *)(ROM_APITABLE[12]))
#define ROM_SYSCTLTABLE         ((uint32_t *)(ROM_APITABLE[13]))
#define ROM_INTERRUPTTABLE      ((uint32_t *)(ROM_APITABLE[14]))
#define ROM_USBTABLE            ((uint32_t *)(ROM_APITABLE[16]))
#define ROM_UDMATABLE           ((uint32_t *)(ROM_APITABLE[17]))
#define ROM_CANTABLE            ((uint32_t *)(ROM_APITABLE[18]))
#define ROM_HIBERNATETABLE      ((uint32_t *)(ROM_APITABLE[19]))
#define ROM_MPUTABLE            ((uint32_t *)(ROM_APITABLE[20]))
#define ROM_SOFTWARETABLE       ((uint32_t *)(ROM_APITABLE[21]))
#define ROM_EEPROMTABLE         ((uint32_t *)(ROM_APITABLE[24]))
#define ROM_FANTABLE            ((uint32_t *)(ROM_APITABLE[25]))
#define ROM_FPUTABLE            ((uint32_t *)(ROM_APITABLE[26]))
#define ROM_LPCTABLE            ((uint32_t *)(ROM_APITABLE[27]))
#define ROM_PECITABLE           ((uint32_t *)(ROM_APITABLE[28]))
#define ROM_SMBUSTABLE          ((uint32_t *)(ROM_APITABLE[29]))
#define ROM_SYSEXCTABLE         ((uint32_t *)(ROM_APITABLE[30]))

//*****************************************************************************
//
// Macros for calling ROM functions in the ADC API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCSequenceDataGet                                                \
        ((int32_t (*)(uint32_t ui32Base,                                      \
                      uint32_t ui32SequenceNum,                               \
                      uint32_t *pui32Buffer))ROM_ADCTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCIntDisable                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32SequenceNum))ROM_ADCTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCIntEnable                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32SequenceNum))ROM_ADCTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCIntStatus                                                      \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32SequenceNum,                              \
                       bool bMasked))ROM_ADCTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCIntClear                                                       \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32SequenceNum))ROM_ADCTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCSequenceEnable                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32SequenceNum))ROM_ADCTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCSequenceDisable                                                \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32SequenceNum))ROM_ADCTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCSequenceConfigure                                              \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32SequenceNum,                                  \
                   uint32_t ui32Trigger,                                      \
                   uint32_t ui32Priority))ROM_ADCTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCSequenceStepConfigure                                          \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32SequenceNum,                                  \
                   uint32_t ui32Step,                                         \
                   uint32_t ui32Config))ROM_ADCTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCSequenceOverflow                                               \
        ((int32_t (*)(uint32_t ui32Base,                                      \
                      uint32_t ui32SequenceNum))ROM_ADCTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCSequenceOverflowClear                                          \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32SequenceNum))ROM_ADCTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCSequenceUnderflow                                              \
        ((int32_t (*)(uint32_t ui32Base,                                      \
                      uint32_t ui32SequenceNum))ROM_ADCTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCSequenceUnderflowClear                                         \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32SequenceNum))ROM_ADCTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCProcessorTrigger                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32SequenceNum))ROM_ADCTABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCHardwareOversampleConfigure                                    \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Factor))ROM_ADCTABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCComparatorConfigure                                            \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Comp,                                         \
                   uint32_t ui32Config))ROM_ADCTABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCComparatorRegionSet                                            \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Comp,                                         \
                   uint32_t ui32LowRef,                                       \
                   uint32_t ui32HighRef))ROM_ADCTABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCComparatorReset                                                \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Comp,                                         \
                   bool bTrigger,                                             \
                   bool bInterrupt))ROM_ADCTABLE[17])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCComparatorIntDisable                                           \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32SequenceNum))ROM_ADCTABLE[18])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCComparatorIntEnable                                            \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32SequenceNum))ROM_ADCTABLE[19])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCComparatorIntStatus                                            \
        ((uint32_t (*)(uint32_t ui32Base))ROM_ADCTABLE[20])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCComparatorIntClear                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Status))ROM_ADCTABLE[21])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCReferenceSet                                                   \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Ref))ROM_ADCTABLE[22])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCReferenceGet                                                   \
        ((uint32_t (*)(uint32_t ui32Base))ROM_ADCTABLE[23])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCPhaseDelaySet                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Phase))ROM_ADCTABLE[24])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ADCPhaseDelayGet                                                  \
        ((uint32_t (*)(uint32_t ui32Base))ROM_ADCTABLE[25])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the CAN API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANIntClear                                                       \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntClr))ROM_CANTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANInit                                                           \
        ((void (*)(uint32_t ui32Base))ROM_CANTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANEnable                                                         \
        ((void (*)(uint32_t ui32Base))ROM_CANTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANDisable                                                        \
        ((void (*)(uint32_t ui32Base))ROM_CANTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANBitTimingSet                                                   \
        ((void (*)(uint32_t ui32Base,                                         \
                   tCANBitClkParms *psClkParms))ROM_CANTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANBitTimingGet                                                   \
        ((void (*)(uint32_t ui32Base,                                         \
                   tCANBitClkParms *psClkParms))ROM_CANTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANMessageSet                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32ObjID,                                        \
                   tCANMsgObject *psMsgObject,                                \
                   tMsgObjType eMsgType))ROM_CANTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANMessageGet                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32ObjID,                                        \
                   tCANMsgObject *psMsgObject,                                \
                   bool bClrPendingInt))ROM_CANTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANStatusGet                                                      \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       tCANStsReg eStatusReg))ROM_CANTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANMessageClear                                                   \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32ObjID))ROM_CANTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANIntEnable                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_CANTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANIntDisable                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_CANTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANIntStatus                                                      \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       tCANIntStsReg eIntStsReg))ROM_CANTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANRetryGet                                                       \
        ((bool (*)(uint32_t ui32Base))ROM_CANTABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANRetrySet                                                       \
        ((void (*)(uint32_t ui32Base,                                         \
                   bool bAutoRetry))ROM_CANTABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANErrCntrGet                                                     \
        ((bool (*)(uint32_t ui32Base,                                         \
                   uint32_t *pui32RxCount,                                    \
                   uint32_t *pui32TxCount))ROM_CANTABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_CANBitRateSet                                                     \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32SourceClock,                              \
                       uint32_t ui32BitRate))ROM_CANTABLE[16])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the Comparator API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ComparatorIntClear                                                \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Comp))ROM_COMPARATORTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ComparatorConfigure                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Comp,                                         \
                   uint32_t ui32Config))ROM_COMPARATORTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ComparatorRefSet                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Ref))ROM_COMPARATORTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ComparatorValueGet                                                \
        ((bool (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Comp))ROM_COMPARATORTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ComparatorIntEnable                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Comp))ROM_COMPARATORTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ComparatorIntDisable                                              \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Comp))ROM_COMPARATORTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_ComparatorIntStatus                                               \
        ((bool (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Comp,                                         \
                   bool bMasked))ROM_COMPARATORTABLE[6])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the EEPROM API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMRead                                                        \
        ((void (*)(uint32_t *pui32Data,                                       \
                   uint32_t ui32Address,                                      \
                   uint32_t ui32Count))ROM_EEPROMTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMBlockCountGet                                               \
        ((uint32_t (*)(void))ROM_EEPROMTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMBlockHide                                                   \
        ((void (*)(uint32_t ui32Block))ROM_EEPROMTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMBlockLock                                                   \
        ((uint32_t (*)(uint32_t ui32Block))ROM_EEPROMTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMBlockPasswordSet                                            \
        ((uint32_t (*)(uint32_t ui32Block,                                    \
                       uint32_t *pui32Password,                               \
                       uint32_t ui32Count))ROM_EEPROMTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMBlockProtectGet                                             \
        ((uint32_t (*)(uint32_t ui32Block))ROM_EEPROMTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMBlockProtectSet                                             \
        ((uint32_t (*)(uint32_t ui32Block,                                    \
                       uint32_t ui32Protect))ROM_EEPROMTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMBlockUnlock                                                 \
        ((uint32_t (*)(uint32_t ui32Block,                                    \
                       uint32_t *pui32Password,                               \
                       uint32_t ui32Count))ROM_EEPROMTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMIntClear                                                    \
        ((void (*)(uint32_t ui32IntFlags))ROM_EEPROMTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMIntDisable                                                  \
        ((void (*)(uint32_t ui32IntFlags))ROM_EEPROMTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMIntEnable                                                   \
        ((void (*)(uint32_t ui32IntFlags))ROM_EEPROMTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMIntStatus                                                   \
        ((uint32_t (*)(bool bMasked))ROM_EEPROMTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMMassErase                                                   \
        ((uint32_t (*)(void))ROM_EEPROMTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMProgram                                                     \
        ((uint32_t (*)(uint32_t *pui32Data,                                   \
                       uint32_t ui32Address,                                  \
                       uint32_t ui32Count))ROM_EEPROMTABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMProgramNonBlocking                                          \
        ((uint32_t (*)(uint32_t ui32Data,                                     \
                       uint32_t ui32Address))ROM_EEPROMTABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMSizeGet                                                     \
        ((uint32_t (*)(void))ROM_EEPROMTABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMStatusGet                                                   \
        ((uint32_t (*)(void))ROM_EEPROMTABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_EEPROMInit                                                        \
        ((uint32_t (*)(void))ROM_EEPROMTABLE[17])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the Fan API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanIntClear                                                       \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Flags))ROM_FANTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanChannelConfigAuto                                              \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Channel,                                      \
                   uint32_t ui32Config))ROM_FANTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanChannelConfigManual                                            \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Channel,                                      \
                   uint32_t ui32Config))ROM_FANTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanChannelDisable                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Channel))ROM_FANTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanChannelDutyGet                                                 \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Channel))ROM_FANTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanChannelDutySet                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Channel,                                      \
                   uint32_t ui32Duty))ROM_FANTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanChannelEnable                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Channel))ROM_FANTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanChannelRPMGet                                                  \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Channel))ROM_FANTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanChannelRPMSet                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Channel,                                      \
                   uint32_t ui32RPM))ROM_FANTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanChannelStatus                                                  \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Channel))ROM_FANTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanChannelsGet                                                    \
        ((uint32_t (*)(uint32_t ui32Base))ROM_FANTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanIntDisable                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Flags))ROM_FANTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanIntEnable                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Flags))ROM_FANTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FanIntStatus                                                      \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       bool bMasked))ROM_FANTABLE[13])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the Flash API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FlashProgram                                                      \
        ((int32_t (*)(uint32_t *pui32Data,                                    \
                      uint32_t ui32Address,                                   \
                      uint32_t ui32Count))ROM_FLASHTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FlashErase                                                        \
        ((int32_t (*)(uint32_t ui32Address))ROM_FLASHTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FlashProtectGet                                                   \
        ((tFlashProtection (*)(uint32_t ui32Address))ROM_FLASHTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FlashProtectSet                                                   \
        ((int32_t (*)(uint32_t ui32Address,                                   \
                      tFlashProtection eProtect))ROM_FLASHTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FlashProtectSave                                                  \
        ((int32_t (*)(void))ROM_FLASHTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FlashUserGet                                                      \
        ((int32_t (*)(uint32_t *pui32User0,                                   \
                      uint32_t *pui32User1))ROM_FLASHTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FlashUserSet                                                      \
        ((int32_t (*)(uint32_t ui32User0,                                     \
                      uint32_t ui32User1))ROM_FLASHTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FlashUserSave                                                     \
        ((int32_t (*)(void))ROM_FLASHTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FlashIntEnable                                                    \
        ((void (*)(uint32_t ui32IntFlags))ROM_FLASHTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FlashIntDisable                                                   \
        ((void (*)(uint32_t ui32IntFlags))ROM_FLASHTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FlashIntStatus                                                    \
        ((uint32_t (*)(bool bMasked))ROM_FLASHTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FlashIntClear                                                     \
        ((void (*)(uint32_t ui32IntFlags))ROM_FLASHTABLE[13])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the FPU API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FPUEnable                                                         \
        ((void (*)(void))ROM_FPUTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FPUDisable                                                        \
        ((void (*)(void))ROM_FPUTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FPUFlushToZeroModeSet                                             \
        ((void (*)(uint32_t ui32Mode))ROM_FPUTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FPUHalfPrecisionModeSet                                           \
        ((void (*)(uint32_t ui32Mode))ROM_FPUTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FPULazyStackingEnable                                             \
        ((void (*)(void))ROM_FPUTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FPUNaNModeSet                                                     \
        ((void (*)(uint32_t ui32Mode))ROM_FPUTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FPURoundingModeSet                                                \
        ((void (*)(uint32_t ui32Mode))ROM_FPUTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FPUStackingDisable                                                \
        ((void (*)(void))ROM_FPUTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_FPUStackingEnable                                                 \
        ((void (*)(void))ROM_FPUTABLE[8])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the GPIO API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinWrite                                                      \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins,                                           \
                   uint8_t ui8Val))ROM_GPIOTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIODirModeSet                                                    \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins,                                           \
                   uint32_t ui32PinIO))ROM_GPIOTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIODirModeGet                                                    \
        ((uint32_t (*)(uint32_t ui32Port,                                     \
                       uint8_t ui8Pin))ROM_GPIOTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOIntTypeSet                                                    \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins,                                           \
                   uint32_t ui32IntType))ROM_GPIOTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOIntTypeGet                                                    \
        ((uint32_t (*)(uint32_t ui32Port,                                     \
                       uint8_t ui8Pin))ROM_GPIOTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPadConfigSet                                                  \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins,                                           \
                   uint32_t ui32Strength,                                     \
                   uint32_t ui32PadType))ROM_GPIOTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPadConfigGet                                                  \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pin,                                            \
                   uint32_t *pui32Strength,                                   \
                   uint32_t *pui32PadType))ROM_GPIOTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinRead                                                       \
        ((int32_t (*)(uint32_t ui32Port,                                      \
                      uint8_t ui8Pins))ROM_GPIOTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeCAN                                                    \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeComparator                                             \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeGPIOInput                                              \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeGPIOOutput                                             \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeI2C                                                    \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypePWM                                                    \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[17])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeQEI                                                    \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[18])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeSSI                                                    \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[19])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeTimer                                                  \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[20])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeUART                                                   \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[21])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeGPIOOutputOD                                           \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[22])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeADC                                                    \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[23])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeUSBDigital                                             \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[24])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinConfigure                                                  \
        ((void (*)(uint32_t ui32PinConfig))ROM_GPIOTABLE[26])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeUSBAnalog                                              \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[28])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIODMATriggerEnable                                              \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[31])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIODMATriggerDisable                                             \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[32])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOADCTriggerEnable                                              \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[33])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOADCTriggerDisable                                             \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[34])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeFan                                                    \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[35])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeLPC                                                    \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[36])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypePECIRx                                                 \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[37])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypePECITx                                                 \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[38])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_GPIOPinTypeI2CSCL                                                 \
        ((void (*)(uint32_t ui32Port,                                         \
                   uint8_t ui8Pins))ROM_GPIOTABLE[39])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the Hibernate API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateIntClear                                                 \
        ((void (*)(uint32_t ui32IntFlags))ROM_HIBERNATETABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateEnableExpClk                                             \
        ((void (*)(uint32_t ui32HibClk))ROM_HIBERNATETABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateDisable                                                  \
        ((void (*)(void))ROM_HIBERNATETABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateRTCEnable                                                \
        ((void (*)(void))ROM_HIBERNATETABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateRTCDisable                                               \
        ((void (*)(void))ROM_HIBERNATETABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateWakeSet                                                  \
        ((void (*)(uint32_t ui32WakeFlags))ROM_HIBERNATETABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateWakeGet                                                  \
        ((uint32_t (*)(void))ROM_HIBERNATETABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateLowBatSet                                                \
        ((void (*)(uint32_t ui32LowBatFlags))ROM_HIBERNATETABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateLowBatGet                                                \
        ((uint32_t (*)(void))ROM_HIBERNATETABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateRTCSet                                                   \
        ((void (*)(uint32_t ui32RTCValue))ROM_HIBERNATETABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateRTCGet                                                   \
        ((uint32_t (*)(void))ROM_HIBERNATETABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateRTCTrimSet                                               \
        ((void (*)(uint32_t ui32Trim))ROM_HIBERNATETABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateRTCTrimGet                                               \
        ((uint32_t (*)(void))ROM_HIBERNATETABLE[17])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateDataSet                                                  \
        ((void (*)(uint32_t *pui32Data,                                       \
                   uint32_t ui32Count))ROM_HIBERNATETABLE[18])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateDataGet                                                  \
        ((void (*)(uint32_t *pui32Data,                                       \
                   uint32_t ui32Count))ROM_HIBERNATETABLE[19])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateRequest                                                  \
        ((void (*)(void))ROM_HIBERNATETABLE[20])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateIntEnable                                                \
        ((void (*)(uint32_t ui32IntFlags))ROM_HIBERNATETABLE[21])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateIntDisable                                               \
        ((void (*)(uint32_t ui32IntFlags))ROM_HIBERNATETABLE[22])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateIntStatus                                                \
        ((uint32_t (*)(bool bMasked))ROM_HIBERNATETABLE[23])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateIsActive                                                 \
        ((uint32_t (*)(void))ROM_HIBERNATETABLE[24])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateRTCSSGet                                                 \
        ((uint32_t (*)(void))ROM_HIBERNATETABLE[27])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateClockConfig                                              \
        ((void (*)(uint32_t ui32Config))ROM_HIBERNATETABLE[28])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateBatCheckStart                                            \
        ((void (*)(void))ROM_HIBERNATETABLE[29])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_HibernateBatCheckDone                                             \
        ((uint32_t (*)(void))ROM_HIBERNATETABLE[30])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the I2C API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterDataPut                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint8_t ui8Data))ROM_I2CTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterInitExpClk                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32I2CClk,                                       \
                   bool bFast))ROM_I2CTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterEnable                                                   \
        ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterDisable                                                  \
        ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterIntEnable                                                \
        ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterIntDisable                                               \
        ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterIntStatus                                                \
        ((bool (*)(uint32_t ui32Base,                                         \
                   bool bMasked))ROM_I2CTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterIntClear                                                 \
        ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterSlaveAddrSet                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint8_t ui8SlaveAddr,                                      \
                   bool bReceive))ROM_I2CTABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterBusy                                                     \
        ((bool (*)(uint32_t ui32Base))ROM_I2CTABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterBusBusy                                                  \
        ((bool (*)(uint32_t ui32Base))ROM_I2CTABLE[17])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterControl                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Cmd))ROM_I2CTABLE[18])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterErr                                                      \
        ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[19])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterDataGet                                                  \
        ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[20])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UpdateI2C                                                         \
        ((void (*)(void))ROM_I2CTABLE[24])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterIntEnableEx                                              \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_I2CTABLE[29])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterIntDisableEx                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_I2CTABLE[30])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterIntStatusEx                                              \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       bool bMasked))ROM_I2CTABLE[31])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterIntClearEx                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_I2CTABLE[32])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterTimeoutSet                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Value))ROM_I2CTABLE[33])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_I2CMasterLineStateGet                                             \
        ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[38])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the Interrupt API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_IntEnable                                                         \
        ((void (*)(uint32_t ui32Interrupt))ROM_INTERRUPTTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_IntMasterEnable                                                   \
        ((bool (*)(void))ROM_INTERRUPTTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_IntMasterDisable                                                  \
        ((bool (*)(void))ROM_INTERRUPTTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_IntDisable                                                        \
        ((void (*)(uint32_t ui32Interrupt))ROM_INTERRUPTTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_IntPriorityGroupingSet                                            \
        ((void (*)(uint32_t ui32Bits))ROM_INTERRUPTTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_IntPriorityGroupingGet                                            \
        ((uint32_t (*)(void))ROM_INTERRUPTTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_IntPrioritySet                                                    \
        ((void (*)(uint32_t ui32Interrupt,                                    \
                   uint8_t ui8Priority))ROM_INTERRUPTTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_IntPriorityGet                                                    \
        ((int32_t (*)(uint32_t ui32Interrupt))ROM_INTERRUPTTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_IntPendSet                                                        \
        ((void (*)(uint32_t ui32Interrupt))ROM_INTERRUPTTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_IntPendClear                                                      \
        ((void (*)(uint32_t ui32Interrupt))ROM_INTERRUPTTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_IntPriorityMaskSet                                                \
        ((void (*)(uint32_t ui32PriorityMask))ROM_INTERRUPTTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_IntPriorityMaskGet                                                \
        ((uint32_t (*)(void))ROM_INTERRUPTTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_IntIsEnabled                                                      \
        ((uint32_t (*)(uint32_t ui32Interrupt))ROM_INTERRUPTTABLE[12])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the LPC API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCIntClear                                                       \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_LPCTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCByteRead                                                       \
        ((uint8_t (*)(uint32_t ui32Base,                                      \
                      uint32_t ui32Offset))ROM_LPCTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCByteWrite                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Offset,                                       \
                   uint8_t ui8Data))ROM_LPCTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCChannelConfigCOMxSet                                           \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Channel,                                      \
                   uint32_t ui32Config,                                       \
                   uint32_t ui32Address,                                      \
                   uint32_t ui32Offset,                                       \
                   uint32_t ui32COMxMode))ROM_LPCTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCChannelConfigGet                                               \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Channel,                                  \
                       uint32_t *pui32Address,                                \
                       uint32_t *pui32Offset,                                 \
                       uint32_t *pui32COMxMode))ROM_LPCTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCChannelConfigEPSet                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Channel,                                      \
                   uint32_t ui32Config,                                       \
                   uint32_t ui32Address,                                      \
                   uint32_t ui32Offset))ROM_LPCTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCChannelConfigMBSet                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Channel,                                      \
                   uint32_t ui32Config,                                       \
                   uint32_t ui32Address,                                      \
                   uint32_t ui32Offset))ROM_LPCTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCChannelDMAConfigGet                                            \
        ((uint32_t (*)(uint32_t ui32Base))ROM_LPCTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCChannelDMAConfigSet                                            \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Config,                                       \
                   uint32_t ui32Mask))ROM_LPCTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCChannelDisable                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Channel))ROM_LPCTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCChannelEnable                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Channel))ROM_LPCTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCChannelStatusClear                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Channel,                                      \
                   uint32_t ui32Status))ROM_LPCTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCChannelStatusGet                                               \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Channel))ROM_LPCTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCChannelStatusSet                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Channel,                                      \
                   uint32_t ui32Status))ROM_LPCTABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCCOMxIntClear                                                   \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_LPCTABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCCOMxIntDisable                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_LPCTABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCCOMxIntEnable                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_LPCTABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCCOMxIntStatus                                                  \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       bool bMasked))ROM_LPCTABLE[17])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCConfigGet                                                      \
        ((uint32_t (*)(uint32_t ui32Base))ROM_LPCTABLE[18])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCConfigSet                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Config))ROM_LPCTABLE[19])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCHalfWordRead                                                   \
        ((uint16_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Offset))ROM_LPCTABLE[20])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCHalfWordWrite                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Offset,                                       \
                   uint16_t ui16Data))ROM_LPCTABLE[21])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCIRQClear                                                       \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IRQ))ROM_LPCTABLE[22])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCIRQConfig                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   bool bIRQPulse,                                            \
                   bool bIRQOnChange))ROM_LPCTABLE[23])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCIRQGet                                                         \
        ((uint32_t (*)(uint32_t ui32Base))ROM_LPCTABLE[24])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCIRQSend                                                        \
        ((void (*)(uint32_t ui32Base))ROM_LPCTABLE[25])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCIRQSet                                                         \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IRQ))ROM_LPCTABLE[26])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCIntDisable                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_LPCTABLE[27])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCIntEnable                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_LPCTABLE[28])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCIntStatus                                                      \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       bool bMasked))ROM_LPCTABLE[29])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCSCIAssert                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Count))ROM_LPCTABLE[30])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCStatusGet                                                      \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t *pui32Count,                                  \
                       uint32_t *pui32PoolSize))ROM_LPCTABLE[31])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCWordRead                                                       \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Offset))ROM_LPCTABLE[32])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCWordWrite                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Offset,                                       \
                   uint32_t ui32Data))ROM_LPCTABLE[33])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCChannelPoolAddressGet                                          \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Channel))ROM_LPCTABLE[34])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCStatusBlockAddressGet                                          \
        ((uint32_t (*)(uint32_t ui32Base))ROM_LPCTABLE[35])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_LPCStatusBlockAddressSet                                          \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Address,                                      \
                   bool bEnabled))ROM_LPCTABLE[36])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the MPU API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_MPUEnable                                                         \
        ((void (*)(uint32_t ui32MPUConfig))ROM_MPUTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_MPUDisable                                                        \
        ((void (*)(void))ROM_MPUTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_MPURegionCountGet                                                 \
        ((uint32_t (*)(void))ROM_MPUTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_MPURegionEnable                                                   \
        ((void (*)(uint32_t ui32Region))ROM_MPUTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_MPURegionDisable                                                  \
        ((void (*)(uint32_t ui32Region))ROM_MPUTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_MPURegionSet                                                      \
        ((void (*)(uint32_t ui32Region,                                       \
                   uint32_t ui32Addr,                                         \
                   uint32_t ui32Flags))ROM_MPUTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_MPURegionGet                                                      \
        ((void (*)(uint32_t ui32Region,                                       \
                   uint32_t *pui32Addr,                                       \
                   uint32_t *pui32Flags))ROM_MPUTABLE[6])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the PECI API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIIntClear                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_PECITABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIAdvCmdSend                                                    \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint8_t ui8Cmd,                                            \
                   uint8_t ui8HidRe,                                          \
                   uint8_t ui8Domain,                                         \
                   uint8_t ui8Proi8Add,                                       \
                   uint32_t ui32Arg,                                          \
                   uint8_t ui8Size,                                           \
                   uint32_t ui32Data0,                                        \
                   uint32_t ui32Data1))ROM_PECITABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIAdvCmdSendNonBlocking                                         \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint8_t ui8Cmd,                                        \
                       uint8_t ui8HidRe,                                      \
                       uint8_t ui8Domain,                                     \
                       uint8_t ui8Proi8Add,                                   \
                       uint32_t ui32Arg,                                      \
                       uint8_t ui8Size,                                       \
                       uint32_t ui32Data0,                                    \
                       uint32_t ui32Data1))ROM_PECITABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIAdvCmdStatusGet                                               \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t *pui32Data0,                                  \
                       uint32_t *pui32Data1))ROM_PECITABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIConfigGet                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32PECIClk,                                      \
                   uint32_t *pui32Baud,                                       \
                   uint32_t *pui32Poll,                                       \
                   uint32_t *pui32Offset,                                     \
                   uint32_t *pui32Retry))ROM_PECITABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIConfigSet                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32PECIClk,                                      \
                   uint32_t ui32Baud,                                         \
                   uint32_t ui32Poll,                                         \
                   uint32_t ui32Offset,                                       \
                   uint32_t ui32Retry))ROM_PECITABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIDomainMaxReadClear                                            \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Domain))ROM_PECITABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIDomainValueClear                                              \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Domain))ROM_PECITABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIDomainConfigGet                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Domain,                                       \
                   uint32_t *pui32High,                                       \
                   uint32_t *pui32Low))ROM_PECITABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIDomainConfigSet                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Domain,                                       \
                   uint32_t ui32High,                                         \
                   uint32_t ui32Low))ROM_PECITABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIDomainDisable                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Domain))ROM_PECITABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIDomainEnable                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Domain))ROM_PECITABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIDomainMaxReadGet                                              \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Domain))ROM_PECITABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIDomainValueGet                                                \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Domain))ROM_PECITABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIIntDisable                                                    \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_PECITABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIIntEnable                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags,                                     \
                   uint32_t ui32IntMode))ROM_PECITABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIIntStatus                                                     \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       bool bMasked))ROM_PECITABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIBypassEnable                                                  \
        ((void (*)(uint32_t ui32Base))ROM_PECITABLE[17])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PECIBypassDisable                                                 \
        ((void (*)(uint32_t ui32Base))ROM_PECITABLE[18])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the PWM API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMPulseWidthSet                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32PWMOut,                                       \
                   uint32_t ui32Width))ROM_PWMTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenConfigure                                                   \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Gen,                                          \
                   uint32_t ui32Config))ROM_PWMTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenPeriodSet                                                   \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Gen,                                          \
                   uint32_t ui32Period))ROM_PWMTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenPeriodGet                                                   \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Gen))ROM_PWMTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenEnable                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Gen))ROM_PWMTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenDisable                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Gen))ROM_PWMTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMPulseWidthGet                                                  \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32PWMOut))ROM_PWMTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMDeadBandEnable                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Gen,                                          \
                   uint16_t ui16Rise,                                         \
                   uint16_t ui16Fall))ROM_PWMTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMDeadBandDisable                                                \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Gen))ROM_PWMTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMSyncUpdate                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32GenBits))ROM_PWMTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMSyncTimeBase                                                   \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32GenBits))ROM_PWMTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMOutputState                                                    \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32PWMOutBits,                                   \
                   bool bEnable))ROM_PWMTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMOutputInvert                                                   \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32PWMOutBits,                                   \
                   bool bInvert))ROM_PWMTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMOutputFault                                                    \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32PWMOutBits,                                   \
                   bool bFaultSuppress))ROM_PWMTABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenIntTrigEnable                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Gen,                                          \
                   uint32_t ui32IntTrig))ROM_PWMTABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenIntTrigDisable                                              \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Gen,                                          \
                   uint32_t ui32IntTrig))ROM_PWMTABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenIntStatus                                                   \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Gen,                                      \
                       bool bMasked))ROM_PWMTABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenIntClear                                                    \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Gen,                                          \
                   uint32_t ui32Ints))ROM_PWMTABLE[17])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMIntEnable                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32GenFault))ROM_PWMTABLE[18])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMIntDisable                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32GenFault))ROM_PWMTABLE[19])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMFaultIntClear                                                  \
        ((void (*)(uint32_t ui32Base))ROM_PWMTABLE[20])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMIntStatus                                                      \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       bool bMasked))ROM_PWMTABLE[21])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMOutputFaultLevel                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32PWMOutBits,                                   \
                   bool bDriveHigh))ROM_PWMTABLE[22])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMFaultIntClearExt                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32FaultInts))ROM_PWMTABLE[23])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenFaultConfigure                                              \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Gen,                                          \
                   uint32_t ui32MinFaultPeriod,                               \
                   uint32_t ui32FaultSenses))ROM_PWMTABLE[24])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenFaultTriggerSet                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Gen,                                          \
                   uint32_t ui32Group,                                        \
                   uint32_t ui32FaultTriggers))ROM_PWMTABLE[25])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenFaultTriggerGet                                             \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Gen,                                      \
                       uint32_t ui32Group))ROM_PWMTABLE[26])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenFaultStatus                                                 \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Gen,                                      \
                       uint32_t ui32Group))ROM_PWMTABLE[27])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_PWMGenFaultClear                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Gen,                                          \
                   uint32_t ui32Group,                                        \
                   uint32_t ui32FaultTriggers))ROM_PWMTABLE[28])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the QEI API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIPositionGet                                                    \
        ((uint32_t (*)(uint32_t ui32Base))ROM_QEITABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIEnable                                                         \
        ((void (*)(uint32_t ui32Base))ROM_QEITABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIDisable                                                        \
        ((void (*)(uint32_t ui32Base))ROM_QEITABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIConfigure                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Config,                                       \
                   uint32_t ui32MaxPosition))ROM_QEITABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIPositionSet                                                    \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Position))ROM_QEITABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIDirectionGet                                                   \
        ((int32_t (*)(uint32_t ui32Base))ROM_QEITABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIErrorGet                                                       \
        ((bool (*)(uint32_t ui32Base))ROM_QEITABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIVelocityEnable                                                 \
        ((void (*)(uint32_t ui32Base))ROM_QEITABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIVelocityDisable                                                \
        ((void (*)(uint32_t ui32Base))ROM_QEITABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIVelocityConfigure                                              \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32PreDiv,                                       \
                   uint32_t ui32Period))ROM_QEITABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIVelocityGet                                                    \
        ((uint32_t (*)(uint32_t ui32Base))ROM_QEITABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIIntEnable                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_QEITABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIIntDisable                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_QEITABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIIntStatus                                                      \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       bool bMasked))ROM_QEITABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_QEIIntClear                                                       \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_QEITABLE[14])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the SMBus API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterIntProcess                                             \
        ((tSMBusStatus (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusARPDisable                                                   \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusARPEnable                                                    \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusARPUDIDPacketDecode                                          \
        ((void (*)(tSMBusUDID *pUDID,                                         \
                   uint8_t *pui8Address,                                      \
                   uint8_t *pui8Data))ROM_SMBUSTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusARPUDIDPacketEncode                                          \
        ((void (*)(tSMBusUDID *pUDID,                                         \
                   uint8_t ui8Address,                                        \
                   uint8_t *pui8Data))ROM_SMBUSTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterARPAssignAddress                                       \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t *pui8Data))ROM_SMBUSTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterARPGetUDIDDir                                          \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress,                          \
                           uint8_t *pui8Data))ROM_SMBUSTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterARPGetUDIDGen                                          \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t *pui8Data))ROM_SMBUSTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterARPNotifyMaster                                        \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t *pui8Data))ROM_SMBUSTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterARPPrepareToARP                                        \
        ((tSMBusStatus (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterARPResetDeviceDir                                      \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress))ROM_SMBUSTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterARPResetDeviceGen                                      \
        ((tSMBusStatus (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterBlockProcessCall                                       \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress,                          \
                           uint8_t ui8Command,                                \
                           uint8_t *pui8TxData,                               \
                           uint8_t ui8TxSize,                                 \
                           uint8_t *pui8RxData))ROM_SMBUSTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterBlockRead                                              \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress,                          \
                           uint8_t ui8Command,                                \
                           uint8_t *pui8Data))ROM_SMBUSTABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterBlockWrite                                             \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress,                          \
                           uint8_t ui8Command,                                \
                           uint8_t *pui8Data,                                 \
                           uint8_t ui8Size))ROM_SMBUSTABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterByteReceive                                            \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress,                          \
                           uint8_t *pui8Data))ROM_SMBUSTABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterByteSend                                               \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress,                          \
                           uint8_t ui8Data))ROM_SMBUSTABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterByteWordRead                                           \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress,                          \
                           uint8_t ui8Command,                                \
                           uint8_t *pui8Data,                                 \
                           uint8_t ui8Size))ROM_SMBUSTABLE[17])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterByteWordWrite                                          \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress,                          \
                           uint8_t ui8Command,                                \
                           uint8_t *pui8Data,                                 \
                           uint8_t ui8Size))ROM_SMBUSTABLE[18])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterHostNotify                                             \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8OwnSlaveAddress,                        \
                           uint8_t *pui8Data))ROM_SMBUSTABLE[19])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterI2CRead                                                \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress,                          \
                           uint8_t *pui8Data,                                 \
                           uint8_t ui8Size))ROM_SMBUSTABLE[20])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterI2CWrite                                               \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress,                          \
                           uint8_t *pui8Data,                                 \
                           uint8_t ui8Size))ROM_SMBUSTABLE[21])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterI2CWriteRead                                           \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress,                          \
                           uint8_t *pui8TxData,                               \
                           uint8_t ui8TxSize,                                 \
                           uint8_t *pui8RxData,                               \
                           uint8_t ui8RxSize))ROM_SMBUSTABLE[22])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterInit                                                   \
        ((void (*)(tSMBus *psSMBus,                                           \
                   uint32_t ui32I2CBase,                                      \
                   uint32_t ui32SMBusClock))ROM_SMBUSTABLE[23])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterIntEnable                                              \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[24])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterProcessCall                                            \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress,                          \
                           uint8_t ui8Command,                                \
                           uint8_t *pui8TxData,                               \
                           uint8_t *pui8RxData))ROM_SMBUSTABLE[25])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusMasterQuickCommand                                           \
        ((tSMBusStatus (*)(tSMBus *psSMBus,                                   \
                           uint8_t ui8TargetAddress,                          \
                           bool bData))ROM_SMBUSTABLE[26])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusPECDisable                                                   \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[27])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusPECEnable                                                    \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[28])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusRxPacketSizeGet                                              \
        ((uint8_t (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[29])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveACKSend                                                 \
        ((void (*)(tSMBus *psSMBus,                                           \
                   bool bACK))ROM_SMBUSTABLE[30])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveAddressSet                                              \
        ((void (*)(tSMBus *psSMBus,                                           \
                   uint8_t ui8AddressNum,                                     \
                   uint8_t ui8SlaveAddress))ROM_SMBUSTABLE[31])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveARPFlagARGet                                            \
        ((bool (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[32])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveARPFlagARSet                                            \
        ((void (*)(tSMBus *psSMBus,                                           \
                   bool bValue))ROM_SMBUSTABLE[33])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveARPFlagAVGet                                            \
        ((bool (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[34])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveARPFlagAVSet                                            \
        ((void (*)(tSMBus *psSMBus,                                           \
                   bool bValue))ROM_SMBUSTABLE[35])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveBlockTransferDisable                                    \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[36])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveBlockTransferEnable                                     \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[37])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveCommandGet                                              \
        ((uint8_t (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[38])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveI2CDisable                                              \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[39])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveI2CEnable                                               \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[40])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveInit                                                    \
        ((void (*)(tSMBus *psSMBus,                                           \
                   uint32_t ui32I2CBase))ROM_SMBUSTABLE[41])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveIntAddressGet                                           \
        ((tSMBusStatus (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[42])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveIntEnable                                               \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[43])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveIntProcess                                              \
        ((tSMBusStatus (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[44])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveManualACKDisable                                        \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[45])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveManualACKEnable                                         \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[46])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveManualACKStatusGet                                      \
        ((bool (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[47])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveProcessCallDisable                                      \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[48])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveProcessCallEnable                                       \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[49])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveRxBufferSet                                             \
        ((void (*)(tSMBus *psSMBus,                                           \
                   uint8_t *pui8Data,                                         \
                   uint8_t ui8Size))ROM_SMBUSTABLE[50])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveTransferInit                                            \
        ((void (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[51])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveTxBufferSet                                             \
        ((void (*)(tSMBus *psSMBus,                                           \
                   uint8_t *pui8Data,                                         \
                   uint8_t ui8Size))ROM_SMBUSTABLE[52])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveUDIDSet                                                 \
        ((void (*)(tSMBus *psSMBus,                                           \
                   tSMBusUDID *pUDID))ROM_SMBUSTABLE[53])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusStatusGet                                                    \
        ((tSMBusStatus (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[54])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SMBusSlaveDataSend                                                \
        ((tSMBusStatus (*)(tSMBus *psSMBus))ROM_SMBUSTABLE[55])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the SSI API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIDataPut                                                        \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Data))ROM_SSITABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIConfigSetExpClk                                                \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32SSIClk,                                       \
                   uint32_t ui32Protocol,                                     \
                   uint32_t ui32Mode,                                         \
                   uint32_t ui32BitRate,                                      \
                   uint32_t ui32DataWidth))ROM_SSITABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIEnable                                                         \
        ((void (*)(uint32_t ui32Base))ROM_SSITABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIDisable                                                        \
        ((void (*)(uint32_t ui32Base))ROM_SSITABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIIntEnable                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_SSITABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIIntDisable                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_SSITABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIIntStatus                                                      \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       bool bMasked))ROM_SSITABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIIntClear                                                       \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_SSITABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIDataPutNonBlocking                                             \
        ((int32_t (*)(uint32_t ui32Base,                                      \
                      uint32_t ui32Data))ROM_SSITABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIDataGet                                                        \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t *pui32Data))ROM_SSITABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIDataGetNonBlocking                                             \
        ((int32_t (*)(uint32_t ui32Base,                                      \
                      uint32_t *pui32Data))ROM_SSITABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UpdateSSI                                                         \
        ((void (*)(void))ROM_SSITABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIDMAEnable                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32DMAFlags))ROM_SSITABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIDMADisable                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32DMAFlags))ROM_SSITABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIBusy                                                           \
        ((bool (*)(uint32_t ui32Base))ROM_SSITABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIClockSourceGet                                                 \
        ((uint32_t (*)(uint32_t ui32Base))ROM_SSITABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SSIClockSourceSet                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Source))ROM_SSITABLE[16])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the SysCtl API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlSleep                                                       \
        ((void (*)(void))ROM_SYSCTLTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlSRAMSizeGet                                                 \
        ((uint32_t (*)(void))ROM_SYSCTLTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlFlashSizeGet                                                \
        ((uint32_t (*)(void))ROM_SYSCTLTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPeripheralPresent                                           \
        ((bool (*)(uint32_t ui32Peripheral))ROM_SYSCTLTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPeripheralReset                                             \
        ((void (*)(uint32_t ui32Peripheral))ROM_SYSCTLTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPeripheralEnable                                            \
        ((void (*)(uint32_t ui32Peripheral))ROM_SYSCTLTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPeripheralDisable                                           \
        ((void (*)(uint32_t ui32Peripheral))ROM_SYSCTLTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPeripheralSleepEnable                                       \
        ((void (*)(uint32_t ui32Peripheral))ROM_SYSCTLTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPeripheralSleepDisable                                      \
        ((void (*)(uint32_t ui32Peripheral))ROM_SYSCTLTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPeripheralDeepSleepEnable                                   \
        ((void (*)(uint32_t ui32Peripheral))ROM_SYSCTLTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPeripheralDeepSleepDisable                                  \
        ((void (*)(uint32_t ui32Peripheral))ROM_SYSCTLTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPeripheralClockGating                                       \
        ((void (*)(bool bEnable))ROM_SYSCTLTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlIntEnable                                                   \
        ((void (*)(uint32_t ui32Ints))ROM_SYSCTLTABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlIntDisable                                                  \
        ((void (*)(uint32_t ui32Ints))ROM_SYSCTLTABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlIntClear                                                    \
        ((void (*)(uint32_t ui32Ints))ROM_SYSCTLTABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlIntStatus                                                   \
        ((uint32_t (*)(bool bMasked))ROM_SYSCTLTABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlReset                                                       \
        ((void (*)(void))ROM_SYSCTLTABLE[19])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlDeepSleep                                                   \
        ((void (*)(void))ROM_SYSCTLTABLE[20])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlResetCauseGet                                               \
        ((uint32_t (*)(void))ROM_SYSCTLTABLE[21])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlResetCauseClear                                             \
        ((void (*)(uint32_t ui32Causes))ROM_SYSCTLTABLE[22])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlClockSet                                                    \
        ((void (*)(uint32_t ui32Config))ROM_SYSCTLTABLE[23])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlClockGet                                                    \
        ((uint32_t (*)(void))ROM_SYSCTLTABLE[24])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPWMClockSet                                                 \
        ((void (*)(uint32_t ui32Config))ROM_SYSCTLTABLE[25])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPWMClockGet                                                 \
        ((uint32_t (*)(void))ROM_SYSCTLTABLE[26])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlADCSpeedSet                                                 \
        ((void (*)(uint32_t ui32Speed))ROM_SYSCTLTABLE[27])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlADCSpeedGet                                                 \
        ((uint32_t (*)(void))ROM_SYSCTLTABLE[28])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlUSBPLLEnable                                                \
        ((void (*)(void))ROM_SYSCTLTABLE[31])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlUSBPLLDisable                                               \
        ((void (*)(void))ROM_SYSCTLTABLE[32])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlDelay                                                       \
        ((void (*)(uint32_t ui32Count))ROM_SYSCTLTABLE[34])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPeripheralReady                                             \
        ((bool (*)(uint32_t ui32Peripheral))ROM_SYSCTLTABLE[35])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPeripheralPowerOn                                           \
        ((void (*)(uint32_t ui32Peripheral))ROM_SYSCTLTABLE[36])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPeripheralPowerOff                                          \
        ((void (*)(uint32_t ui32Peripheral))ROM_SYSCTLTABLE[37])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlMOSCConfigSet                                               \
        ((void (*)(uint32_t ui32Config))ROM_SYSCTLTABLE[44])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlPIOSCCalibrate                                              \
        ((uint32_t (*)(uint32_t ui32Type))ROM_SYSCTLTABLE[45])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlDeepSleepClockSet                                           \
        ((void (*)(uint32_t ui32Config))ROM_SYSCTLTABLE[46])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the SysExc API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysExcIntStatus                                                   \
        ((uint32_t (*)(bool bMasked))ROM_SYSEXCTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysExcIntClear                                                    \
        ((void (*)(uint32_t ui32IntFlags))ROM_SYSEXCTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysExcIntDisable                                                  \
        ((void (*)(uint32_t ui32IntFlags))ROM_SYSEXCTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysExcIntEnable                                                   \
        ((void (*)(uint32_t ui32IntFlags))ROM_SYSEXCTABLE[3])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the SysTick API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysTickValueGet                                                   \
        ((uint32_t (*)(void))ROM_SYSTICKTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysTickEnable                                                     \
        ((void (*)(void))ROM_SYSTICKTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysTickDisable                                                    \
        ((void (*)(void))ROM_SYSTICKTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysTickIntEnable                                                  \
        ((void (*)(void))ROM_SYSTICKTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysTickIntDisable                                                 \
        ((void (*)(void))ROM_SYSTICKTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysTickPeriodSet                                                  \
        ((void (*)(uint32_t ui32Period))ROM_SYSTICKTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysTickPeriodGet                                                  \
        ((uint32_t (*)(void))ROM_SYSTICKTABLE[6])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the Timer API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerIntClear                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_TIMERTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerEnable                                                       \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Timer))ROM_TIMERTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerDisable                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Timer))ROM_TIMERTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerConfigure                                                    \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Config))ROM_TIMERTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerControlLevel                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Timer,                                        \
                   bool bInvert))ROM_TIMERTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerControlTrigger                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Timer,                                        \
                   bool bEnable))ROM_TIMERTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerControlEvent                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Timer,                                        \
                   uint32_t ui32Event))ROM_TIMERTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerControlStall                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Timer,                                        \
                   bool bStall))ROM_TIMERTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerRTCEnable                                                    \
        ((void (*)(uint32_t ui32Base))ROM_TIMERTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerRTCDisable                                                   \
        ((void (*)(uint32_t ui32Base))ROM_TIMERTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerPrescaleSet                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Timer,                                        \
                   uint32_t ui32Value))ROM_TIMERTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerPrescaleGet                                                  \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Timer))ROM_TIMERTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerPrescaleMatchSet                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Timer,                                        \
                   uint32_t ui32Value))ROM_TIMERTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerPrescaleMatchGet                                             \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Timer))ROM_TIMERTABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerLoadSet                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Timer,                                        \
                   uint32_t ui32Value))ROM_TIMERTABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerLoadGet                                                      \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Timer))ROM_TIMERTABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerValueGet                                                     \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Timer))ROM_TIMERTABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerMatchSet                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Timer,                                        \
                   uint32_t ui32Value))ROM_TIMERTABLE[17])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerMatchGet                                                     \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Timer))ROM_TIMERTABLE[18])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerIntEnable                                                    \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_TIMERTABLE[19])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerIntDisable                                                   \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_TIMERTABLE[20])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerIntStatus                                                    \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       bool bMasked))ROM_TIMERTABLE[21])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerControlWaitOnTrigger                                         \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Timer,                                        \
                   bool bWait))ROM_TIMERTABLE[22])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerLoadSet64                                                    \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint64_t ui64Value))ROM_TIMERTABLE[23])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerLoadGet64                                                    \
        ((uint64_t (*)(uint32_t ui32Base))ROM_TIMERTABLE[24])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerValueGet64                                                   \
        ((uint64_t (*)(uint32_t ui32Base))ROM_TIMERTABLE[25])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerMatchSet64                                                   \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint64_t ui64Value))ROM_TIMERTABLE[26])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_TimerMatchGet64                                                   \
        ((uint64_t (*)(uint32_t ui32Base))ROM_TIMERTABLE[27])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the UART API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTCharPut                                                       \
        ((void (*)(uint32_t ui32Base,                                         \
                   unsigned char ucData))ROM_UARTTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTParityModeSet                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Parity))ROM_UARTTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTParityModeGet                                                 \
        ((uint32_t (*)(uint32_t ui32Base))ROM_UARTTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTFIFOLevelSet                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32TxLevel,                                      \
                   uint32_t ui32RxLevel))ROM_UARTTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTFIFOLevelGet                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t *pui32TxLevel,                                    \
                   uint32_t *pui32RxLevel))ROM_UARTTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTConfigSetExpClk                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32UARTClk,                                      \
                   uint32_t ui32Baud,                                         \
                   uint32_t ui32Config))ROM_UARTTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTConfigGetExpClk                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32UARTClk,                                      \
                   uint32_t *pui32Baud,                                       \
                   uint32_t *pui32Config))ROM_UARTTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTEnable                                                        \
        ((void (*)(uint32_t ui32Base))ROM_UARTTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTDisable                                                       \
        ((void (*)(uint32_t ui32Base))ROM_UARTTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTEnableSIR                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   bool bLowPower))ROM_UARTTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTDisableSIR                                                    \
        ((void (*)(uint32_t ui32Base))ROM_UARTTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTCharsAvail                                                    \
        ((bool (*)(uint32_t ui32Base))ROM_UARTTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTSpaceAvail                                                    \
        ((bool (*)(uint32_t ui32Base))ROM_UARTTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTCharGetNonBlocking                                            \
        ((int32_t (*)(uint32_t ui32Base))ROM_UARTTABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTCharGet                                                       \
        ((int32_t (*)(uint32_t ui32Base))ROM_UARTTABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTCharPutNonBlocking                                            \
        ((bool (*)(uint32_t ui32Base,                                         \
                   unsigned char ucData))ROM_UARTTABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTBreakCtl                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   bool bBreakState))ROM_UARTTABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTIntEnable                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_UARTTABLE[17])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTIntDisable                                                    \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_UARTTABLE[18])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTIntStatus                                                     \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       bool bMasked))ROM_UARTTABLE[19])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTIntClear                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_UARTTABLE[20])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UpdateUART                                                        \
        ((void (*)(void))ROM_UARTTABLE[21])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTDMAEnable                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32DMAFlags))ROM_UARTTABLE[22])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTDMADisable                                                    \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32DMAFlags))ROM_UARTTABLE[23])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTFIFOEnable                                                    \
        ((void (*)(uint32_t ui32Base))ROM_UARTTABLE[24])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTFIFODisable                                                   \
        ((void (*)(uint32_t ui32Base))ROM_UARTTABLE[25])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTBusy                                                          \
        ((bool (*)(uint32_t ui32Base))ROM_UARTTABLE[26])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTTxIntModeSet                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Mode))ROM_UARTTABLE[27])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTTxIntModeGet                                                  \
        ((uint32_t (*)(uint32_t ui32Base))ROM_UARTTABLE[28])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTRxErrorGet                                                    \
        ((uint32_t (*)(uint32_t ui32Base))ROM_UARTTABLE[29])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTRxErrorClear                                                  \
        ((void (*)(uint32_t ui32Base))ROM_UARTTABLE[30])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTClockSourceSet                                                \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Source))ROM_UARTTABLE[31])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UARTClockSourceGet                                                \
        ((uint32_t (*)(uint32_t ui32Base))ROM_UARTTABLE[32])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UART9BitEnable                                                    \
        ((void (*)(uint32_t ui32Base))ROM_UARTTABLE[33])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UART9BitDisable                                                   \
        ((void (*)(uint32_t ui32Base))ROM_UARTTABLE[34])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UART9BitAddrSet                                                   \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint8_t ui8Addr,                                           \
                   uint8_t ui8Mask))ROM_UARTTABLE[35])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UART9BitAddrSend                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint8_t ui8Addr))ROM_UARTTABLE[36])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the uDMA API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelTransferSet                                            \
        ((void (*)(uint32_t ui32ChannelStructIndex,                           \
                   uint32_t ui32Mode,                                         \
                   void *pvSrcAddr,                                           \
                   void *pvDstAddr,                                           \
                   uint32_t ui32TransferSize))ROM_UDMATABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAEnable                                                        \
        ((void (*)(void))ROM_UDMATABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMADisable                                                       \
        ((void (*)(void))ROM_UDMATABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAErrorStatusGet                                                \
        ((uint32_t (*)(void))ROM_UDMATABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAErrorStatusClear                                              \
        ((void (*)(void))ROM_UDMATABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelEnable                                                 \
        ((void (*)(uint32_t ui32ChannelNum))ROM_UDMATABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelDisable                                                \
        ((void (*)(uint32_t ui32ChannelNum))ROM_UDMATABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelIsEnabled                                              \
        ((bool (*)(uint32_t ui32ChannelNum))ROM_UDMATABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAControlBaseSet                                                \
        ((void (*)(void *pControlTable))ROM_UDMATABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAControlBaseGet                                                \
        ((void * (*)(void))ROM_UDMATABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelRequest                                                \
        ((void (*)(uint32_t ui32ChannelNum))ROM_UDMATABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelAttributeEnable                                        \
        ((void (*)(uint32_t ui32ChannelNum,                                   \
                   uint32_t ui32Attr))ROM_UDMATABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelAttributeDisable                                       \
        ((void (*)(uint32_t ui32ChannelNum,                                   \
                   uint32_t ui32Attr))ROM_UDMATABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelAttributeGet                                           \
        ((uint32_t (*)(uint32_t ui32ChannelNum))ROM_UDMATABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelControlSet                                             \
        ((void (*)(uint32_t ui32ChannelStructIndex,                           \
                   uint32_t ui32Control))ROM_UDMATABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelSizeGet                                                \
        ((uint32_t (*)(uint32_t ui32ChannelStructIndex))ROM_UDMATABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelModeGet                                                \
        ((uint32_t (*)(uint32_t ui32ChannelStructIndex))ROM_UDMATABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelSelectSecondary                                        \
        ((void (*)(uint32_t ui32SecPeriphs))ROM_UDMATABLE[17])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelSelectDefault                                          \
        ((void (*)(uint32_t ui32DefPeriphs))ROM_UDMATABLE[18])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAIntStatus                                                     \
        ((uint32_t (*)(void))ROM_UDMATABLE[19])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAIntClear                                                      \
        ((void (*)(uint32_t ui32ChanMask))ROM_UDMATABLE[20])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAControlAlternateBaseGet                                       \
        ((void * (*)(void))ROM_UDMATABLE[21])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelScatterGatherSet                                       \
        ((void (*)(uint32_t ui32ChannelNum,                                   \
                   uint32_t ui32TaskCount,                                    \
                   void *pvTaskList,                                          \
                   uint32_t ui32IsPeriphSG))ROM_UDMATABLE[22])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_uDMAChannelAssign                                                 \
        ((void (*)(uint32_t ui32Mapping))ROM_UDMATABLE[23])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the USB API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBDevAddrGet                                                     \
        ((uint32_t (*)(uint32_t ui32Base))ROM_USBTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBDevAddrSet                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Address))ROM_USBTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBDevConnect                                                     \
        ((void (*)(uint32_t ui32Base))ROM_USBTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBDevDisconnect                                                  \
        ((void (*)(uint32_t ui32Base))ROM_USBTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBDevEndpointConfigSet                                           \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32MaxPacketSize,                                \
                   uint32_t ui32Flags))ROM_USBTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBDevEndpointDataAck                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   bool bIsLastPacket))ROM_USBTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBDevEndpointStall                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32Flags))ROM_USBTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBDevEndpointStallClear                                          \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32Flags))ROM_USBTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBDevEndpointStatusClear                                         \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32Flags))ROM_USBTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBEndpointDataGet                                                \
        ((int32_t (*)(uint32_t ui32Base,                                      \
                      uint32_t ui32Endpoint,                                  \
                      uint8_t *pui8Data,                                      \
                      uint32_t *pui32Size))ROM_USBTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBEndpointDataPut                                                \
        ((int32_t (*)(uint32_t ui32Base,                                      \
                      uint32_t ui32Endpoint,                                  \
                      uint8_t *pui8Data,                                      \
                      uint32_t ui32Size))ROM_USBTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBEndpointDataSend                                               \
        ((int32_t (*)(uint32_t ui32Base,                                      \
                      uint32_t ui32Endpoint,                                  \
                      uint32_t ui32TransType))ROM_USBTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBEndpointDataToggleClear                                        \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32Flags))ROM_USBTABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBEndpointStatus                                                 \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Endpoint))ROM_USBTABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBFIFOAddrGet                                                    \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Endpoint))ROM_USBTABLE[15])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBFIFOConfigGet                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t *pui32FIFOAddress,                                \
                   uint32_t *pui32FIFOSize,                                   \
                   uint32_t ui32Flags))ROM_USBTABLE[16])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBFIFOConfigSet                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32FIFOAddress,                                  \
                   uint32_t ui32FIFOSize,                                     \
                   uint32_t ui32Flags))ROM_USBTABLE[17])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBFIFOFlush                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32Flags))ROM_USBTABLE[18])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBFrameNumberGet                                                 \
        ((uint32_t (*)(uint32_t ui32Base))ROM_USBTABLE[19])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostAddrGet                                                    \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Endpoint,                                 \
                       uint32_t ui32Flags))ROM_USBTABLE[20])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostAddrSet                                                    \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32Addr,                                         \
                   uint32_t ui32Flags))ROM_USBTABLE[21])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostEndpointConfig                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32MaxPacketSize,                                \
                   uint32_t ui32NAKPollInterval,                              \
                   uint32_t ui32TargetEndpoint,                               \
                   uint32_t ui32Flags))ROM_USBTABLE[22])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostEndpointDataAck                                            \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint))ROM_USBTABLE[23])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostEndpointDataToggle                                         \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   bool bDataToggle,                                          \
                   uint32_t ui32Flags))ROM_USBTABLE[24])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostEndpointStatusClear                                        \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32Flags))ROM_USBTABLE[25])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostHubAddrGet                                                 \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Endpoint,                                 \
                       uint32_t ui32Flags))ROM_USBTABLE[26])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostHubAddrSet                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32Addr,                                         \
                   uint32_t ui32Flags))ROM_USBTABLE[27])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostPwrDisable                                                 \
        ((void (*)(uint32_t ui32Base))ROM_USBTABLE[28])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostPwrEnable                                                  \
        ((void (*)(uint32_t ui32Base))ROM_USBTABLE[29])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostPwrConfig                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Flags))ROM_USBTABLE[30])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostPwrFaultDisable                                            \
        ((void (*)(uint32_t ui32Base))ROM_USBTABLE[31])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostPwrFaultEnable                                             \
        ((void (*)(uint32_t ui32Base))ROM_USBTABLE[32])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostRequestIN                                                  \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint))ROM_USBTABLE[33])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostRequestStatus                                              \
        ((void (*)(uint32_t ui32Base))ROM_USBTABLE[34])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostReset                                                      \
        ((void (*)(uint32_t ui32Base,                                         \
                   bool bStart))ROM_USBTABLE[35])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostResume                                                     \
        ((void (*)(uint32_t ui32Base,                                         \
                   bool bStart))ROM_USBTABLE[36])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostSpeedGet                                                   \
        ((uint32_t (*)(uint32_t ui32Base))ROM_USBTABLE[37])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostSuspend                                                    \
        ((void (*)(uint32_t ui32Base))ROM_USBTABLE[38])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBDevEndpointConfigGet                                           \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t *pui32MaxPacketSize,                              \
                   uint32_t *pui32Flags))ROM_USBTABLE[41])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBEndpointDMAEnable                                              \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32Flags))ROM_USBTABLE[42])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBEndpointDMADisable                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32Flags))ROM_USBTABLE[43])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBEndpointDataAvail                                              \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       uint32_t ui32Endpoint))ROM_USBTABLE[44])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBModeGet                                                        \
        ((uint32_t (*)(uint32_t ui32Base))ROM_USBTABLE[46])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBEndpointDMAChannel                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint,                                     \
                   uint32_t ui32Channel))ROM_USBTABLE[47])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBIntDisableControl                                              \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_USBTABLE[48])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBIntEnableControl                                               \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_USBTABLE[49])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBIntStatusControl                                               \
        ((uint32_t (*)(uint32_t ui32Base))ROM_USBTABLE[50])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBIntDisableEndpoint                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_USBTABLE[51])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBIntEnableEndpoint                                              \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32IntFlags))ROM_USBTABLE[52])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBIntStatusEndpoint                                              \
        ((uint32_t (*)(uint32_t ui32Base))ROM_USBTABLE[53])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostMode                                                       \
        ((void (*)(uint32_t ui32Base))ROM_USBTABLE[54])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBDevMode                                                        \
        ((void (*)(uint32_t ui32Base))ROM_USBTABLE[55])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBPHYPowerOff                                                    \
        ((void (*)(uint32_t ui32Base))ROM_USBTABLE[56])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBPHYPowerOn                                                     \
        ((void (*)(uint32_t ui32Base))ROM_USBTABLE[57])
#endif
#if defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_UpdateUSB                                                         \
        ((void (*)(uint8_t *pui8DescriptorInfo))ROM_USBTABLE[58])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBOTGMode                                                        \
        ((void (*)(uint32_t ui32Base))ROM_USBTABLE[59])
#endif
#if defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBHostRequestINClear                                             \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Endpoint))ROM_USBTABLE[60])
#endif
#if defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_USBNumEndpointsGet                                                \
        ((uint32_t (*)(uint32_t ui32Base))ROM_USBTABLE[61])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the Watchdog API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogIntClear                                                  \
        ((void (*)(uint32_t ui32Base))ROM_WATCHDOGTABLE[0])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogRunning                                                   \
        ((bool (*)(uint32_t ui32Base))ROM_WATCHDOGTABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogEnable                                                    \
        ((void (*)(uint32_t ui32Base))ROM_WATCHDOGTABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogResetEnable                                               \
        ((void (*)(uint32_t ui32Base))ROM_WATCHDOGTABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogResetDisable                                              \
        ((void (*)(uint32_t ui32Base))ROM_WATCHDOGTABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogLock                                                      \
        ((void (*)(uint32_t ui32Base))ROM_WATCHDOGTABLE[5])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogUnlock                                                    \
        ((void (*)(uint32_t ui32Base))ROM_WATCHDOGTABLE[6])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogLockState                                                 \
        ((bool (*)(uint32_t ui32Base))ROM_WATCHDOGTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogReloadSet                                                 \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32LoadVal))ROM_WATCHDOGTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogReloadGet                                                 \
        ((uint32_t (*)(uint32_t ui32Base))ROM_WATCHDOGTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogValueGet                                                  \
        ((uint32_t (*)(uint32_t ui32Base))ROM_WATCHDOGTABLE[10])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogIntEnable                                                 \
        ((void (*)(uint32_t ui32Base))ROM_WATCHDOGTABLE[11])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogIntStatus                                                 \
        ((uint32_t (*)(uint32_t ui32Base,                                     \
                       bool bMasked))ROM_WATCHDOGTABLE[12])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogStallEnable                                               \
        ((void (*)(uint32_t ui32Base))ROM_WATCHDOGTABLE[13])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogStallDisable                                              \
        ((void (*)(uint32_t ui32Base))ROM_WATCHDOGTABLE[14])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_WatchdogIntTypeSet                                                \
        ((void (*)(uint32_t ui32Base,                                         \
                   uint32_t ui32Type))ROM_WATCHDOGTABLE[15])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the Software API.
//
//*****************************************************************************
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_Crc16Array                                                        \
        ((uint16_t (*)(uint32_t ui32WordLen,                                  \
                       const uint32_t *pui32Data))ROM_SOFTWARETABLE[1])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_Crc16Array3                                                       \
        ((void (*)(uint32_t ui32WordLen,                                      \
                   const uint32_t *pui32Data,                                 \
                   uint16_t *pui16Crc3))ROM_SOFTWARETABLE[2])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_Crc16                                                             \
        ((uint16_t (*)(uint16_t ui16Crc,                                      \
                       const uint8_t *pui8Data,                               \
                       uint32_t ui32Count))ROM_SOFTWARETABLE[3])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_Crc8CCITT                                                         \
        ((uint8_t (*)(uint8_t ui8Crc,                                         \
                      const uint8_t *pui8Data,                                \
                      uint32_t ui32Count))ROM_SOFTWARETABLE[4])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_pvAESTable                                                        \
        ((void *)&(ROM_SOFTWARETABLE[7]))
#endif

#endif // __ROM_H__
