1 /**************************************************************************//** 2 * @file 3 * @brief CMSIS Cortex-M Peripheral Access Layer Header File 4 * for EFR32MG21B020F768IM32 5 ****************************************************************************** 6 * # License 7 * <b>Copyright 2022 Silicon Laboratories, Inc. www.silabs.com</b> 8 ****************************************************************************** 9 * 10 * SPDX-License-Identifier: Zlib 11 * 12 * The licensor of this software is Silicon Laboratories Inc. 13 * 14 * This software is provided 'as-is', without any express or implied 15 * warranty. In no event will the authors be held liable for any damages 16 * arising from the use of this software. 17 * 18 * Permission is granted to anyone to use this software for any purpose, 19 * including commercial applications, and to alter it and redistribute it 20 * freely, subject to the following restrictions: 21 * 22 * 1. The origin of this software must not be misrepresented; you must not 23 * claim that you wrote the original software. If you use this software 24 * in a product, an acknowledgment in the product documentation would be 25 * appreciated but is not required. 26 * 2. Altered source versions must be plainly marked as such, and must not be 27 * misrepresented as being the original software. 28 * 3. This notice may not be removed or altered from any source distribution. 29 * 30 *****************************************************************************/ 31 #ifndef EFR32MG21B020F768IM32_H 32 #define EFR32MG21B020F768IM32_H 33 34 #ifdef __cplusplus 35 extern "C" { 36 #endif 37 38 /**************************************************************************//** 39 * @addtogroup Parts 40 * @{ 41 *****************************************************************************/ 42 43 /**************************************************************************//** 44 * @defgroup EFR32MG21B020F768IM32 EFR32MG21B020F768IM32 45 * @{ 46 *****************************************************************************/ 47 48 /** Interrupt Number Definition */ 49 typedef enum IRQn{ 50 /****** Cortex-M Processor Exceptions Numbers ******************************************/ 51 NonMaskableInt_IRQn = -14, /*!< -14 Cortex-M Non Maskable Interrupt */ 52 HardFault_IRQn = -13, /*!< -13 Cortex-M Hard Fault Interrupt */ 53 MemoryManagement_IRQn = -12, /*!< -12 Cortex-M Memory Management Interrupt */ 54 BusFault_IRQn = -11, /*!< -11 Cortex-M Bus Fault Interrupt */ 55 UsageFault_IRQn = -10, /*!< -10 Cortex-M Usage Fault Interrupt */ 56 SVCall_IRQn = -5, /*!< -5 Cortex-M SV Call Interrupt */ 57 DebugMonitor_IRQn = -4, /*!< -4 Cortex-M Debug Monitor Interrupt */ 58 PendSV_IRQn = -2, /*!< -2 Cortex-M Pend SV Interrupt */ 59 SysTick_IRQn = -1, /*!< -1 Cortex-M System Tick Interrupt */ 60 61 /****** EFR32MG21 Peripheral Interrupt Numbers ******************************************/ 62 63 SETAMPERHOST_IRQn = 0, /*!< 0 EFR32 SETAMPERHOST Interrupt */ 64 SEMBRX_IRQn = 1, /*!< 1 EFR32 SEMBRX Interrupt */ 65 SEMBTX_IRQn = 2, /*!< 2 EFR32 SEMBTX Interrupt */ 66 SMU_SECURE_IRQn = 3, /*!< 3 EFR32 SMU_SECURE Interrupt */ 67 SMU_PRIVILEGED_IRQn = 4, /*!< 4 EFR32 SMU_PRIVILEGED Interrupt */ 68 EMU_IRQn = 5, /*!< 5 EFR32 EMU Interrupt */ 69 TIMER0_IRQn = 6, /*!< 6 EFR32 TIMER0 Interrupt */ 70 TIMER1_IRQn = 7, /*!< 7 EFR32 TIMER1 Interrupt */ 71 TIMER2_IRQn = 8, /*!< 8 EFR32 TIMER2 Interrupt */ 72 TIMER3_IRQn = 9, /*!< 9 EFR32 TIMER3 Interrupt */ 73 RTCC_IRQn = 10, /*!< 10 EFR32 RTCC Interrupt */ 74 USART0_RX_IRQn = 11, /*!< 11 EFR32 USART0_RX Interrupt */ 75 USART0_TX_IRQn = 12, /*!< 12 EFR32 USART0_TX Interrupt */ 76 USART1_RX_IRQn = 13, /*!< 13 EFR32 USART1_RX Interrupt */ 77 USART1_TX_IRQn = 14, /*!< 14 EFR32 USART1_TX Interrupt */ 78 USART2_RX_IRQn = 15, /*!< 15 EFR32 USART2_RX Interrupt */ 79 USART2_TX_IRQn = 16, /*!< 16 EFR32 USART2_TX Interrupt */ 80 ICACHE0_IRQn = 17, /*!< 17 EFR32 ICACHE0 Interrupt */ 81 BURTC_IRQn = 18, /*!< 18 EFR32 BURTC Interrupt */ 82 LETIMER0_IRQn = 19, /*!< 19 EFR32 LETIMER0 Interrupt */ 83 SYSCFG_IRQn = 20, /*!< 20 EFR32 SYSCFG Interrupt */ 84 LDMA_IRQn = 21, /*!< 21 EFR32 LDMA Interrupt */ 85 LFXO_IRQn = 22, /*!< 22 EFR32 LFXO Interrupt */ 86 LFRCO_IRQn = 23, /*!< 23 EFR32 LFRCO Interrupt */ 87 ULFRCO_IRQn = 24, /*!< 24 EFR32 ULFRCO Interrupt */ 88 GPIO_ODD_IRQn = 25, /*!< 25 EFR32 GPIO_ODD Interrupt */ 89 GPIO_EVEN_IRQn = 26, /*!< 26 EFR32 GPIO_EVEN Interrupt */ 90 I2C0_IRQn = 27, /*!< 27 EFR32 I2C0 Interrupt */ 91 I2C1_IRQn = 28, /*!< 28 EFR32 I2C1 Interrupt */ 92 EMUDG_IRQn = 29, /*!< 29 EFR32 EMUDG Interrupt */ 93 EMUSE_IRQn = 30, /*!< 30 EFR32 EMUSE Interrupt */ 94 AGC_IRQn = 31, /*!< 31 EFR32 AGC Interrupt */ 95 BUFC_IRQn = 32, /*!< 32 EFR32 BUFC Interrupt */ 96 FRC_PRI_IRQn = 33, /*!< 33 EFR32 FRC_PRI Interrupt */ 97 FRC_IRQn = 34, /*!< 34 EFR32 FRC Interrupt */ 98 MODEM_IRQn = 35, /*!< 35 EFR32 MODEM Interrupt */ 99 PROTIMER_IRQn = 36, /*!< 36 EFR32 PROTIMER Interrupt */ 100 RAC_RSM_IRQn = 37, /*!< 37 EFR32 RAC_RSM Interrupt */ 101 RAC_SEQ_IRQn = 38, /*!< 38 EFR32 RAC_SEQ Interrupt */ 102 PRORTC_IRQn = 39, /*!< 39 EFR32 PRORTC Interrupt */ 103 SYNTH_IRQn = 40, /*!< 40 EFR32 SYNTH Interrupt */ 104 ACMP0_IRQn = 41, /*!< 41 EFR32 ACMP0 Interrupt */ 105 ACMP1_IRQn = 42, /*!< 42 EFR32 ACMP1 Interrupt */ 106 WDOG0_IRQn = 43, /*!< 43 EFR32 WDOG0 Interrupt */ 107 WDOG1_IRQn = 44, /*!< 44 EFR32 WDOG1 Interrupt */ 108 HFXO00_IRQn = 45, /*!< 45 EFR32 HFXO00 Interrupt */ 109 HFRCO0_IRQn = 46, /*!< 46 EFR32 HFRCO0 Interrupt */ 110 HFRCOEM23_IRQn = 47, /*!< 47 EFR32 HFRCOEM23 Interrupt */ 111 CMU_IRQn = 48, /*!< 48 EFR32 CMU Interrupt */ 112 AES_IRQn = 49, /*!< 49 EFR32 AES Interrupt */ 113 IADC_IRQn = 50, /*!< 50 EFR32 IADC Interrupt */ 114 MSC_IRQn = 51, /*!< 51 EFR32 MSC Interrupt */ 115 DPLL0_IRQn = 52, /*!< 52 EFR32 DPLL0 Interrupt */ 116 SW0_IRQn = 53, /*!< 53 EFR32 SW0 Interrupt */ 117 SW1_IRQn = 54, /*!< 54 EFR32 SW1 Interrupt */ 118 SW2_IRQn = 55, /*!< 55 EFR32 SW2 Interrupt */ 119 SW3_IRQn = 56, /*!< 56 EFR32 SW3 Interrupt */ 120 KERNEL0_IRQn = 57, /*!< 57 EFR32 KERNEL0 Interrupt */ 121 KERNEL1_IRQn = 58, /*!< 58 EFR32 KERNEL1 Interrupt */ 122 M33CTI0_IRQn = 59, /*!< 59 EFR32 M33CTI0 Interrupt */ 123 M33CTI1_IRQn = 60, /*!< 60 EFR32 M33CTI1 Interrupt */ 124 } IRQn_Type; 125 126 /**************************************************************************//** 127 * @defgroup EFR32MG21B020F768IM32_Core EFR32MG21B020F768IM32 Core 128 * @{ 129 * @brief Processor and Core Peripheral Section 130 *****************************************************************************/ 131 132 #define __CM33_REV 0x0003U /**< Cortex-M33 Core revision */ 133 #define __DSP_PRESENT 1U /**< Presence of DSP */ 134 #define __FPU_PRESENT 1U /**< Presence of FPU */ 135 #define __MPU_PRESENT 1U /**< Presence of MPU */ 136 #define __SAUREGION_PRESENT 1U /**< Presence of FPU */ 137 #define __TZ_PRESENT 1U /**< Presence of TrustZone */ 138 #define __VTOR_PRESENT 1U /**< Presence of VTOR register in SCB */ 139 #define __NVIC_PRIO_BITS 4U /**< NVIC interrupt priority bits */ 140 #define __Vendor_SysTickConfig 0U /**< Is 1 if different SysTick counter is used */ 141 142 /** @} End of group EFR32MG21B020F768IM32_Core */ 143 144 /**************************************************************************//** 145 * @defgroup EFR32MG21B020F768IM32_Part EFR32MG21B020F768IM32 Part 146 * @{ 147 ******************************************************************************/ 148 149 /** Part number */ 150 151 /* If part number is not defined as compiler option, define it */ 152 #if !defined(EFR32MG21B020F768IM32) 153 #define EFR32MG21B020F768IM32 1 /**< FULL Part */ 154 #endif 155 156 /** Configure part number */ 157 #define PART_NUMBER "EFR32MG21B020F768IM32" /**< Part Number */ 158 159 /** Family / Line / Series / Config */ 160 #define _EFR32_MIGHTY_FAMILY 1 /** Device Family Name Identifier */ 161 #define _EFR32_MG_FAMILY 1 /** Device Family Identifier */ 162 #define _EFR_DEVICE 1 /** Product Line Identifier */ 163 #define _SILICON_LABS_32B_SERIES_2 /** Product Series Identifier */ 164 #define _SILICON_LABS_32B_SERIES 2 /** Product Series Identifier */ 165 #define _SILICON_LABS_32B_SERIES_2_CONFIG_1 /** Product Config Identifier */ 166 #define _SILICON_LABS_32B_SERIES_2_CONFIG 1 /** Product Config Identifier */ 167 #define _SILICON_LABS_GECKO_INTERNAL_SDID 200 /** Silicon Labs internal use only */ 168 #define _SILICON_LABS_GECKO_INTERNAL_SDID_200 /** Silicon Labs internal use only */ 169 #define _SILICON_LABS_SECURITY_FEATURE_SE 0 /** Mid */ 170 #define _SILICON_LABS_SECURITY_FEATURE_VAULT 1 /** High */ 171 #define _SILICON_LABS_SECURITY_FEATURE_ROT 2 /** Root Of Trust */ 172 #define _SILICON_LABS_SECURITY_FEATURE _SILICON_LABS_SECURITY_FEATURE_VAULT /** Security feature set */ 173 #define _SILICON_LABS_DCDC_FEATURE_NOTUSED 0 /** Not Used */ 174 #define _SILICON_LABS_DCDC_FEATURE_DCDC_BUCK 1 /** Includes Buck DCDC */ 175 #define _SILICON_LABS_DCDC_FEATURE_DCDC_BOOST 2 /** Includes Boost DCDC */ 176 #define _SILICON_LABS_DCDC_FEATURE_DCDC_BOB 3 /** Includes Buck or Boost DCDC */ 177 #define _SILICON_LABS_DCDC_FEATURE _SILICON_LABS_DCDC_FEATURE_NOTUSED /** DCDC feature set */ 178 #define _SILICON_LABS_EFR32_RADIO_NONE 0 /** No radio present */ 179 #define _SILICON_LABS_EFR32_RADIO_SUBGHZ 1 /** Radio supports Sub-GHz */ 180 #define _SILICON_LABS_EFR32_RADIO_2G4HZ 2 /** Radio supports 2.4 GHz */ 181 #define _SILICON_LABS_EFR32_RADIO_DUALBAND 3 /** Radio supports dual band */ 182 #define _SILICON_LABS_EFR32_RADIO_TYPE _SILICON_LABS_EFR32_RADIO_2G4HZ /** Radio type */ 183 #define _SILICON_LABS_EFR32_2G4HZ_HP_PA_MAX_OUTPUT_DBM 20 /** Radio 2G4HZ HP PA output power */ 184 #define _SILICON_LABS_EFR32_2G4HZ_MP_PA_MAX_OUTPUT_DBM 10 /** Radio 2G4HZ MP PA output power */ 185 #define _SILICON_LABS_EFR32_2G4HZ_LP_PA_MAX_OUTPUT_DBM 0 /** Radio 2G4HZ LP PA output power */ 186 #define _SILICON_LABS_EFR32_2G4HZ_HP_PA_PRESENT /** Radio 2G4HZ HP PA is present */ 187 #define _SILICON_LABS_EFR32_2G4HZ_MP_PA_PRESENT /** Radio 2G4HZ MP PA is present */ 188 #define _SILICON_LABS_EFR32_2G4HZ_LP_PA_PRESENT /** Radio 2G4HZ LP PA is present */ 189 190 /** Memory Base addresses and limits */ 191 #define FLASH_MEM_BASE (0x00000000UL) /** FLASH_MEM base address */ 192 #define FLASH_MEM_SIZE (0x00100000UL) /** FLASH_MEM available address space */ 193 #define FLASH_MEM_END (0x000FFFFFUL) /** FLASH_MEM end address */ 194 #define FLASH_MEM_BITS (0x15UL) /** FLASH_MEM used bits */ 195 #define MSC_FLASH_MEM_BASE (0x00000000UL) /** MSC_FLASH_MEM base address */ 196 #define MSC_FLASH_MEM_SIZE (0x00100000UL) /** MSC_FLASH_MEM available address space */ 197 #define MSC_FLASH_MEM_END (0x000FFFFFUL) /** MSC_FLASH_MEM end address */ 198 #define MSC_FLASH_MEM_BITS (0x15UL) /** MSC_FLASH_MEM used bits */ 199 #define MSC_FLASH_USERDATA_MEM_BASE (0x0FE00000UL) /** MSC_FLASH_USERDATA_MEM base address */ 200 #define MSC_FLASH_USERDATA_MEM_SIZE (0x00000400UL) /** MSC_FLASH_USERDATA_MEM available address space */ 201 #define MSC_FLASH_USERDATA_MEM_END (0x0FE003FFUL) /** MSC_FLASH_USERDATA_MEM end address */ 202 #define MSC_FLASH_USERDATA_MEM_BITS (0xBUL) /** MSC_FLASH_USERDATA_MEM used bits */ 203 #define USERDATA_BASE (0x0FE00000UL) /** USERDATA base address */ 204 #define USERDATA_SIZE (0x00000400UL) /** USERDATA available address space */ 205 #define USERDATA_END (0x0FE003FFUL) /** USERDATA end address */ 206 #define USERDATA_BITS (0xBUL) /** USERDATA used bits */ 207 #define MSC_FLASH_DEVINFO_MEM_BASE (0x0FE08000UL) /** MSC_FLASH_DEVINFO_MEM base address */ 208 #define MSC_FLASH_DEVINFO_MEM_SIZE (0x00000400UL) /** MSC_FLASH_DEVINFO_MEM available address space */ 209 #define MSC_FLASH_DEVINFO_MEM_END (0x0FE083FFUL) /** MSC_FLASH_DEVINFO_MEM end address */ 210 #define MSC_FLASH_DEVINFO_MEM_BITS (0xBUL) /** MSC_FLASH_DEVINFO_MEM used bits */ 211 #define MSC_FLASH_CHIPCONFIG_MEM_BASE (0x0FE0E000UL) /** MSC_FLASH_CHIPCONFIG_MEM base address */ 212 #define MSC_FLASH_CHIPCONFIG_MEM_SIZE (0x00000400UL) /** MSC_FLASH_CHIPCONFIG_MEM available address space */ 213 #define MSC_FLASH_CHIPCONFIG_MEM_END (0x0FE0E3FFUL) /** MSC_FLASH_CHIPCONFIG_MEM end address */ 214 #define MSC_FLASH_CHIPCONFIG_MEM_BITS (0xBUL) /** MSC_FLASH_CHIPCONFIG_MEM used bits */ 215 #define MSC_FLASH_RESERVED_MEM_BASE (0x0FF00000UL) /** MSC_FLASH_RESERVED_MEM base address */ 216 #define MSC_FLASH_RESERVED_MEM_SIZE (0x00100000UL) /** MSC_FLASH_RESERVED_MEM available address space */ 217 #define MSC_FLASH_RESERVED_MEM_END (0x0FFFFFFFUL) /** MSC_FLASH_RESERVED_MEM end address */ 218 #define MSC_FLASH_RESERVED_MEM_BITS (0x15UL) /** MSC_FLASH_RESERVED_MEM used bits */ 219 #define DMEM_RAM0_RAM_MEM_BASE (0x20000000UL) /** DMEM_RAM0_RAM_MEM base address */ 220 #define DMEM_RAM0_RAM_MEM_SIZE (0x00018000UL) /** DMEM_RAM0_RAM_MEM available address space */ 221 #define DMEM_RAM0_RAM_MEM_END (0x20017FFFUL) /** DMEM_RAM0_RAM_MEM end address */ 222 #define DMEM_RAM0_RAM_MEM_BITS (0x11UL) /** DMEM_RAM0_RAM_MEM used bits */ 223 #define RAM_MEM_BASE (0x20000000UL) /** RAM_MEM base address */ 224 #define RAM_MEM_SIZE (0x00018000UL) /** RAM_MEM available address space */ 225 #define RAM_MEM_END (0x20017FFFUL) /** RAM_MEM end address */ 226 #define RAM_MEM_BITS (0x11UL) /** RAM_MEM used bits */ 227 #define RDMEM_SEQRAM_S_MEM_BASE (0xA0000000UL) /** RDMEM_SEQRAM_S_MEM base address */ 228 #define RDMEM_SEQRAM_S_MEM_SIZE (0x00002000UL) /** RDMEM_SEQRAM_S_MEM available address space */ 229 #define RDMEM_SEQRAM_S_MEM_END (0xA0001FFFUL) /** RDMEM_SEQRAM_S_MEM end address */ 230 #define RDMEM_SEQRAM_S_MEM_BITS (0xEUL) /** RDMEM_SEQRAM_S_MEM used bits */ 231 #define RDMEM_FRCRAM_S_MEM_BASE (0xA0002000UL) /** RDMEM_FRCRAM_S_MEM base address */ 232 #define RDMEM_FRCRAM_S_MEM_SIZE (0x00001000UL) /** RDMEM_FRCRAM_S_MEM available address space */ 233 #define RDMEM_FRCRAM_S_MEM_END (0xA0002FFFUL) /** RDMEM_FRCRAM_S_MEM end address */ 234 #define RDMEM_FRCRAM_S_MEM_BITS (0xDUL) /** RDMEM_FRCRAM_S_MEM used bits */ 235 #define RDMEM_SEQRAM_NS_MEM_BASE (0xB0000000UL) /** RDMEM_SEQRAM_NS_MEM base address */ 236 #define RDMEM_SEQRAM_NS_MEM_SIZE (0x00002000UL) /** RDMEM_SEQRAM_NS_MEM available address space */ 237 #define RDMEM_SEQRAM_NS_MEM_END (0xB0001FFFUL) /** RDMEM_SEQRAM_NS_MEM end address */ 238 #define RDMEM_SEQRAM_NS_MEM_BITS (0xEUL) /** RDMEM_SEQRAM_NS_MEM used bits */ 239 #define RDMEM_SEQRAM_SEQRAM_MEM_BASE (0xB0000000UL) /** RDMEM_SEQRAM_SEQRAM_MEM base address */ 240 #define RDMEM_SEQRAM_SEQRAM_MEM_SIZE (0x00002000UL) /** RDMEM_SEQRAM_SEQRAM_MEM available address space */ 241 #define RDMEM_SEQRAM_SEQRAM_MEM_END (0xB0001FFFUL) /** RDMEM_SEQRAM_SEQRAM_MEM end address */ 242 #define RDMEM_SEQRAM_SEQRAM_MEM_BITS (0xEUL) /** RDMEM_SEQRAM_SEQRAM_MEM used bits */ 243 #define RDMEM_FRCRAM_FRCRAM_MEM_BASE (0xB0002000UL) /** RDMEM_FRCRAM_FRCRAM_MEM base address */ 244 #define RDMEM_FRCRAM_FRCRAM_MEM_SIZE (0x00001000UL) /** RDMEM_FRCRAM_FRCRAM_MEM available address space */ 245 #define RDMEM_FRCRAM_FRCRAM_MEM_END (0xB0002FFFUL) /** RDMEM_FRCRAM_FRCRAM_MEM end address */ 246 #define RDMEM_FRCRAM_FRCRAM_MEM_BITS (0xDUL) /** RDMEM_FRCRAM_FRCRAM_MEM used bits */ 247 #define RDMEM_FRCRAM_NS_MEM_BASE (0xB0002000UL) /** RDMEM_FRCRAM_NS_MEM base address */ 248 #define RDMEM_FRCRAM_NS_MEM_SIZE (0x00001000UL) /** RDMEM_FRCRAM_NS_MEM available address space */ 249 #define RDMEM_FRCRAM_NS_MEM_END (0xB0002FFFUL) /** RDMEM_FRCRAM_NS_MEM end address */ 250 #define RDMEM_FRCRAM_NS_MEM_BITS (0xDUL) /** RDMEM_FRCRAM_NS_MEM used bits */ 251 252 /** Flash and SRAM limits for EFR32MG21B020F768IM32 */ 253 #define FLASH_BASE (0x00000000UL) /**< Flash Base Address */ 254 #define FLASH_SIZE (0x000C0000UL) /**< Available Flash Memory */ 255 #define FLASH_PAGE_SIZE (0x00002000UL) /**< Flash Memory page size */ 256 #define SRAM_BASE (0x20000000UL) /**< SRAM Base Address */ 257 #define SRAM_SIZE (0x00010000UL) /**< Available SRAM Memory */ 258 #define DMA_CHAN_COUNT LDMA_CH_NUM /**< Number of DMA channels */ 259 #define EXT_IRQ_COUNT 61 /**< Number of External (NVIC) interrupts */ 260 261 /* GPIO Avalibility Info */ 262 #define GPIO_PA_INDEX 0U /**< Index of port PA */ 263 #define GPIO_PA_COUNT 7U /**< Number of pins on port PA */ 264 #define GPIO_PA_MASK (0x007FUL) /**< Port PA pin mask */ 265 #define GPIO_PA_PIN0 1U /**< GPIO pin PA0 is present. */ 266 #define GPIO_PA_PIN1 1U /**< GPIO pin PA1 is present. */ 267 #define GPIO_PA_PIN2 1U /**< GPIO pin PA2 is present. */ 268 #define GPIO_PA_PIN3 1U /**< GPIO pin PA3 is present. */ 269 #define GPIO_PA_PIN4 1U /**< GPIO pin PA4 is present. */ 270 #define GPIO_PA_PIN5 1U /**< GPIO pin PA5 is present. */ 271 #define GPIO_PA_PIN6 1U /**< GPIO pin PA6 is present. */ 272 #define GPIO_PB_INDEX 1U /**< Index of port PB */ 273 #define GPIO_PB_COUNT 2U /**< Number of pins on port PB */ 274 #define GPIO_PB_MASK (0x0003UL) /**< Port PB pin mask */ 275 #define GPIO_PB_PIN0 1U /**< GPIO pin PB0 is present. */ 276 #define GPIO_PB_PIN1 1U /**< GPIO pin PB1 is present. */ 277 #define GPIO_PC_INDEX 2U /**< Index of port PC */ 278 #define GPIO_PC_COUNT 6U /**< Number of pins on port PC */ 279 #define GPIO_PC_MASK (0x003FUL) /**< Port PC pin mask */ 280 #define GPIO_PC_PIN0 1U /**< GPIO pin PC0 is present. */ 281 #define GPIO_PC_PIN1 1U /**< GPIO pin PC1 is present. */ 282 #define GPIO_PC_PIN2 1U /**< GPIO pin PC2 is present. */ 283 #define GPIO_PC_PIN3 1U /**< GPIO pin PC3 is present. */ 284 #define GPIO_PC_PIN4 1U /**< GPIO pin PC4 is present. */ 285 #define GPIO_PC_PIN5 1U /**< GPIO pin PC5 is present. */ 286 #define GPIO_PD_INDEX 3U /**< Index of port PD */ 287 #define GPIO_PD_COUNT 5U /**< Number of pins on port PD */ 288 #define GPIO_PD_MASK (0x001FUL) /**< Port PD pin mask */ 289 #define GPIO_PD_PIN0 1U /**< GPIO pin PD0 is present. */ 290 #define GPIO_PD_PIN1 1U /**< GPIO pin PD1 is present. */ 291 #define GPIO_PD_PIN2 1U /**< GPIO pin PD2 is present. */ 292 #define GPIO_PD_PIN3 1U /**< GPIO pin PD3 is present. */ 293 #define GPIO_PD_PIN4 1U /**< GPIO pin PD4 is present. */ 294 295 /* Fixed Resource Locations */ 296 #define GPIO_SWCLK_PORT GPIO_PA_INDEX /**< Port of SWCLK.*/ 297 #define GPIO_SWCLK_PIN 1U /**< Pin of SWCLK.*/ 298 #define GPIO_SWDIO_PORT GPIO_PA_INDEX /**< Port of SWDIO.*/ 299 #define GPIO_SWDIO_PIN 2U /**< Pin of SWDIO.*/ 300 #define GPIO_SWV_PORT GPIO_PA_INDEX /**< Port of SWV.*/ 301 #define GPIO_SWV_PIN 3U /**< Pin of SWV.*/ 302 #define GPIO_TDI_PORT GPIO_PA_INDEX /**< Port of TDI.*/ 303 #define GPIO_TDI_PIN 4U /**< Pin of TDI.*/ 304 #define GPIO_TDO_PORT GPIO_PA_INDEX /**< Port of TDO.*/ 305 #define GPIO_TDO_PIN 3U /**< Pin of TDO.*/ 306 #define GPIO_TRACECLK_PORT GPIO_PA_INDEX /**< Port of TRACECLK.*/ 307 #define GPIO_TRACECLK_PIN 4U /**< Pin of TRACECLK.*/ 308 #define GPIO_TRACEDATA0_PORT GPIO_PA_INDEX /**< Port of TRACEDATA0.*/ 309 #define GPIO_TRACEDATA0_PIN 3U /**< Pin of TRACEDATA0.*/ 310 #define GPIO_EM4WU0_PORT GPIO_PA_INDEX /**< Port of EM4WU0.*/ 311 #define GPIO_EM4WU0_PIN 5U /**< Pin of EM4WU0.*/ 312 #define GPIO_EM4WU3_PORT GPIO_PB_INDEX /**< Port of EM4WU3.*/ 313 #define GPIO_EM4WU3_PIN 1U /**< Pin of EM4WU3.*/ 314 #define GPIO_EM4WU6_PORT GPIO_PC_INDEX /**< Port of EM4WU6.*/ 315 #define GPIO_EM4WU6_PIN 0U /**< Pin of EM4WU6.*/ 316 #define GPIO_EM4WU7_PORT GPIO_PC_INDEX /**< Port of EM4WU7.*/ 317 #define GPIO_EM4WU7_PIN 5U /**< Pin of EM4WU7.*/ 318 #define GPIO_EM4WU9_PORT GPIO_PD_INDEX /**< Port of EM4WU9.*/ 319 #define GPIO_EM4WU9_PIN 2U /**< Pin of EM4WU9.*/ 320 #define IADC0_VREFP_PORT GPIO_PA_INDEX /**< Port of VREFP.*/ 321 #define IADC0_VREFP_PIN 0U /**< Pin of VREFP.*/ 322 #define LFXO_LFXTAL_I_PORT GPIO_PD_INDEX /**< Port of LFXTAL_I.*/ 323 #define LFXO_LFXTAL_I_PIN 1U /**< Pin of LFXTAL_I.*/ 324 #define LFXO_LFXTAL_O_PORT GPIO_PD_INDEX /**< Port of LFXTAL_O.*/ 325 #define LFXO_LFXTAL_O_PIN 0U /**< Pin of LFXTAL_O.*/ 326 #define LFXO_LF_EXTCLK_PORT GPIO_PD_INDEX /**< Port of LF_EXTCLK.*/ 327 #define LFXO_LF_EXTCLK_PIN 1U /**< Pin of LF_EXTCLK.*/ 328 329 /* Part number capabilities */ 330 #define ACMP_PRESENT /** ACMP is available in this part */ 331 #define ACMP_COUNT 2 /** 2 ACMPs available */ 332 #define AMUXCP_PRESENT /** AMUXCP is available in this part */ 333 #define AMUXCP_COUNT 1 /** 1 AMUXCPs available */ 334 #define BUFC_PRESENT /** BUFC is available in this part */ 335 #define BUFC_COUNT 1 /** 1 BUFCs available */ 336 #define BURAM_PRESENT /** BURAM is available in this part */ 337 #define BURAM_COUNT 1 /** 1 BURAMs available */ 338 #define BURTC_PRESENT /** BURTC is available in this part */ 339 #define BURTC_COUNT 1 /** 1 BURTCs available */ 340 #define CMU_PRESENT /** CMU is available in this part */ 341 #define CMU_COUNT 1 /** 1 CMUs available */ 342 #define DPLL_PRESENT /** DPLL is available in this part */ 343 #define DPLL_COUNT 1 /** 1 DPLLs available */ 344 #define EMU_PRESENT /** EMU is available in this part */ 345 #define EMU_COUNT 1 /** 1 EMUs available */ 346 #define FSRCO_PRESENT /** FSRCO is available in this part */ 347 #define FSRCO_COUNT 1 /** 1 FSRCOs available */ 348 #define GPCRC_PRESENT /** GPCRC is available in this part */ 349 #define GPCRC_COUNT 1 /** 1 GPCRCs available */ 350 #define GPIO_PRESENT /** GPIO is available in this part */ 351 #define GPIO_COUNT 1 /** 1 GPIOs available */ 352 #define HFRCO_PRESENT /** HFRCO is available in this part */ 353 #define HFRCO_COUNT 1 /** 1 HFRCOs available */ 354 #define HFRCOEM23_PRESENT /** HFRCOEM23 is available in this part */ 355 #define HFRCOEM23_COUNT 1 /** 1 HFRCOEM23s available */ 356 #define HFXO_PRESENT /** HFXO is available in this part */ 357 #define HFXO_COUNT 1 /** 1 HFXOs available */ 358 #define I2C_PRESENT /** I2C is available in this part */ 359 #define I2C_COUNT 2 /** 2 I2Cs available */ 360 #define IADC_PRESENT /** IADC is available in this part */ 361 #define IADC_COUNT 1 /** 1 IADCs available */ 362 #define ICACHE_PRESENT /** ICACHE is available in this part */ 363 #define ICACHE_COUNT 1 /** 1 ICACHEs available */ 364 #define LDMA_PRESENT /** LDMA is available in this part */ 365 #define LDMA_COUNT 1 /** 1 LDMAs available */ 366 #define LDMAXBAR_PRESENT /** LDMAXBAR is available in this part */ 367 #define LDMAXBAR_COUNT 1 /** 1 LDMAXBARs available */ 368 #define LETIMER_PRESENT /** LETIMER is available in this part */ 369 #define LETIMER_COUNT 1 /** 1 LETIMERs available */ 370 #define LFRCO_PRESENT /** LFRCO is available in this part */ 371 #define LFRCO_COUNT 1 /** 1 LFRCOs available */ 372 #define LFXO_PRESENT /** LFXO is available in this part */ 373 #define LFXO_COUNT 1 /** 1 LFXOs available */ 374 #define LVGD_PRESENT /** LVGD is available in this part */ 375 #define LVGD_COUNT 1 /** 1 LVGDs available */ 376 #define MSC_PRESENT /** MSC is available in this part */ 377 #define MSC_COUNT 1 /** 1 MSCs available */ 378 #define PRORTC_PRESENT /** PRORTC is available in this part */ 379 #define PRORTC_COUNT 1 /** 1 PRORTCs available */ 380 #define PRS_PRESENT /** PRS is available in this part */ 381 #define PRS_COUNT 1 /** 1 PRSs available */ 382 #define RADIOAES_PRESENT /** RADIOAES is available in this part */ 383 #define RADIOAES_COUNT 1 /** 1 RADIOAESs available */ 384 #define RTCC_PRESENT /** RTCC is available in this part */ 385 #define RTCC_COUNT 1 /** 1 RTCCs available */ 386 #define SEMAILBOX_PRESENT /** SEMAILBOX is available in this part */ 387 #define SEMAILBOX_COUNT 1 /** 1 SEMAILBOXs available */ 388 #define SMU_PRESENT /** SMU is available in this part */ 389 #define SMU_COUNT 1 /** 1 SMUs available */ 390 #define SYSCFG_PRESENT /** SYSCFG is available in this part */ 391 #define SYSCFG_COUNT 1 /** 1 SYSCFGs available */ 392 #define TIMER_PRESENT /** TIMER is available in this part */ 393 #define TIMER_COUNT 4 /** 4 TIMERs available */ 394 #define ULFRCO_PRESENT /** ULFRCO is available in this part */ 395 #define ULFRCO_COUNT 1 /** 1 ULFRCOs available */ 396 #define USART_PRESENT /** USART is available in this part */ 397 #define USART_COUNT 3 /** 3 USARTs available */ 398 #define WDOG_PRESENT /** WDOG is available in this part */ 399 #define WDOG_COUNT 2 /** 2 WDOGs available */ 400 #define DEVINFO_PRESENT /** DEVINFO is available in this part */ 401 #define DEVINFO_COUNT 1 /** 1 DEVINFOs available */ 402 403 /* Include standard ARM headers for the core */ 404 #include "core_cm33.h" /* Core Header File */ 405 #include "system_efr32mg21.h" /* System Header File */ 406 407 /** @} End of group EFR32MG21B020F768IM32_Part */ 408 409 /**************************************************************************//** 410 * @defgroup EFR32MG21B020F768IM32_Peripheral_TypeDefs EFR32MG21B020F768IM32 Peripheral TypeDefs 411 * @{ 412 * @brief Device Specific Peripheral Register Structures 413 *****************************************************************************/ 414 #include "efr32mg21_emu.h" 415 #include "efr32mg21_cmu.h" 416 #include "efr32mg21_hfxo.h" 417 #include "efr32mg21_hfrco.h" 418 #include "efr32mg21_fsrco.h" 419 #include "efr32mg21_dpll.h" 420 #include "efr32mg21_lfxo.h" 421 #include "efr32mg21_lfrco.h" 422 #include "efr32mg21_ulfrco.h" 423 #include "efr32mg21_msc.h" 424 #include "efr32mg21_icache.h" 425 #include "efr32mg21_prs.h" 426 #include "efr32mg21_gpio.h" 427 #include "efr32mg21_ldma.h" 428 #include "efr32mg21_ldmaxbar.h" 429 #include "efr32mg21_timer.h" 430 #include "efr32mg21_usart.h" 431 #include "efr32mg21_burtc.h" 432 #include "efr32mg21_i2c.h" 433 #include "efr32mg21_lvgd.h" 434 #include "efr32mg21_syscfg.h" 435 #include "efr32mg21_buram.h" 436 #include "efr32mg21_gpcrc.h" 437 #include "efr32mg21_aes.h" 438 #include "efr32mg21_bufc.h" 439 #include "efr32mg21_smu.h" 440 #include "efr32mg21_rtcc.h" 441 #include "efr32mg21_letimer.h" 442 #include "efr32mg21_iadc.h" 443 #include "efr32mg21_acmp.h" 444 #include "efr32mg21_wdog.h" 445 #include "efr32mg21_amuxcp.h" 446 #include "efr32mg21_semailbox.h" 447 #include "efr32mg21_devinfo.h" 448 449 /* Custom headers for LDMAXBAR and PRS mappings */ 450 #include "efr32mg21_prs_signals.h" 451 #include "efr32mg21_dma_descriptor.h" 452 #include "efr32mg21_ldmaxbar_defines.h" 453 454 /** @} End of group EFR32MG21B020F768IM32_Peripheral_TypeDefs */ 455 456 /**************************************************************************//** 457 * @defgroup EFR32MG21B020F768IM32_Peripheral_Base EFR32MG21B020F768IM32 Peripheral Memory Map 458 * @{ 459 *****************************************************************************/ 460 461 #define EMU_S_BASE (0x40004000UL) /* EMU_S base address */ 462 #define CMU_S_BASE (0x40008000UL) /* CMU_S base address */ 463 #define HFXO0_S_BASE (0x4000C000UL) /* HFXO0_S base address */ 464 #define HFRCO0_S_BASE (0x40010000UL) /* HFRCO0_S base address */ 465 #define FSRCO_S_BASE (0x40018000UL) /* FSRCO_S base address */ 466 #define DPLL0_S_BASE (0x4001C000UL) /* DPLL0_S base address */ 467 #define LFXO_S_BASE (0x40020000UL) /* LFXO_S base address */ 468 #define LFRCO_S_BASE (0x40024000UL) /* LFRCO_S base address */ 469 #define ULFRCO_S_BASE (0x40028000UL) /* ULFRCO_S base address */ 470 #define MSC_S_BASE (0x40030000UL) /* MSC_S base address */ 471 #define ICACHE0_S_BASE (0x40034000UL) /* ICACHE0_S base address */ 472 #define PRS_S_BASE (0x40038000UL) /* PRS_S base address */ 473 #define GPIO_S_BASE (0x4003C000UL) /* GPIO_S base address */ 474 #define LDMA_S_BASE (0x40040000UL) /* LDMA_S base address */ 475 #define LDMAXBAR_S_BASE (0x40044000UL) /* LDMAXBAR_S base address */ 476 #define TIMER0_S_BASE (0x40048000UL) /* TIMER0_S base address */ 477 #define TIMER1_S_BASE (0x4004C000UL) /* TIMER1_S base address */ 478 #define TIMER2_S_BASE (0x40050000UL) /* TIMER2_S base address */ 479 #define TIMER3_S_BASE (0x40054000UL) /* TIMER3_S base address */ 480 #define USART0_S_BASE (0x40058000UL) /* USART0_S base address */ 481 #define USART1_S_BASE (0x4005C000UL) /* USART1_S base address */ 482 #define USART2_S_BASE (0x40060000UL) /* USART2_S base address */ 483 #define BURTC_S_BASE (0x40064000UL) /* BURTC_S base address */ 484 #define I2C1_S_BASE (0x40068000UL) /* I2C1_S base address */ 485 #define LVGD_S_BASE (0x40074000UL) /* LVGD_S base address */ 486 #define SYSCFG_S_BASE (0x4007C000UL) /* SYSCFG_S base address */ 487 #define BURAM_S_BASE (0x40080000UL) /* BURAM_S base address */ 488 #define GPCRC_S_BASE (0x40088000UL) /* GPCRC_S base address */ 489 #define RADIOAES_S_BASE (0x44000000UL) /* RADIOAES_S base address */ 490 #define BUFC_S_BASE (0x44004000UL) /* BUFC_S base address */ 491 #define SMU_S_BASE (0x44008000UL) /* SMU_S base address */ 492 #define RTCC_S_BASE (0x48000000UL) /* RTCC_S base address */ 493 #define LETIMER0_S_BASE (0x4A000000UL) /* LETIMER0_S base address */ 494 #define IADC0_S_BASE (0x4A004000UL) /* IADC0_S base address */ 495 #define ACMP0_S_BASE (0x4A008000UL) /* ACMP0_S base address */ 496 #define ACMP1_S_BASE (0x4A00C000UL) /* ACMP1_S base address */ 497 #define I2C0_S_BASE (0x4A010000UL) /* I2C0_S base address */ 498 #define HFRCOEM23_S_BASE (0x4A014000UL) /* HFRCOEM23_S base address */ 499 #define WDOG0_S_BASE (0x4A018000UL) /* WDOG0_S base address */ 500 #define WDOG1_S_BASE (0x4A01C000UL) /* WDOG1_S base address */ 501 #define AMUXCP0_S_BASE (0x4A020000UL) /* AMUXCP0_S base address */ 502 #define SEMAILBOX_S_HOST_BASE (0x4C000000UL) /* SEMAILBOX_S_HOST base address */ 503 #define PRORTC_S_BASE (0xA8000000UL) /* PRORTC_S base address */ 504 #define EMU_NS_BASE (0x50004000UL) /* EMU_NS base address */ 505 #define CMU_NS_BASE (0x50008000UL) /* CMU_NS base address */ 506 #define HFXO0_NS_BASE (0x5000C000UL) /* HFXO0_NS base address */ 507 #define HFRCO0_NS_BASE (0x50010000UL) /* HFRCO0_NS base address */ 508 #define FSRCO_NS_BASE (0x50018000UL) /* FSRCO_NS base address */ 509 #define DPLL0_NS_BASE (0x5001C000UL) /* DPLL0_NS base address */ 510 #define LFXO_NS_BASE (0x50020000UL) /* LFXO_NS base address */ 511 #define LFRCO_NS_BASE (0x50024000UL) /* LFRCO_NS base address */ 512 #define ULFRCO_NS_BASE (0x50028000UL) /* ULFRCO_NS base address */ 513 #define MSC_NS_BASE (0x50030000UL) /* MSC_NS base address */ 514 #define ICACHE0_NS_BASE (0x50034000UL) /* ICACHE0_NS base address */ 515 #define PRS_NS_BASE (0x50038000UL) /* PRS_NS base address */ 516 #define GPIO_NS_BASE (0x5003C000UL) /* GPIO_NS base address */ 517 #define LDMA_NS_BASE (0x50040000UL) /* LDMA_NS base address */ 518 #define LDMAXBAR_NS_BASE (0x50044000UL) /* LDMAXBAR_NS base address */ 519 #define TIMER0_NS_BASE (0x50048000UL) /* TIMER0_NS base address */ 520 #define TIMER1_NS_BASE (0x5004C000UL) /* TIMER1_NS base address */ 521 #define TIMER2_NS_BASE (0x50050000UL) /* TIMER2_NS base address */ 522 #define TIMER3_NS_BASE (0x50054000UL) /* TIMER3_NS base address */ 523 #define USART0_NS_BASE (0x50058000UL) /* USART0_NS base address */ 524 #define USART1_NS_BASE (0x5005C000UL) /* USART1_NS base address */ 525 #define USART2_NS_BASE (0x50060000UL) /* USART2_NS base address */ 526 #define BURTC_NS_BASE (0x50064000UL) /* BURTC_NS base address */ 527 #define I2C1_NS_BASE (0x50068000UL) /* I2C1_NS base address */ 528 #define LVGD_NS_BASE (0x50074000UL) /* LVGD_NS base address */ 529 #define SYSCFG_NS_BASE (0x5007C000UL) /* SYSCFG_NS base address */ 530 #define BURAM_NS_BASE (0x50080000UL) /* BURAM_NS base address */ 531 #define GPCRC_NS_BASE (0x50088000UL) /* GPCRC_NS base address */ 532 #define RADIOAES_NS_BASE (0x54000000UL) /* RADIOAES_NS base address */ 533 #define BUFC_NS_BASE (0x54004000UL) /* BUFC_NS base address */ 534 #define SMU_NS_BASE (0x54008000UL) /* SMU_NS base address */ 535 #define RTCC_NS_BASE (0x58000000UL) /* RTCC_NS base address */ 536 #define LETIMER0_NS_BASE (0x5A000000UL) /* LETIMER0_NS base address */ 537 #define IADC0_NS_BASE (0x5A004000UL) /* IADC0_NS base address */ 538 #define ACMP0_NS_BASE (0x5A008000UL) /* ACMP0_NS base address */ 539 #define ACMP1_NS_BASE (0x5A00C000UL) /* ACMP1_NS base address */ 540 #define I2C0_NS_BASE (0x5A010000UL) /* I2C0_NS base address */ 541 #define HFRCOEM23_NS_BASE (0x5A014000UL) /* HFRCOEM23_NS base address */ 542 #define WDOG0_NS_BASE (0x5A018000UL) /* WDOG0_NS base address */ 543 #define WDOG1_NS_BASE (0x5A01C000UL) /* WDOG1_NS base address */ 544 #define AMUXCP0_NS_BASE (0x5A020000UL) /* AMUXCP0_NS base address */ 545 #define SEMAILBOX_NS_HOST_BASE (0x5C000000UL) /* SEMAILBOX_NS_HOST base address */ 546 #define PRORTC_NS_BASE (0xB8000000UL) /* PRORTC_NS base address */ 547 548 #if defined(SL_COMPONENT_CATALOG_PRESENT) 549 #include "sl_component_catalog.h" 550 551 #endif 552 #if defined(SL_CATALOG_TRUSTZONE_SECURE_CONFIG_PRESENT) 553 #include "sl_trustzone_secure_config.h" 554 555 #endif 556 557 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_EMU_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_EMU_S) && (SL_TRUSTZONE_PERIPHERAL_EMU_S != 0))) 558 #define EMU_BASE (EMU_S_BASE) /* EMU base address */ 559 #else 560 #define EMU_BASE (EMU_NS_BASE) /* EMU base address */ 561 #endif /* SL_TRUSTZONE_PERIPHERAL_EMU_S */ 562 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_CMU_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_CMU_S) && (SL_TRUSTZONE_PERIPHERAL_CMU_S != 0))) 563 #define CMU_BASE (CMU_S_BASE) /* CMU base address */ 564 #else 565 #define CMU_BASE (CMU_NS_BASE) /* CMU base address */ 566 #endif /* SL_TRUSTZONE_PERIPHERAL_CMU_S */ 567 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_HFXO0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_HFXO0_S) && (SL_TRUSTZONE_PERIPHERAL_HFXO0_S != 0))) 568 #define HFXO0_BASE (HFXO0_S_BASE) /* HFXO0 base address */ 569 #else 570 #define HFXO0_BASE (HFXO0_NS_BASE) /* HFXO0 base address */ 571 #endif /* SL_TRUSTZONE_PERIPHERAL_HFXO0_S */ 572 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_HFRCO0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_HFRCO0_S) && (SL_TRUSTZONE_PERIPHERAL_HFRCO0_S != 0))) 573 #define HFRCO0_BASE (HFRCO0_S_BASE) /* HFRCO0 base address */ 574 #else 575 #define HFRCO0_BASE (HFRCO0_NS_BASE) /* HFRCO0 base address */ 576 #endif /* SL_TRUSTZONE_PERIPHERAL_HFRCO0_S */ 577 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_FSRCO_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_FSRCO_S) && (SL_TRUSTZONE_PERIPHERAL_FSRCO_S != 0))) 578 #define FSRCO_BASE (FSRCO_S_BASE) /* FSRCO base address */ 579 #else 580 #define FSRCO_BASE (FSRCO_NS_BASE) /* FSRCO base address */ 581 #endif /* SL_TRUSTZONE_PERIPHERAL_FSRCO_S */ 582 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_DPLL0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_DPLL0_S) && (SL_TRUSTZONE_PERIPHERAL_DPLL0_S != 0))) 583 #define DPLL0_BASE (DPLL0_S_BASE) /* DPLL0 base address */ 584 #else 585 #define DPLL0_BASE (DPLL0_NS_BASE) /* DPLL0 base address */ 586 #endif /* SL_TRUSTZONE_PERIPHERAL_DPLL0_S */ 587 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_LFXO_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_LFXO_S) && (SL_TRUSTZONE_PERIPHERAL_LFXO_S != 0))) 588 #define LFXO_BASE (LFXO_S_BASE) /* LFXO base address */ 589 #else 590 #define LFXO_BASE (LFXO_NS_BASE) /* LFXO base address */ 591 #endif /* SL_TRUSTZONE_PERIPHERAL_LFXO_S */ 592 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_LFRCO_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_LFRCO_S) && (SL_TRUSTZONE_PERIPHERAL_LFRCO_S != 0))) 593 #define LFRCO_BASE (LFRCO_S_BASE) /* LFRCO base address */ 594 #else 595 #define LFRCO_BASE (LFRCO_NS_BASE) /* LFRCO base address */ 596 #endif /* SL_TRUSTZONE_PERIPHERAL_LFRCO_S */ 597 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_ULFRCO_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_ULFRCO_S) && (SL_TRUSTZONE_PERIPHERAL_ULFRCO_S != 0))) 598 #define ULFRCO_BASE (ULFRCO_S_BASE) /* ULFRCO base address */ 599 #else 600 #define ULFRCO_BASE (ULFRCO_NS_BASE) /* ULFRCO base address */ 601 #endif /* SL_TRUSTZONE_PERIPHERAL_ULFRCO_S */ 602 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_MSC_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_MSC_S) && (SL_TRUSTZONE_PERIPHERAL_MSC_S != 0))) 603 #define MSC_BASE (MSC_S_BASE) /* MSC base address */ 604 #else 605 #define MSC_BASE (MSC_NS_BASE) /* MSC base address */ 606 #endif /* SL_TRUSTZONE_PERIPHERAL_MSC_S */ 607 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_ICACHE0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_ICACHE0_S) && (SL_TRUSTZONE_PERIPHERAL_ICACHE0_S != 0))) 608 #define ICACHE0_BASE (ICACHE0_S_BASE) /* ICACHE0 base address */ 609 #else 610 #define ICACHE0_BASE (ICACHE0_NS_BASE) /* ICACHE0 base address */ 611 #endif /* SL_TRUSTZONE_PERIPHERAL_ICACHE0_S */ 612 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_PRS_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_PRS_S) && (SL_TRUSTZONE_PERIPHERAL_PRS_S != 0))) 613 #define PRS_BASE (PRS_S_BASE) /* PRS base address */ 614 #else 615 #define PRS_BASE (PRS_NS_BASE) /* PRS base address */ 616 #endif /* SL_TRUSTZONE_PERIPHERAL_PRS_S */ 617 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_GPIO_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_GPIO_S) && (SL_TRUSTZONE_PERIPHERAL_GPIO_S != 0))) 618 #define GPIO_BASE (GPIO_S_BASE) /* GPIO base address */ 619 #else 620 #define GPIO_BASE (GPIO_NS_BASE) /* GPIO base address */ 621 #endif /* SL_TRUSTZONE_PERIPHERAL_GPIO_S */ 622 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_LDMA_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_LDMA_S) && (SL_TRUSTZONE_PERIPHERAL_LDMA_S != 0))) 623 #define LDMA_BASE (LDMA_S_BASE) /* LDMA base address */ 624 #else 625 #define LDMA_BASE (LDMA_NS_BASE) /* LDMA base address */ 626 #endif /* SL_TRUSTZONE_PERIPHERAL_LDMA_S */ 627 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_LDMAXBAR_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_LDMAXBAR_S) && (SL_TRUSTZONE_PERIPHERAL_LDMAXBAR_S != 0))) 628 #define LDMAXBAR_BASE (LDMAXBAR_S_BASE) /* LDMAXBAR base address */ 629 #else 630 #define LDMAXBAR_BASE (LDMAXBAR_NS_BASE) /* LDMAXBAR base address */ 631 #endif /* SL_TRUSTZONE_PERIPHERAL_LDMAXBAR_S */ 632 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_TIMER0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_TIMER0_S) && (SL_TRUSTZONE_PERIPHERAL_TIMER0_S != 0))) 633 #define TIMER0_BASE (TIMER0_S_BASE) /* TIMER0 base address */ 634 #else 635 #define TIMER0_BASE (TIMER0_NS_BASE) /* TIMER0 base address */ 636 #endif /* SL_TRUSTZONE_PERIPHERAL_TIMER0_S */ 637 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_TIMER1_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_TIMER1_S) && (SL_TRUSTZONE_PERIPHERAL_TIMER1_S != 0))) 638 #define TIMER1_BASE (TIMER1_S_BASE) /* TIMER1 base address */ 639 #else 640 #define TIMER1_BASE (TIMER1_NS_BASE) /* TIMER1 base address */ 641 #endif /* SL_TRUSTZONE_PERIPHERAL_TIMER1_S */ 642 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_TIMER2_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_TIMER2_S) && (SL_TRUSTZONE_PERIPHERAL_TIMER2_S != 0))) 643 #define TIMER2_BASE (TIMER2_S_BASE) /* TIMER2 base address */ 644 #else 645 #define TIMER2_BASE (TIMER2_NS_BASE) /* TIMER2 base address */ 646 #endif /* SL_TRUSTZONE_PERIPHERAL_TIMER2_S */ 647 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_TIMER3_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_TIMER3_S) && (SL_TRUSTZONE_PERIPHERAL_TIMER3_S != 0))) 648 #define TIMER3_BASE (TIMER3_S_BASE) /* TIMER3 base address */ 649 #else 650 #define TIMER3_BASE (TIMER3_NS_BASE) /* TIMER3 base address */ 651 #endif /* SL_TRUSTZONE_PERIPHERAL_TIMER3_S */ 652 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_USART0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_USART0_S) && (SL_TRUSTZONE_PERIPHERAL_USART0_S != 0))) 653 #define USART0_BASE (USART0_S_BASE) /* USART0 base address */ 654 #else 655 #define USART0_BASE (USART0_NS_BASE) /* USART0 base address */ 656 #endif /* SL_TRUSTZONE_PERIPHERAL_USART0_S */ 657 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_USART1_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_USART1_S) && (SL_TRUSTZONE_PERIPHERAL_USART1_S != 0))) 658 #define USART1_BASE (USART1_S_BASE) /* USART1 base address */ 659 #else 660 #define USART1_BASE (USART1_NS_BASE) /* USART1 base address */ 661 #endif /* SL_TRUSTZONE_PERIPHERAL_USART1_S */ 662 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_USART2_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_USART2_S) && (SL_TRUSTZONE_PERIPHERAL_USART2_S != 0))) 663 #define USART2_BASE (USART2_S_BASE) /* USART2 base address */ 664 #else 665 #define USART2_BASE (USART2_NS_BASE) /* USART2 base address */ 666 #endif /* SL_TRUSTZONE_PERIPHERAL_USART2_S */ 667 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_BURTC_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_BURTC_S) && (SL_TRUSTZONE_PERIPHERAL_BURTC_S != 0))) 668 #define BURTC_BASE (BURTC_S_BASE) /* BURTC base address */ 669 #else 670 #define BURTC_BASE (BURTC_NS_BASE) /* BURTC base address */ 671 #endif /* SL_TRUSTZONE_PERIPHERAL_BURTC_S */ 672 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_I2C1_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_I2C1_S) && (SL_TRUSTZONE_PERIPHERAL_I2C1_S != 0))) 673 #define I2C1_BASE (I2C1_S_BASE) /* I2C1 base address */ 674 #else 675 #define I2C1_BASE (I2C1_NS_BASE) /* I2C1 base address */ 676 #endif /* SL_TRUSTZONE_PERIPHERAL_I2C1_S */ 677 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_LVGD_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_LVGD_S) && (SL_TRUSTZONE_PERIPHERAL_LVGD_S != 0))) 678 #define LVGD_BASE (LVGD_S_BASE) /* LVGD base address */ 679 #else 680 #define LVGD_BASE (LVGD_NS_BASE) /* LVGD base address */ 681 #endif /* SL_TRUSTZONE_PERIPHERAL_LVGD_S */ 682 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_SYSCFG_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_SYSCFG_S) && (SL_TRUSTZONE_PERIPHERAL_SYSCFG_S != 0))) 683 #define SYSCFG_BASE (SYSCFG_S_BASE) /* SYSCFG base address */ 684 #else 685 #define SYSCFG_BASE (SYSCFG_NS_BASE) /* SYSCFG base address */ 686 #endif /* SL_TRUSTZONE_PERIPHERAL_SYSCFG_S */ 687 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_BURAM_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_BURAM_S) && (SL_TRUSTZONE_PERIPHERAL_BURAM_S != 0))) 688 #define BURAM_BASE (BURAM_S_BASE) /* BURAM base address */ 689 #else 690 #define BURAM_BASE (BURAM_NS_BASE) /* BURAM base address */ 691 #endif /* SL_TRUSTZONE_PERIPHERAL_BURAM_S */ 692 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_GPCRC_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_GPCRC_S) && (SL_TRUSTZONE_PERIPHERAL_GPCRC_S != 0))) 693 #define GPCRC_BASE (GPCRC_S_BASE) /* GPCRC base address */ 694 #else 695 #define GPCRC_BASE (GPCRC_NS_BASE) /* GPCRC base address */ 696 #endif /* SL_TRUSTZONE_PERIPHERAL_GPCRC_S */ 697 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_RADIOAES_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_RADIOAES_S) && (SL_TRUSTZONE_PERIPHERAL_RADIOAES_S != 0))) 698 #define RADIOAES_BASE (RADIOAES_S_BASE) /* RADIOAES base address */ 699 #else 700 #define RADIOAES_BASE (RADIOAES_NS_BASE) /* RADIOAES base address */ 701 #endif /* SL_TRUSTZONE_PERIPHERAL_RADIOAES_S */ 702 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_BUFC_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_BUFC_S) && (SL_TRUSTZONE_PERIPHERAL_BUFC_S != 0))) 703 #define BUFC_BASE (BUFC_S_BASE) /* BUFC base address */ 704 #else 705 #define BUFC_BASE (BUFC_NS_BASE) /* BUFC base address */ 706 #endif /* SL_TRUSTZONE_PERIPHERAL_BUFC_S */ 707 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_SMU_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_SMU_S) && (SL_TRUSTZONE_PERIPHERAL_SMU_S != 0))) 708 #define SMU_BASE (SMU_S_BASE) /* SMU base address */ 709 #else 710 #define SMU_BASE (SMU_S_BASE) /* SMU base address */ 711 #endif /* SL_TRUSTZONE_PERIPHERAL_SMU_S */ 712 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_RTCC_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_RTCC_S) && (SL_TRUSTZONE_PERIPHERAL_RTCC_S != 0))) 713 #define RTCC_BASE (RTCC_S_BASE) /* RTCC base address */ 714 #else 715 #define RTCC_BASE (RTCC_NS_BASE) /* RTCC base address */ 716 #endif /* SL_TRUSTZONE_PERIPHERAL_RTCC_S */ 717 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_LETIMER0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_LETIMER0_S) && (SL_TRUSTZONE_PERIPHERAL_LETIMER0_S != 0))) 718 #define LETIMER0_BASE (LETIMER0_S_BASE) /* LETIMER0 base address */ 719 #else 720 #define LETIMER0_BASE (LETIMER0_NS_BASE) /* LETIMER0 base address */ 721 #endif /* SL_TRUSTZONE_PERIPHERAL_LETIMER0_S */ 722 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_IADC0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_IADC0_S) && (SL_TRUSTZONE_PERIPHERAL_IADC0_S != 0))) 723 #define IADC0_BASE (IADC0_S_BASE) /* IADC0 base address */ 724 #else 725 #define IADC0_BASE (IADC0_NS_BASE) /* IADC0 base address */ 726 #endif /* SL_TRUSTZONE_PERIPHERAL_IADC0_S */ 727 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_ACMP0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_ACMP0_S) && (SL_TRUSTZONE_PERIPHERAL_ACMP0_S != 0))) 728 #define ACMP0_BASE (ACMP0_S_BASE) /* ACMP0 base address */ 729 #else 730 #define ACMP0_BASE (ACMP0_NS_BASE) /* ACMP0 base address */ 731 #endif /* SL_TRUSTZONE_PERIPHERAL_ACMP0_S */ 732 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_ACMP1_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_ACMP1_S) && (SL_TRUSTZONE_PERIPHERAL_ACMP1_S != 0))) 733 #define ACMP1_BASE (ACMP1_S_BASE) /* ACMP1 base address */ 734 #else 735 #define ACMP1_BASE (ACMP1_NS_BASE) /* ACMP1 base address */ 736 #endif /* SL_TRUSTZONE_PERIPHERAL_ACMP1_S */ 737 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_I2C0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_I2C0_S) && (SL_TRUSTZONE_PERIPHERAL_I2C0_S != 0))) 738 #define I2C0_BASE (I2C0_S_BASE) /* I2C0 base address */ 739 #else 740 #define I2C0_BASE (I2C0_NS_BASE) /* I2C0 base address */ 741 #endif /* SL_TRUSTZONE_PERIPHERAL_I2C0_S */ 742 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_HFRCOEM23_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_HFRCOEM23_S) && (SL_TRUSTZONE_PERIPHERAL_HFRCOEM23_S != 0))) 743 #define HFRCOEM23_BASE (HFRCOEM23_S_BASE) /* HFRCOEM23 base address */ 744 #else 745 #define HFRCOEM23_BASE (HFRCOEM23_NS_BASE) /* HFRCOEM23 base address */ 746 #endif /* SL_TRUSTZONE_PERIPHERAL_HFRCOEM23_S */ 747 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_WDOG0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_WDOG0_S) && (SL_TRUSTZONE_PERIPHERAL_WDOG0_S != 0))) 748 #define WDOG0_BASE (WDOG0_S_BASE) /* WDOG0 base address */ 749 #else 750 #define WDOG0_BASE (WDOG0_NS_BASE) /* WDOG0 base address */ 751 #endif /* SL_TRUSTZONE_PERIPHERAL_WDOG0_S */ 752 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_WDOG1_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_WDOG1_S) && (SL_TRUSTZONE_PERIPHERAL_WDOG1_S != 0))) 753 #define WDOG1_BASE (WDOG1_S_BASE) /* WDOG1 base address */ 754 #else 755 #define WDOG1_BASE (WDOG1_NS_BASE) /* WDOG1 base address */ 756 #endif /* SL_TRUSTZONE_PERIPHERAL_WDOG1_S */ 757 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_AMUXCP0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_AMUXCP0_S) && (SL_TRUSTZONE_PERIPHERAL_AMUXCP0_S != 0))) 758 #define AMUXCP0_BASE (AMUXCP0_S_BASE) /* AMUXCP0 base address */ 759 #else 760 #define AMUXCP0_BASE (AMUXCP0_NS_BASE) /* AMUXCP0 base address */ 761 #endif /* SL_TRUSTZONE_PERIPHERAL_AMUXCP0_S */ 762 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_SEMAILBOX_HOST_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_SEMAILBOX_HOST_S) && (SL_TRUSTZONE_PERIPHERAL_SEMAILBOX_HOST_S != 0))) 763 #define SEMAILBOX_HOST_BASE (SEMAILBOX_S_HOST_BASE) /* SEMAILBOX_HOST base address */ 764 #else 765 #define SEMAILBOX_HOST_BASE (SEMAILBOX_S_HOST_BASE) /* SEMAILBOX_HOST base address */ 766 #endif /* SL_TRUSTZONE_PERIPHERAL_SEMAILBOX_HOST_S */ 767 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_PRORTC_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_PRORTC_S) && (SL_TRUSTZONE_PERIPHERAL_PRORTC_S != 0))) 768 #define PRORTC_BASE (PRORTC_S_BASE) /* PRORTC base address */ 769 #else 770 #define PRORTC_BASE (PRORTC_NS_BASE) /* PRORTC base address */ 771 #endif /* SL_TRUSTZONE_PERIPHERAL_PRORTC_S */ 772 773 #define DEVINFO_BASE (0x0FE08000UL) /* DEVINFO base address */ 774 /** @} End of group EFR32MG21B020F768IM32_Peripheral_Base */ 775 776 /**************************************************************************//** 777 * @defgroup EFR32MG21B020F768IM32_Peripheral_Declaration EFR32MG21B020F768IM32 Peripheral Declarations Map 778 * @{ 779 *****************************************************************************/ 780 781 #define EMU_S ((EMU_TypeDef *) EMU_S_BASE) /**< EMU_S base pointer */ 782 #define CMU_S ((CMU_TypeDef *) CMU_S_BASE) /**< CMU_S base pointer */ 783 #define HFXO0_S ((HFXO_TypeDef *) HFXO0_S_BASE) /**< HFXO0_S base pointer */ 784 #define HFRCO0_S ((HFRCO_TypeDef *) HFRCO0_S_BASE) /**< HFRCO0_S base pointer */ 785 #define FSRCO_S ((FSRCO_TypeDef *) FSRCO_S_BASE) /**< FSRCO_S base pointer */ 786 #define DPLL0_S ((DPLL_TypeDef *) DPLL0_S_BASE) /**< DPLL0_S base pointer */ 787 #define LFXO_S ((LFXO_TypeDef *) LFXO_S_BASE) /**< LFXO_S base pointer */ 788 #define LFRCO_S ((LFRCO_TypeDef *) LFRCO_S_BASE) /**< LFRCO_S base pointer */ 789 #define ULFRCO_S ((ULFRCO_TypeDef *) ULFRCO_S_BASE) /**< ULFRCO_S base pointer */ 790 #define MSC_S ((MSC_TypeDef *) MSC_S_BASE) /**< MSC_S base pointer */ 791 #define ICACHE0_S ((ICACHE_TypeDef *) ICACHE0_S_BASE) /**< ICACHE0_S base pointer */ 792 #define PRS_S ((PRS_TypeDef *) PRS_S_BASE) /**< PRS_S base pointer */ 793 #define GPIO_S ((GPIO_TypeDef *) GPIO_S_BASE) /**< GPIO_S base pointer */ 794 #define LDMA_S ((LDMA_TypeDef *) LDMA_S_BASE) /**< LDMA_S base pointer */ 795 #define LDMAXBAR_S ((LDMAXBAR_TypeDef *) LDMAXBAR_S_BASE) /**< LDMAXBAR_S base pointer */ 796 #define TIMER0_S ((TIMER_TypeDef *) TIMER0_S_BASE) /**< TIMER0_S base pointer */ 797 #define TIMER1_S ((TIMER_TypeDef *) TIMER1_S_BASE) /**< TIMER1_S base pointer */ 798 #define TIMER2_S ((TIMER_TypeDef *) TIMER2_S_BASE) /**< TIMER2_S base pointer */ 799 #define TIMER3_S ((TIMER_TypeDef *) TIMER3_S_BASE) /**< TIMER3_S base pointer */ 800 #define USART0_S ((USART_TypeDef *) USART0_S_BASE) /**< USART0_S base pointer */ 801 #define USART1_S ((USART_TypeDef *) USART1_S_BASE) /**< USART1_S base pointer */ 802 #define USART2_S ((USART_TypeDef *) USART2_S_BASE) /**< USART2_S base pointer */ 803 #define BURTC_S ((BURTC_TypeDef *) BURTC_S_BASE) /**< BURTC_S base pointer */ 804 #define I2C1_S ((I2C_TypeDef *) I2C1_S_BASE) /**< I2C1_S base pointer */ 805 #define LVGD_S ((LVGD_TypeDef *) LVGD_S_BASE) /**< LVGD_S base pointer */ 806 #define SYSCFG_S ((SYSCFG_TypeDef *) SYSCFG_S_BASE) /**< SYSCFG_S base pointer */ 807 #define BURAM_S ((BURAM_TypeDef *) BURAM_S_BASE) /**< BURAM_S base pointer */ 808 #define GPCRC_S ((GPCRC_TypeDef *) GPCRC_S_BASE) /**< GPCRC_S base pointer */ 809 #define RADIOAES_S ((AES_TypeDef *) RADIOAES_S_BASE) /**< RADIOAES_S base pointer */ 810 #define BUFC_S ((BUFC_TypeDef *) BUFC_S_BASE) /**< BUFC_S base pointer */ 811 #define SMU_S ((SMU_TypeDef *) SMU_S_BASE) /**< SMU_S base pointer */ 812 #define RTCC_S ((RTCC_TypeDef *) RTCC_S_BASE) /**< RTCC_S base pointer */ 813 #define LETIMER0_S ((LETIMER_TypeDef *) LETIMER0_S_BASE) /**< LETIMER0_S base pointer */ 814 #define IADC0_S ((IADC_TypeDef *) IADC0_S_BASE) /**< IADC0_S base pointer */ 815 #define ACMP0_S ((ACMP_TypeDef *) ACMP0_S_BASE) /**< ACMP0_S base pointer */ 816 #define ACMP1_S ((ACMP_TypeDef *) ACMP1_S_BASE) /**< ACMP1_S base pointer */ 817 #define I2C0_S ((I2C_TypeDef *) I2C0_S_BASE) /**< I2C0_S base pointer */ 818 #define HFRCOEM23_S ((HFRCO_TypeDef *) HFRCOEM23_S_BASE) /**< HFRCOEM23_S base pointer */ 819 #define WDOG0_S ((WDOG_TypeDef *) WDOG0_S_BASE) /**< WDOG0_S base pointer */ 820 #define WDOG1_S ((WDOG_TypeDef *) WDOG1_S_BASE) /**< WDOG1_S base pointer */ 821 #define AMUXCP0_S ((AMUXCP_TypeDef *) AMUXCP0_S_BASE) /**< AMUXCP0_S base pointer */ 822 #define SEMAILBOX_S_HOST ((SEMAILBOX_HOST_TypeDef *) SEMAILBOX_S_HOST_BASE) /**< SEMAILBOX_S_HOST base pointer */ 823 #define PRORTC_S ((RTCC_TypeDef *) PRORTC_S_BASE) /**< PRORTC_S base pointer */ 824 #define EMU_NS ((EMU_TypeDef *) EMU_NS_BASE) /**< EMU_NS base pointer */ 825 #define CMU_NS ((CMU_TypeDef *) CMU_NS_BASE) /**< CMU_NS base pointer */ 826 #define HFXO0_NS ((HFXO_TypeDef *) HFXO0_NS_BASE) /**< HFXO0_NS base pointer */ 827 #define HFRCO0_NS ((HFRCO_TypeDef *) HFRCO0_NS_BASE) /**< HFRCO0_NS base pointer */ 828 #define FSRCO_NS ((FSRCO_TypeDef *) FSRCO_NS_BASE) /**< FSRCO_NS base pointer */ 829 #define DPLL0_NS ((DPLL_TypeDef *) DPLL0_NS_BASE) /**< DPLL0_NS base pointer */ 830 #define LFXO_NS ((LFXO_TypeDef *) LFXO_NS_BASE) /**< LFXO_NS base pointer */ 831 #define LFRCO_NS ((LFRCO_TypeDef *) LFRCO_NS_BASE) /**< LFRCO_NS base pointer */ 832 #define ULFRCO_NS ((ULFRCO_TypeDef *) ULFRCO_NS_BASE) /**< ULFRCO_NS base pointer */ 833 #define MSC_NS ((MSC_TypeDef *) MSC_NS_BASE) /**< MSC_NS base pointer */ 834 #define ICACHE0_NS ((ICACHE_TypeDef *) ICACHE0_NS_BASE) /**< ICACHE0_NS base pointer */ 835 #define PRS_NS ((PRS_TypeDef *) PRS_NS_BASE) /**< PRS_NS base pointer */ 836 #define GPIO_NS ((GPIO_TypeDef *) GPIO_NS_BASE) /**< GPIO_NS base pointer */ 837 #define LDMA_NS ((LDMA_TypeDef *) LDMA_NS_BASE) /**< LDMA_NS base pointer */ 838 #define LDMAXBAR_NS ((LDMAXBAR_TypeDef *) LDMAXBAR_NS_BASE) /**< LDMAXBAR_NS base pointer */ 839 #define TIMER0_NS ((TIMER_TypeDef *) TIMER0_NS_BASE) /**< TIMER0_NS base pointer */ 840 #define TIMER1_NS ((TIMER_TypeDef *) TIMER1_NS_BASE) /**< TIMER1_NS base pointer */ 841 #define TIMER2_NS ((TIMER_TypeDef *) TIMER2_NS_BASE) /**< TIMER2_NS base pointer */ 842 #define TIMER3_NS ((TIMER_TypeDef *) TIMER3_NS_BASE) /**< TIMER3_NS base pointer */ 843 #define USART0_NS ((USART_TypeDef *) USART0_NS_BASE) /**< USART0_NS base pointer */ 844 #define USART1_NS ((USART_TypeDef *) USART1_NS_BASE) /**< USART1_NS base pointer */ 845 #define USART2_NS ((USART_TypeDef *) USART2_NS_BASE) /**< USART2_NS base pointer */ 846 #define BURTC_NS ((BURTC_TypeDef *) BURTC_NS_BASE) /**< BURTC_NS base pointer */ 847 #define I2C1_NS ((I2C_TypeDef *) I2C1_NS_BASE) /**< I2C1_NS base pointer */ 848 #define LVGD_NS ((LVGD_TypeDef *) LVGD_NS_BASE) /**< LVGD_NS base pointer */ 849 #define SYSCFG_NS ((SYSCFG_TypeDef *) SYSCFG_NS_BASE) /**< SYSCFG_NS base pointer */ 850 #define BURAM_NS ((BURAM_TypeDef *) BURAM_NS_BASE) /**< BURAM_NS base pointer */ 851 #define GPCRC_NS ((GPCRC_TypeDef *) GPCRC_NS_BASE) /**< GPCRC_NS base pointer */ 852 #define RADIOAES_NS ((AES_TypeDef *) RADIOAES_NS_BASE) /**< RADIOAES_NS base pointer */ 853 #define BUFC_NS ((BUFC_TypeDef *) BUFC_NS_BASE) /**< BUFC_NS base pointer */ 854 #define SMU_NS ((SMU_TypeDef *) SMU_NS_BASE) /**< SMU_NS base pointer */ 855 #define RTCC_NS ((RTCC_TypeDef *) RTCC_NS_BASE) /**< RTCC_NS base pointer */ 856 #define LETIMER0_NS ((LETIMER_TypeDef *) LETIMER0_NS_BASE) /**< LETIMER0_NS base pointer */ 857 #define IADC0_NS ((IADC_TypeDef *) IADC0_NS_BASE) /**< IADC0_NS base pointer */ 858 #define ACMP0_NS ((ACMP_TypeDef *) ACMP0_NS_BASE) /**< ACMP0_NS base pointer */ 859 #define ACMP1_NS ((ACMP_TypeDef *) ACMP1_NS_BASE) /**< ACMP1_NS base pointer */ 860 #define I2C0_NS ((I2C_TypeDef *) I2C0_NS_BASE) /**< I2C0_NS base pointer */ 861 #define HFRCOEM23_NS ((HFRCO_TypeDef *) HFRCOEM23_NS_BASE) /**< HFRCOEM23_NS base pointer */ 862 #define WDOG0_NS ((WDOG_TypeDef *) WDOG0_NS_BASE) /**< WDOG0_NS base pointer */ 863 #define WDOG1_NS ((WDOG_TypeDef *) WDOG1_NS_BASE) /**< WDOG1_NS base pointer */ 864 #define AMUXCP0_NS ((AMUXCP_TypeDef *) AMUXCP0_NS_BASE) /**< AMUXCP0_NS base pointer */ 865 #define SEMAILBOX_NS_HOST ((SEMAILBOX_HOST_TypeDef *) SEMAILBOX_NS_HOST_BASE) /**< SEMAILBOX_NS_HOST base pointer */ 866 #define PRORTC_NS ((RTCC_TypeDef *) PRORTC_NS_BASE) /**< PRORTC_NS base pointer */ 867 #define EMU ((EMU_TypeDef *) EMU_BASE) /**< EMU base pointer */ 868 #define CMU ((CMU_TypeDef *) CMU_BASE) /**< CMU base pointer */ 869 #define HFXO0 ((HFXO_TypeDef *) HFXO0_BASE) /**< HFXO0 base pointer */ 870 #define HFRCO0 ((HFRCO_TypeDef *) HFRCO0_BASE) /**< HFRCO0 base pointer */ 871 #define FSRCO ((FSRCO_TypeDef *) FSRCO_BASE) /**< FSRCO base pointer */ 872 #define DPLL0 ((DPLL_TypeDef *) DPLL0_BASE) /**< DPLL0 base pointer */ 873 #define LFXO ((LFXO_TypeDef *) LFXO_BASE) /**< LFXO base pointer */ 874 #define LFRCO ((LFRCO_TypeDef *) LFRCO_BASE) /**< LFRCO base pointer */ 875 #define ULFRCO ((ULFRCO_TypeDef *) ULFRCO_BASE) /**< ULFRCO base pointer */ 876 #define MSC ((MSC_TypeDef *) MSC_BASE) /**< MSC base pointer */ 877 #define ICACHE0 ((ICACHE_TypeDef *) ICACHE0_BASE) /**< ICACHE0 base pointer */ 878 #define PRS ((PRS_TypeDef *) PRS_BASE) /**< PRS base pointer */ 879 #define GPIO ((GPIO_TypeDef *) GPIO_BASE) /**< GPIO base pointer */ 880 #define LDMA ((LDMA_TypeDef *) LDMA_BASE) /**< LDMA base pointer */ 881 #define LDMAXBAR ((LDMAXBAR_TypeDef *) LDMAXBAR_BASE) /**< LDMAXBAR base pointer */ 882 #define TIMER0 ((TIMER_TypeDef *) TIMER0_BASE) /**< TIMER0 base pointer */ 883 #define TIMER1 ((TIMER_TypeDef *) TIMER1_BASE) /**< TIMER1 base pointer */ 884 #define TIMER2 ((TIMER_TypeDef *) TIMER2_BASE) /**< TIMER2 base pointer */ 885 #define TIMER3 ((TIMER_TypeDef *) TIMER3_BASE) /**< TIMER3 base pointer */ 886 #define USART0 ((USART_TypeDef *) USART0_BASE) /**< USART0 base pointer */ 887 #define USART1 ((USART_TypeDef *) USART1_BASE) /**< USART1 base pointer */ 888 #define USART2 ((USART_TypeDef *) USART2_BASE) /**< USART2 base pointer */ 889 #define BURTC ((BURTC_TypeDef *) BURTC_BASE) /**< BURTC base pointer */ 890 #define I2C1 ((I2C_TypeDef *) I2C1_BASE) /**< I2C1 base pointer */ 891 #define LVGD ((LVGD_TypeDef *) LVGD_BASE) /**< LVGD base pointer */ 892 #define SYSCFG ((SYSCFG_TypeDef *) SYSCFG_BASE) /**< SYSCFG base pointer */ 893 #define BURAM ((BURAM_TypeDef *) BURAM_BASE) /**< BURAM base pointer */ 894 #define GPCRC ((GPCRC_TypeDef *) GPCRC_BASE) /**< GPCRC base pointer */ 895 #define RADIOAES ((AES_TypeDef *) RADIOAES_BASE) /**< RADIOAES base pointer */ 896 #define BUFC ((BUFC_TypeDef *) BUFC_BASE) /**< BUFC base pointer */ 897 #define SMU ((SMU_TypeDef *) SMU_BASE) /**< SMU base pointer */ 898 #define RTCC ((RTCC_TypeDef *) RTCC_BASE) /**< RTCC base pointer */ 899 #define LETIMER0 ((LETIMER_TypeDef *) LETIMER0_BASE) /**< LETIMER0 base pointer */ 900 #define IADC0 ((IADC_TypeDef *) IADC0_BASE) /**< IADC0 base pointer */ 901 #define ACMP0 ((ACMP_TypeDef *) ACMP0_BASE) /**< ACMP0 base pointer */ 902 #define ACMP1 ((ACMP_TypeDef *) ACMP1_BASE) /**< ACMP1 base pointer */ 903 #define I2C0 ((I2C_TypeDef *) I2C0_BASE) /**< I2C0 base pointer */ 904 #define HFRCOEM23 ((HFRCO_TypeDef *) HFRCOEM23_BASE) /**< HFRCOEM23 base pointer */ 905 #define WDOG0 ((WDOG_TypeDef *) WDOG0_BASE) /**< WDOG0 base pointer */ 906 #define WDOG1 ((WDOG_TypeDef *) WDOG1_BASE) /**< WDOG1 base pointer */ 907 #define AMUXCP0 ((AMUXCP_TypeDef *) AMUXCP0_BASE) /**< AMUXCP0 base pointer */ 908 #define SEMAILBOX_HOST ((SEMAILBOX_HOST_TypeDef *) SEMAILBOX_HOST_BASE) /**< SEMAILBOX_HOST base pointer */ 909 #define PRORTC ((RTCC_TypeDef *) PRORTC_BASE) /**< PRORTC base pointer */ 910 #define DEVINFO ((DEVINFO_TypeDef *) DEVINFO_BASE) /**< DEVINFO base pointer */ 911 /** @} End of group EFR32MG21B020F768IM32_Peripheral_Declaration */ 912 913 /**************************************************************************//** 914 * @defgroup EFR32MG21B020F768IM32_Peripheral_Parameters EFR32MG21B020F768IM32 Peripheral Parameters 915 * @{ 916 * @brief Device peripheral parameter values 917 *****************************************************************************/ 918 919 /* Common peripheral register block offsets. */ 920 #define PER_REG_BLOCK_SET_OFFSET 0x1000UL /**< Offset to SET register block */ 921 #define PER_REG_BLOCK_CLR_OFFSET 0x2000UL /**< Offset to CLEAR register block */ 922 #define PER_REG_BLOCK_TGL_OFFSET 0x3000UL /**< Offset to TOGGLE register block */ 923 #define MSC_FDIO_WIDTH 0x40UL /**> None */ 924 #define MSC_FLASHADDRBITS 0x14UL /**> None */ 925 #define MSC_FLASHBLOCKADDRBITS 0x14UL /**> None */ 926 #define MSC_FLASH_BLOCK_INFO_PCOUNT 0x10UL /**> None */ 927 #define MSC_INFOADDRBITS 0x10UL /**> None */ 928 #define MSC_INFOBLOCKADDRBITS 0x10UL /**> None */ 929 #define MSC_INFO_PSIZE_BITS 0xCUL /**> None */ 930 #define MSC_MAIN_PSIZE_BITS 0xCUL /**> None */ 931 #define MSC_REDUNDANCY 0x2UL /**> None */ 932 #define MSC_YADDRBITS 0x7UL /**> None */ 933 #define DMEM_ADDR_OVERRIDE_BITS 0x8UL /**> Override bits for remapping */ 934 #define DMEM_BANK0_SIZE 0x4000UL /**> Bank0 Size */ 935 #define DMEM_BANK1_SIZE 0x4000UL /**> Bank1 Size */ 936 #define DMEM_BANK2_SIZE 0x4000UL /**> Bank2 Size */ 937 #define DMEM_BANK3_SIZE 0x4000UL /**> Bank3 Size */ 938 #define DMEM_BANK4_SIZE 0x4000UL /**> Bank4 Size */ 939 #define DMEM_BANK5_SIZE 0x4000UL /**> Bank5 Size */ 940 #define DMEM_BANK6_SIZE 0x0UL /**> Bank6 Size */ 941 #define DMEM_BANK7_SIZE 0x0UL /**> Bank7 Size */ 942 #define DMEM_NUM_BANK 0x6UL /**> Number of Banks */ 943 #define DMEM_RAMADDRBITS 0x11UL /**> Total address bits */ 944 #define DMEM_RAMADDRMINBITS 0xEUL /**> address bits for one bank */ 945 #define DMEM_RAM_BWE_WIDTH 0x27UL /**> Bitwise write enable */ 946 #define DMEM_RAM_DATA_WIDTH 0x27UL /**> Data width */ 947 #define DMEM_RAM_DIV_PRESENT 0x0UL /**> Bank0 division present */ 948 #define DMEM_RAM_ECCADDR_WIDTH 0x20UL /**> ECC Address width */ 949 #define DMEM_RAM_ECC_EN 0x1UL /**> RAM_ECC_EN_PRESENT */ 950 #define LFXO_NO_CTUNE 0x0UL /**> CTUNE Not Present */ 951 #define LFXO_CTUNE 0x1UL /**> CTUNE Present */ 952 #define ICACHE0_AHB_LITE 0x0UL /**> AHB Lite */ 953 #define ICACHE0_CACHEABLE_SIZE 0x200UL /**> Cache Size */ 954 #define ICACHE0_CACHEABLE_START 0x12UL /**> Cache Start */ 955 #define ICACHE0_DEFAULT_OFF 0x0UL /**> Default off */ 956 #define ICACHE0_FLASH_SIZE 0x100000UL /**> Flash size */ 957 #define ICACHE0_FLASH_START 0x0UL /**> Flash start */ 958 #define ICACHE0_LOOPCACHE_MEM_ADDR_BITS 0x3UL /**> Loopcache Memory Address bits */ 959 #define ICACHE0_LOOPCACHE_STICKINESS_BITS 0x4UL /**> Loopcache Stickiness bits */ 960 #define ICACHE0_PARITY_BITS 0x1UL /**> Use Parity */ 961 #define ICACHE0_PC_BITS 0x20UL /**> Performance Counter bits */ 962 #define ICACHE0_PIPE_STAGE 0x1UL /**> Pipeline Stage */ 963 #define ICACHE0_RAM_ADDR_BITS 0x0UL /**> RAM Address bits */ 964 #define ICACHE0_RAM_DATA_BITS 0x0UL /**> RAM Data bits */ 965 #define ICACHE0_SET_BITS 0x5UL /**> Set bits */ 966 #define ICACHE0_USE_HREADY_GATING 0x1UL /**> Use HREADY gating */ 967 #define ICACHE0_USE_IDLE_GATING 0x1UL /**> Use IDLE gating */ 968 #define ICACHE0_USE_LOOPCACHE 0x1UL /**> Use Loopcache */ 969 #define ICACHE0_WAY_BITS 0x1UL /**> Way bits */ 970 #define ICACHE0_WORDS_PER_BLOCK 0x0UL /**> Words Per Block */ 971 #define ICACHE0_WPB_BITS 0x1UL /**> Words Per Block bits */ 972 #define ICACHE0_WPL_BITS 0x3UL /**> Words Per Line bits */ 973 #define PRS_ASYNC_CH_NUM 0xCUL /**> None */ 974 #define PRS_PRSSEL_WIDTH 0x4UL /**> New Param */ 975 #define PRS_SPRSSEL_WIDTH 0x2UL /**> New Param */ 976 #define PRS_SYNC_CH_NUM 0x4UL /**> None */ 977 #define GPIO_MODE_WIDTH 0x4UL /**> Mode Width */ 978 #define GPIO_NUM_EM4_WU 0xCUL /**> New Param */ 979 #define GPIO_NUM_EVEN_PA 0x4UL /**> Num of even pins port A */ 980 #define GPIO_NUM_EVEN_PB 0x1UL /**> Num of even pins port B */ 981 #define GPIO_NUM_EVEN_PC 0x3UL /**> Num of even pins port C */ 982 #define GPIO_NUM_EVEN_PD 0x3UL /**> Num of even pins port D */ 983 #define GPIO_NUM_EXT_INT 0x8UL /**> New Param */ 984 #define GPIO_NUM_EXT_INT_L 0x8UL /**> New Param */ 985 #define GPIO_NUM_EXT_INT_U 0x0UL /**> New Param */ 986 #define GPIO_NUM_EXT_INT_U_ZERO 0x0UL /**> New Param */ 987 #define GPIO_NUM_ODD_PA 0x3UL /**> Num of odd pins port A */ 988 #define GPIO_NUM_ODD_PB 0x1UL /**> Num of odd pins port B */ 989 #define GPIO_NUM_ODD_PC 0x3UL /**> Num of odd pins port C */ 990 #define GPIO_NUM_ODD_PD 0x2UL /**> Num of odd pins port D */ 991 #define GPIO_PINSEL_WIDTH 0x4UL /**> Route config pin select width */ 992 #define GPIO_PORTSEL_WIDTH 0x2UL /**> Route config port select width */ 993 #define GPIO_PORT_A_WIDTH 0x7UL /**> Port A Width */ 994 #define GPIO_PORT_A_WIDTH_ZERO 0x0UL /**> Port A Width is Zero */ 995 #define GPIO_PORT_A_WL 0x7UL /**> New Param */ 996 #define GPIO_PORT_A_WU 0x0UL /**> New Param */ 997 #define GPIO_PORT_A_WU_ZERO 0x1UL /**> New Param */ 998 #define GPIO_PORT_B_WIDTH 0x2UL /**> Port B Width */ 999 #define GPIO_PORT_B_WIDTH_ZERO 0x0UL /**> Port B Width is Zero */ 1000 #define GPIO_PORT_B_WL 0x2UL /**> New Param */ 1001 #define GPIO_PORT_B_WU 0x0UL /**> New Param */ 1002 #define GPIO_PORT_B_WU_ZERO 0x1UL /**> New Param */ 1003 #define GPIO_PORT_C_WIDTH 0x6UL /**> Port C Width */ 1004 #define GPIO_PORT_C_WIDTH_ZERO 0x0UL /**> Port C Width is Zero */ 1005 #define GPIO_PORT_C_WL 0x6UL /**> New Param */ 1006 #define GPIO_PORT_C_WU 0x0UL /**> New Param */ 1007 #define GPIO_PORT_C_WU_ZERO 0x1UL /**> New Param */ 1008 #define GPIO_PORT_D_WIDTH 0x5UL /**> Port D Width */ 1009 #define GPIO_PORT_D_WIDTH_ZERO 0x0UL /**> Port D Width is Zero */ 1010 #define GPIO_PORT_D_WL 0x5UL /**> New Param */ 1011 #define GPIO_PORT_D_WU 0x0UL /**> New Param */ 1012 #define GPIO_PORT_D_WU_ZERO 0x1UL /**> New Param */ 1013 #define GPIO_SLEWRATE_WIDTH 0x3UL /**> Slew Rate Width Param */ 1014 #define LDMA_CH_BITS 0x5UL /**> New Param */ 1015 #define LDMA_CH_NUM 0x8UL /**> New Param */ 1016 #define LDMA_FIFO_BITS 0x5UL /**> New Param */ 1017 #define LDMA_FIFO_DEPTH 0x10UL /**> New Param */ 1018 #define LDMAXBAR_CH_BITS 0x5UL /**> None */ 1019 #define LDMAXBAR_CH_NUM 0x8UL /**> None */ 1020 #define LDMAXBAR_SIGSEL_W 0x4UL /**> New Param */ 1021 #define LDMAXBAR_SOURCESEL_W 0x6UL /**> New Param */ 1022 #define TIMER0_CC_NUM 0x3UL /**> Number of Compare/Capture Channels */ 1023 #define TIMER0_CNTWIDTH 0x20UL /**> Counter Width */ 1024 #define TIMER0_DTI 0x1UL /**> Dead-time insertion enabled */ 1025 #define TIMER0_DTI_CC_NUM 0x3UL /**> Number of DTI Channels */ 1026 #define TIMER0_NO_DTI 0x0UL /**> */ 1027 #define TIMER1_CC_NUM 0x3UL /**> Number of Compare/Capture Channels */ 1028 #define TIMER1_CNTWIDTH 0x10UL /**> Counter Width */ 1029 #define TIMER1_DTI 0x1UL /**> Dead-time insertion enabled */ 1030 #define TIMER1_DTI_CC_NUM 0x3UL /**> Number of DTI Channels */ 1031 #define TIMER1_NO_DTI 0x0UL /**> */ 1032 #define TIMER2_CC_NUM 0x3UL /**> Number of Compare/Capture Channels */ 1033 #define TIMER2_CNTWIDTH 0x10UL /**> Counter Width */ 1034 #define TIMER2_DTI 0x1UL /**> Dead-time insertion enabled */ 1035 #define TIMER2_DTI_CC_NUM 0x3UL /**> Number of DTI Channels */ 1036 #define TIMER2_NO_DTI 0x0UL /**> */ 1037 #define TIMER3_CC_NUM 0x3UL /**> Number of Compare/Capture Channels */ 1038 #define TIMER3_CNTWIDTH 0x10UL /**> Counter Width */ 1039 #define TIMER3_DTI 0x1UL /**> Dead-time insertion enabled */ 1040 #define TIMER3_DTI_CC_NUM 0x3UL /**> Number of DTI Channels */ 1041 #define TIMER3_NO_DTI 0x0UL /**> */ 1042 #define USART0_AUTOTX_REG 0x1UL /**> None */ 1043 #define USART0_AUTOTX_REG_B 0x0UL /**> None */ 1044 #define USART0_AUTOTX_TRIGGER 0x1UL /**> None */ 1045 #define USART0_AUTOTX_TRIGGER_B 0x0UL /**> New Param */ 1046 #define USART0_CLK_PRS 0x1UL /**> None */ 1047 #define USART0_CLK_PRS_B 0x0UL /**> New Param */ 1048 #define USART0_FLOW_CONTROL 0x1UL /**> None */ 1049 #define USART0_FLOW_CONTROL_B 0x0UL /**> New Param */ 1050 #define USART0_I2S 0x1UL /**> None */ 1051 #define USART0_I2S_B 0x0UL /**> New Param */ 1052 #define USART0_IRDA_AVAILABLE 0x1UL /**> None */ 1053 #define USART0_IRDA_AVAILABLE_B 0x0UL /**> New Param */ 1054 #define USART0_MVDIS_FUNC 0x1UL /**> None */ 1055 #define USART0_MVDIS_FUNC_B 0x0UL /**> New Param */ 1056 #define USART0_RX_PRS 0x1UL /**> None */ 1057 #define USART0_RX_PRS_B 0x0UL /**> New Param */ 1058 #define USART0_SC_AVAILABLE 0x1UL /**> None */ 1059 #define USART0_SC_AVAILABLE_B 0x0UL /**> New Param */ 1060 #define USART0_SYNC_AVAILABLE 0x1UL /**> None */ 1061 #define USART0_SYNC_AVAILABLE_B 0x0UL /**> New Param */ 1062 #define USART0_SYNC_LATE_SAMPLE 0x1UL /**> None */ 1063 #define USART0_SYNC_LATE_SAMPLE_B 0x0UL /**> New Param */ 1064 #define USART0_TIMER 0x1UL /**> New Param */ 1065 #define USART0_TIMER_B 0x0UL /**> New Param */ 1066 #define USART1_AUTOTX_REG 0x1UL /**> None */ 1067 #define USART1_AUTOTX_REG_B 0x0UL /**> None */ 1068 #define USART1_AUTOTX_TRIGGER 0x1UL /**> None */ 1069 #define USART1_AUTOTX_TRIGGER_B 0x0UL /**> New Param */ 1070 #define USART1_CLK_PRS 0x1UL /**> None */ 1071 #define USART1_CLK_PRS_B 0x0UL /**> New Param */ 1072 #define USART1_FLOW_CONTROL 0x1UL /**> None */ 1073 #define USART1_FLOW_CONTROL_B 0x0UL /**> New Param */ 1074 #define USART1_I2S 0x1UL /**> None */ 1075 #define USART1_I2S_B 0x0UL /**> New Param */ 1076 #define USART1_IRDA_AVAILABLE 0x1UL /**> None */ 1077 #define USART1_IRDA_AVAILABLE_B 0x0UL /**> New Param */ 1078 #define USART1_MVDIS_FUNC 0x1UL /**> None */ 1079 #define USART1_MVDIS_FUNC_B 0x0UL /**> New Param */ 1080 #define USART1_RX_PRS 0x1UL /**> None */ 1081 #define USART1_RX_PRS_B 0x0UL /**> New Param */ 1082 #define USART1_SC_AVAILABLE 0x1UL /**> None */ 1083 #define USART1_SC_AVAILABLE_B 0x0UL /**> New Param */ 1084 #define USART1_SYNC_AVAILABLE 0x1UL /**> None */ 1085 #define USART1_SYNC_AVAILABLE_B 0x0UL /**> New Param */ 1086 #define USART1_SYNC_LATE_SAMPLE 0x1UL /**> None */ 1087 #define USART1_SYNC_LATE_SAMPLE_B 0x0UL /**> New Param */ 1088 #define USART1_TIMER 0x1UL /**> New Param */ 1089 #define USART1_TIMER_B 0x0UL /**> New Param */ 1090 #define USART2_AUTOTX_REG 0x1UL /**> None */ 1091 #define USART2_AUTOTX_REG_B 0x0UL /**> None */ 1092 #define USART2_AUTOTX_TRIGGER 0x1UL /**> None */ 1093 #define USART2_AUTOTX_TRIGGER_B 0x0UL /**> New Param */ 1094 #define USART2_CLK_PRS 0x1UL /**> None */ 1095 #define USART2_CLK_PRS_B 0x0UL /**> New Param */ 1096 #define USART2_FLOW_CONTROL 0x1UL /**> None */ 1097 #define USART2_FLOW_CONTROL_B 0x0UL /**> New Param */ 1098 #define USART2_I2S 0x1UL /**> None */ 1099 #define USART2_I2S_B 0x0UL /**> New Param */ 1100 #define USART2_IRDA_AVAILABLE 0x1UL /**> None */ 1101 #define USART2_IRDA_AVAILABLE_B 0x0UL /**> New Param */ 1102 #define USART2_MVDIS_FUNC 0x1UL /**> None */ 1103 #define USART2_MVDIS_FUNC_B 0x0UL /**> New Param */ 1104 #define USART2_RX_PRS 0x1UL /**> None */ 1105 #define USART2_RX_PRS_B 0x0UL /**> New Param */ 1106 #define USART2_SC_AVAILABLE 0x1UL /**> None */ 1107 #define USART2_SC_AVAILABLE_B 0x0UL /**> New Param */ 1108 #define USART2_SYNC_AVAILABLE 0x1UL /**> None */ 1109 #define USART2_SYNC_AVAILABLE_B 0x0UL /**> New Param */ 1110 #define USART2_SYNC_LATE_SAMPLE 0x1UL /**> None */ 1111 #define USART2_SYNC_LATE_SAMPLE_B 0x0UL /**> New Param */ 1112 #define USART2_TIMER 0x1UL /**> New Param */ 1113 #define USART2_TIMER_B 0x0UL /**> New Param */ 1114 #define BURTC_CNTWIDTH 0x20UL /**> None */ 1115 #define BURTC_PRECNT_WIDTH 0xFUL /**> */ 1116 #define I2C1_DELAY 0x7D0UL /**> Delay cell selection */ 1117 #define I2C1_DELAY_CHAIN_NUM 0x2UL /**> Number of delay chain */ 1118 #define SYSCFG_CHIP_FAMILY 0x30UL /**> CHIP Family */ 1119 #define SYSCFG_DEMODRAM_INST_COUNT 0x1UL /**> */ 1120 #define SYSCFG_FRCRAM_INST_COUNT 0x1UL /**> */ 1121 #define SYSCFG_RAM0_INST_COUNT 0x6UL /**> None */ 1122 #define SYSCFG_SEQRAM_INST_COUNT 0x1UL /**> None */ 1123 #define SYSCFG_SWINT_NUM 0x4UL /**> Software interupts */ 1124 #define BUFC_LOG2NUMOFBUFS 0x2UL /**> New Param */ 1125 #define BUFC_LOG2NUMOFINPUTS 0x1UL /**> New Param */ 1126 #define BUFC_NUMOFBUFS 0x4UL /**> New Param */ 1127 #define BUFC_NUMOFINPUTS 0x1UL /**> New Param */ 1128 #define RTCC_CC_NUM 0x3UL /**> None */ 1129 #define LETIMER0_CNT_WIDTH 0x18UL /**> Count Width */ 1130 #define IADC0_CONFIGNUM 0x2UL /**> CONFIG */ 1131 #define IADC0_FULLRANGEUNIPOLAR 0x0UL /**> FULLRANGEUNIPOLAR */ 1132 #define IADC0_SCANBYTES 0x1UL /**> SCANBYTES */ 1133 #define IADC0_ENTRIES 0x10UL /**> ENTRIES */ 1134 #define ACMP0_DAC_INPUT 0x0UL /**> None */ 1135 #define ACMP0_EXT_OVR_IF 0x0UL /**> None */ 1136 #define ACMP1_DAC_INPUT 0x0UL /**> None */ 1137 #define ACMP1_EXT_OVR_IF 0x0UL /**> None */ 1138 #define I2C0_DELAY 0x7D0UL /**> Delay cell selection */ 1139 #define I2C0_DELAY_CHAIN_NUM 0x2UL /**> Number of delay chain */ 1140 #define WDOG0_PCNUM 0x2UL /**> None */ 1141 #define WDOG1_PCNUM 0x2UL /**> None */ 1142 #define AMUXCP0_AMUXCPNUM 0x0UL /**> AMUXCPNUM */ 1143 #define RDMEM_FRC_BANK0_SIZE 0x1000UL /**> FRC_RAM_BANK0_SIZE */ 1144 #define RDMEM_FRC_BANK1_SIZE 0x0UL /**> FRC_RAM_BANK1_SIZE */ 1145 #define RDMEM_FRC_BANK2_SIZE 0x0UL /**> FRC_RAM_BANK2_SIZE */ 1146 #define RDMEM_FRC_BANK3_SIZE 0x0UL /**> FRC_RAM_BANK3_SIZE */ 1147 #define RDMEM_FRC_BANK4_SIZE 0x0UL /**> FRC_RAM_BANK4_SIZE */ 1148 #define RDMEM_FRC_BANK5_SIZE 0x0UL /**> FRC_RAM_BANK5_SIZE */ 1149 #define RDMEM_FRC_BANK6_SIZE 0x0UL /**> FRC_RAM_BANK6_SIZE */ 1150 #define RDMEM_FRC_BANK7_SIZE 0x0UL /**> FRC_RAM_BANK7_SIZE */ 1151 #define RDMEM_FRC_NUM_BANK 0x1UL /**> FRC_NUM_BANK */ 1152 #define RDMEM_FRC_RAMADDRBITS 0xCUL /**> FRC RAM ADDRBITS */ 1153 #define RDMEM_FRC_RAMADDRMINBITS 0xCUL /**> FRC RAM address bits for one bank */ 1154 #define RDMEM_FRC_RAMECCADDR_WIDTH 0x20UL /**> FRC RAM ECC Address width */ 1155 #define RDMEM_FRC_RAM_BWE_WIDTH 0x27UL /**> FRCRAM BWE width */ 1156 #define RDMEM_FRC_RAM_DATA_WIDTH 0x27UL /**> FRC_RAM_DATA_WIDTH */ 1157 #define RDMEM_FRC_RAM_ECC_EN 0x1UL /**> FRC RAM ECCEN */ 1158 #define RDMEM_SEQ_BANK0_SIZE 0x2000UL /**> SEQ_RAM_BANK0_SIZE */ 1159 #define RDMEM_SEQ_BANK1_SIZE 0x0UL /**> SEQ_RAM_BANK1_SIZE */ 1160 #define RDMEM_SEQ_BANK2_SIZE 0x0UL /**> SEQ_RAM_BANK2_SIZE */ 1161 #define RDMEM_SEQ_BANK3_SIZE 0x0UL /**> SEQ_RAM_BANK3_SIZE */ 1162 #define RDMEM_SEQ_BANK4_SIZE 0x0UL /**> SEQ_RAM_BANK4_SIZE */ 1163 #define RDMEM_SEQ_BANK5_SIZE 0x0UL /**> SEQ_RAM_BANK5_SIZE */ 1164 #define RDMEM_SEQ_BANK6_SIZE 0x0UL /**> SEQ_RAM_BANK6_SIZE */ 1165 #define RDMEM_SEQ_BANK7_SIZE 0x0UL /**> SEQ_RAM_BANK7_SIZE */ 1166 #define RDMEM_SEQ_NUM_BANK 0x1UL /**> SEQ_NUM_BANK */ 1167 #define RDMEM_SEQ_RAMADDRBITS 0xDUL /**> SEQ RAM ADDRBITS */ 1168 #define RDMEM_SEQ_RAMADDRMINBITS 0xDUL /**> SEQ RAM address bits for one bank */ 1169 #define RDMEM_SEQ_RAMECCADDR_WIDTH 0x20UL /**> SEQ RAM ECC Address width */ 1170 #define RDMEM_SEQ_RAM_BWE_WIDTH 0x27UL /**> SEQRAM BWE width */ 1171 #define RDMEM_SEQ_RAM_DATA_WIDTH 0x27UL /**> SEQ_RAM_DATA_WIDTH */ 1172 #define RDMEM_SEQ_RAM_ECC_EN 0x1UL /**> SEQ RAM ECCEN */ 1173 #define PRORTC_CC_NUM 0x2UL /**> None */ 1174 1175 /* Instance macros for ACMP */ 1176 #define ACMP(n) (((n) == 0) ? ACMP0 \ 1177 : ((n) == 1) ? ACMP1 \ 1178 : 0x0UL) 1179 #define ACMP_NUM(ref) (((ref) == ACMP0) ? 0 \ 1180 : ((ref) == ACMP1) ? 1 \ 1181 : -1) 1182 #define ACMP_DAC_INPUT(n) (((n) == 0) ? ACMP0_DAC_INPUT \ 1183 : ((n) == 1) ? ACMP1_DAC_INPUT \ 1184 : 0x0UL) 1185 #define ACMP_EXT_OVR_IF(n) (((n) == 0) ? ACMP0_EXT_OVR_IF \ 1186 : ((n) == 1) ? ACMP1_EXT_OVR_IF \ 1187 : 0x0UL) 1188 1189 /* Instance macros for HFRCO */ 1190 #define HFRCO(n) (((n) == 0) ? HFRCO0 \ 1191 : ((n) == 1) ? HFRCOEM23 \ 1192 : 0x0UL) 1193 #define HFRCO_NUM(ref) (((ref) == HFRCO0) ? 0 \ 1194 : ((ref) == HFRCOEM23) ? 1 \ 1195 : -1) 1196 1197 /* Instance macros for I2C */ 1198 #define I2C(n) (((n) == 0) ? I2C0 \ 1199 : ((n) == 1) ? I2C1 \ 1200 : 0x0UL) 1201 #define I2C_NUM(ref) (((ref) == I2C0) ? 0 \ 1202 : ((ref) == I2C1) ? 1 \ 1203 : -1) 1204 #define I2C_DELAY(n) (((n) == 0) ? I2C0_DELAY \ 1205 : ((n) == 1) ? I2C1_DELAY \ 1206 : 0x0UL) 1207 #define I2C_DELAY_CHAIN_NUM(n) (((n) == 0) ? I2C0_DELAY_CHAIN_NUM \ 1208 : ((n) == 1) ? I2C1_DELAY_CHAIN_NUM \ 1209 : 0x0UL) 1210 1211 /* Instance macros for TIMER */ 1212 #define TIMER(n) (((n) == 0) ? TIMER0 \ 1213 : ((n) == 1) ? TIMER1 \ 1214 : ((n) == 2) ? TIMER2 \ 1215 : ((n) == 3) ? TIMER3 \ 1216 : 0x0UL) 1217 #define TIMER_NUM(ref) (((ref) == TIMER0) ? 0 \ 1218 : ((ref) == TIMER1) ? 1 \ 1219 : ((ref) == TIMER2) ? 2 \ 1220 : ((ref) == TIMER3) ? 3 \ 1221 : -1) 1222 #define TIMER_CC_NUM(n) (((n) == 0) ? TIMER0_CC_NUM \ 1223 : ((n) == 1) ? TIMER1_CC_NUM \ 1224 : ((n) == 2) ? TIMER2_CC_NUM \ 1225 : ((n) == 3) ? TIMER3_CC_NUM \ 1226 : 0x0UL) 1227 #define TIMER_CNTWIDTH(n) (((n) == 0) ? TIMER0_CNTWIDTH \ 1228 : ((n) == 1) ? TIMER1_CNTWIDTH \ 1229 : ((n) == 2) ? TIMER2_CNTWIDTH \ 1230 : ((n) == 3) ? TIMER3_CNTWIDTH \ 1231 : 0x0UL) 1232 #define TIMER_DTI(n) (((n) == 0) ? TIMER0_DTI \ 1233 : ((n) == 1) ? TIMER1_DTI \ 1234 : ((n) == 2) ? TIMER2_DTI \ 1235 : ((n) == 3) ? TIMER3_DTI \ 1236 : 0x0UL) 1237 #define TIMER_DTI_CC_NUM(n) (((n) == 0) ? TIMER0_DTI_CC_NUM \ 1238 : ((n) == 1) ? TIMER1_DTI_CC_NUM \ 1239 : ((n) == 2) ? TIMER2_DTI_CC_NUM \ 1240 : ((n) == 3) ? TIMER3_DTI_CC_NUM \ 1241 : 0x0UL) 1242 #define TIMER_NO_DTI(n) (((n) == 0) ? TIMER0_NO_DTI \ 1243 : ((n) == 1) ? TIMER1_NO_DTI \ 1244 : ((n) == 2) ? TIMER2_NO_DTI \ 1245 : ((n) == 3) ? TIMER3_NO_DTI \ 1246 : 0x0UL) 1247 1248 /* Instance macros for USART */ 1249 #define USART(n) (((n) == 0) ? USART0 \ 1250 : ((n) == 1) ? USART1 \ 1251 : ((n) == 2) ? USART2 \ 1252 : 0x0UL) 1253 #define USART_NUM(ref) (((ref) == USART0) ? 0 \ 1254 : ((ref) == USART1) ? 1 \ 1255 : ((ref) == USART2) ? 2 \ 1256 : -1) 1257 #define USART_AUTOTX_REG(n) (((n) == 0) ? USART0_AUTOTX_REG \ 1258 : ((n) == 1) ? USART1_AUTOTX_REG \ 1259 : ((n) == 2) ? USART2_AUTOTX_REG \ 1260 : 0x0UL) 1261 #define USART_AUTOTX_REG_B(n) (((n) == 0) ? USART0_AUTOTX_REG_B \ 1262 : ((n) == 1) ? USART1_AUTOTX_REG_B \ 1263 : ((n) == 2) ? USART2_AUTOTX_REG_B \ 1264 : 0x0UL) 1265 #define USART_AUTOTX_TRIGGER(n) (((n) == 0) ? USART0_AUTOTX_TRIGGER \ 1266 : ((n) == 1) ? USART1_AUTOTX_TRIGGER \ 1267 : ((n) == 2) ? USART2_AUTOTX_TRIGGER \ 1268 : 0x0UL) 1269 #define USART_AUTOTX_TRIGGER_B(n) (((n) == 0) ? USART0_AUTOTX_TRIGGER_B \ 1270 : ((n) == 1) ? USART1_AUTOTX_TRIGGER_B \ 1271 : ((n) == 2) ? USART2_AUTOTX_TRIGGER_B \ 1272 : 0x0UL) 1273 #define USART_CLK_PRS(n) (((n) == 0) ? USART0_CLK_PRS \ 1274 : ((n) == 1) ? USART1_CLK_PRS \ 1275 : ((n) == 2) ? USART2_CLK_PRS \ 1276 : 0x0UL) 1277 #define USART_CLK_PRS_B(n) (((n) == 0) ? USART0_CLK_PRS_B \ 1278 : ((n) == 1) ? USART1_CLK_PRS_B \ 1279 : ((n) == 2) ? USART2_CLK_PRS_B \ 1280 : 0x0UL) 1281 #define USART_FLOW_CONTROL(n) (((n) == 0) ? USART0_FLOW_CONTROL \ 1282 : ((n) == 1) ? USART1_FLOW_CONTROL \ 1283 : ((n) == 2) ? USART2_FLOW_CONTROL \ 1284 : 0x0UL) 1285 #define USART_FLOW_CONTROL_B(n) (((n) == 0) ? USART0_FLOW_CONTROL_B \ 1286 : ((n) == 1) ? USART1_FLOW_CONTROL_B \ 1287 : ((n) == 2) ? USART2_FLOW_CONTROL_B \ 1288 : 0x0UL) 1289 #define USART_I2S(n) (((n) == 0) ? USART0_I2S \ 1290 : ((n) == 1) ? USART1_I2S \ 1291 : ((n) == 2) ? USART2_I2S \ 1292 : 0x0UL) 1293 #define USART_I2S_B(n) (((n) == 0) ? USART0_I2S_B \ 1294 : ((n) == 1) ? USART1_I2S_B \ 1295 : ((n) == 2) ? USART2_I2S_B \ 1296 : 0x0UL) 1297 #define USART_IRDA_AVAILABLE(n) (((n) == 0) ? USART0_IRDA_AVAILABLE \ 1298 : ((n) == 1) ? USART1_IRDA_AVAILABLE \ 1299 : ((n) == 2) ? USART2_IRDA_AVAILABLE \ 1300 : 0x0UL) 1301 #define USART_IRDA_AVAILABLE_B(n) (((n) == 0) ? USART0_IRDA_AVAILABLE_B \ 1302 : ((n) == 1) ? USART1_IRDA_AVAILABLE_B \ 1303 : ((n) == 2) ? USART2_IRDA_AVAILABLE_B \ 1304 : 0x0UL) 1305 #define USART_MVDIS_FUNC(n) (((n) == 0) ? USART0_MVDIS_FUNC \ 1306 : ((n) == 1) ? USART1_MVDIS_FUNC \ 1307 : ((n) == 2) ? USART2_MVDIS_FUNC \ 1308 : 0x0UL) 1309 #define USART_MVDIS_FUNC_B(n) (((n) == 0) ? USART0_MVDIS_FUNC_B \ 1310 : ((n) == 1) ? USART1_MVDIS_FUNC_B \ 1311 : ((n) == 2) ? USART2_MVDIS_FUNC_B \ 1312 : 0x0UL) 1313 #define USART_RX_PRS(n) (((n) == 0) ? USART0_RX_PRS \ 1314 : ((n) == 1) ? USART1_RX_PRS \ 1315 : ((n) == 2) ? USART2_RX_PRS \ 1316 : 0x0UL) 1317 #define USART_RX_PRS_B(n) (((n) == 0) ? USART0_RX_PRS_B \ 1318 : ((n) == 1) ? USART1_RX_PRS_B \ 1319 : ((n) == 2) ? USART2_RX_PRS_B \ 1320 : 0x0UL) 1321 #define USART_SC_AVAILABLE(n) (((n) == 0) ? USART0_SC_AVAILABLE \ 1322 : ((n) == 1) ? USART1_SC_AVAILABLE \ 1323 : ((n) == 2) ? USART2_SC_AVAILABLE \ 1324 : 0x0UL) 1325 #define USART_SC_AVAILABLE_B(n) (((n) == 0) ? USART0_SC_AVAILABLE_B \ 1326 : ((n) == 1) ? USART1_SC_AVAILABLE_B \ 1327 : ((n) == 2) ? USART2_SC_AVAILABLE_B \ 1328 : 0x0UL) 1329 #define USART_SYNC_AVAILABLE(n) (((n) == 0) ? USART0_SYNC_AVAILABLE \ 1330 : ((n) == 1) ? USART1_SYNC_AVAILABLE \ 1331 : ((n) == 2) ? USART2_SYNC_AVAILABLE \ 1332 : 0x0UL) 1333 #define USART_SYNC_AVAILABLE_B(n) (((n) == 0) ? USART0_SYNC_AVAILABLE_B \ 1334 : ((n) == 1) ? USART1_SYNC_AVAILABLE_B \ 1335 : ((n) == 2) ? USART2_SYNC_AVAILABLE_B \ 1336 : 0x0UL) 1337 #define USART_SYNC_LATE_SAMPLE(n) (((n) == 0) ? USART0_SYNC_LATE_SAMPLE \ 1338 : ((n) == 1) ? USART1_SYNC_LATE_SAMPLE \ 1339 : ((n) == 2) ? USART2_SYNC_LATE_SAMPLE \ 1340 : 0x0UL) 1341 #define USART_SYNC_LATE_SAMPLE_B(n) (((n) == 0) ? USART0_SYNC_LATE_SAMPLE_B \ 1342 : ((n) == 1) ? USART1_SYNC_LATE_SAMPLE_B \ 1343 : ((n) == 2) ? USART2_SYNC_LATE_SAMPLE_B \ 1344 : 0x0UL) 1345 #define USART_TIMER(n) (((n) == 0) ? USART0_TIMER \ 1346 : ((n) == 1) ? USART1_TIMER \ 1347 : ((n) == 2) ? USART2_TIMER \ 1348 : 0x0UL) 1349 #define USART_TIMER_B(n) (((n) == 0) ? USART0_TIMER_B \ 1350 : ((n) == 1) ? USART1_TIMER_B \ 1351 : ((n) == 2) ? USART2_TIMER_B \ 1352 : 0x0UL) 1353 1354 /* Instance macros for WDOG */ 1355 #define WDOG(n) (((n) == 0) ? WDOG0 \ 1356 : ((n) == 1) ? WDOG1 \ 1357 : 0x0UL) 1358 #define WDOG_NUM(ref) (((ref) == WDOG0) ? 0 \ 1359 : ((ref) == WDOG1) ? 1 \ 1360 : -1) 1361 #define WDOG_PCNUM(n) (((n) == 0) ? WDOG0_PCNUM \ 1362 : ((n) == 1) ? WDOG1_PCNUM \ 1363 : 0x0UL) 1364 1365 /** @} End of group EFR32MG21B020F768IM32_Peripheral_Parameters */ 1366 1367 /** @} End of group EFR32MG21B020F768IM32 */ 1368 /** @}} End of group Parts */ 1369 1370 #ifdef __cplusplus 1371 } 1372 #endif 1373 #endif 1374