1 /**************************************************************************//**
2  * @file
3  * @brief CMSIS Cortex-M Peripheral Access Layer Header File
4  *        for EFR32BG27C230F768IM40
5  ******************************************************************************
6  * # License
7  * <b>Copyright 2023 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 EFR32BG27C230F768IM40_H
32 #define EFR32BG27C230F768IM40_H
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 /**************************************************************************//**
39  * @addtogroup Parts
40  * @{
41  *****************************************************************************/
42 
43 /**************************************************************************//**
44  * @defgroup EFR32BG27C230F768IM40 EFR32BG27C230F768IM40
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   /******  EFR32BG27 Peripheral Interrupt Numbers ******************************************/
62 
63   CRYPTOACC_IRQn         = 0,  /*!<  0 EFR32 CRYPTOACC Interrupt */
64   TRNG_IRQn              = 1,  /*!<  1 EFR32 TRNG Interrupt */
65   PKE_IRQn               = 2,  /*!<  2 EFR32 PKE Interrupt */
66   SMU_SECURE_IRQn        = 3,  /*!<  3 EFR32 SMU_SECURE Interrupt */
67   SMU_S_PRIVILEGED_IRQn  = 4,  /*!<  4 EFR32 SMU_S_PRIVILEGED Interrupt */
68   SMU_NS_PRIVILEGED_IRQn = 5,  /*!<  5 EFR32 SMU_NS_PRIVILEGED Interrupt */
69   EMU_IRQn               = 6,  /*!<  6 EFR32 EMU Interrupt */
70   EMUEFP_IRQn            = 7,  /*!<  7 EFR32 EMUEFP Interrupt */
71   DCDC_IRQn              = 8,  /*!<  8 EFR32 DCDC Interrupt */
72   ETAMPDET_IRQn          = 9,  /*!<  9 EFR32 ETAMPDET Interrupt */
73   TIMER0_IRQn            = 10, /*!< 10 EFR32 TIMER0 Interrupt */
74   TIMER1_IRQn            = 11, /*!< 11 EFR32 TIMER1 Interrupt */
75   TIMER2_IRQn            = 12, /*!< 12 EFR32 TIMER2 Interrupt */
76   TIMER3_IRQn            = 13, /*!< 13 EFR32 TIMER3 Interrupt */
77   TIMER4_IRQn            = 14, /*!< 14 EFR32 TIMER4 Interrupt */
78   RTCC_IRQn              = 15, /*!< 15 EFR32 RTCC Interrupt */
79   USART0_RX_IRQn         = 16, /*!< 16 EFR32 USART0_RX Interrupt */
80   USART0_TX_IRQn         = 17, /*!< 17 EFR32 USART0_TX Interrupt */
81   USART1_RX_IRQn         = 18, /*!< 18 EFR32 USART1_RX Interrupt */
82   USART1_TX_IRQn         = 19, /*!< 19 EFR32 USART1_TX Interrupt */
83   EUSART0_RX_IRQn        = 20, /*!< 20 EFR32 EUSART0_RX Interrupt */
84   EUSART0_TX_IRQn        = 21, /*!< 21 EFR32 EUSART0_TX Interrupt */
85   ICACHE0_IRQn           = 22, /*!< 22 EFR32 ICACHE0 Interrupt */
86   BURTC_IRQn             = 23, /*!< 23 EFR32 BURTC Interrupt */
87   LETIMER0_IRQn          = 24, /*!< 24 EFR32 LETIMER0 Interrupt */
88   SYSCFG_IRQn            = 25, /*!< 25 EFR32 SYSCFG Interrupt */
89   LDMA_IRQn              = 26, /*!< 26 EFR32 LDMA Interrupt */
90   LFXO_IRQn              = 27, /*!< 27 EFR32 LFXO Interrupt */
91   LFRCO_IRQn             = 28, /*!< 28 EFR32 LFRCO Interrupt */
92   ULFRCO_IRQn            = 29, /*!< 29 EFR32 ULFRCO Interrupt */
93   GPIO_ODD_IRQn          = 30, /*!< 30 EFR32 GPIO_ODD Interrupt */
94   GPIO_EVEN_IRQn         = 31, /*!< 31 EFR32 GPIO_EVEN Interrupt */
95   I2C0_IRQn              = 32, /*!< 32 EFR32 I2C0 Interrupt */
96   I2C1_IRQn              = 33, /*!< 33 EFR32 I2C1 Interrupt */
97   EMUDG_IRQn             = 34, /*!< 34 EFR32 EMUDG Interrupt */
98   EMUSE_IRQn             = 35, /*!< 35 EFR32 EMUSE Interrupt */
99   AGC_IRQn               = 36, /*!< 36 EFR32 AGC Interrupt */
100   BUFC_IRQn              = 37, /*!< 37 EFR32 BUFC Interrupt */
101   FRC_PRI_IRQn           = 38, /*!< 38 EFR32 FRC_PRI Interrupt */
102   FRC_IRQn               = 39, /*!< 39 EFR32 FRC Interrupt */
103   MODEM_IRQn             = 40, /*!< 40 EFR32 MODEM Interrupt */
104   PROTIMER_IRQn          = 41, /*!< 41 EFR32 PROTIMER Interrupt */
105   RAC_RSM_IRQn           = 42, /*!< 42 EFR32 RAC_RSM Interrupt */
106   RAC_SEQ_IRQn           = 43, /*!< 43 EFR32 RAC_SEQ Interrupt */
107   RDMAILBOX_IRQn         = 44, /*!< 44 EFR32 RDMAILBOX Interrupt */
108   RFSENSE_IRQn           = 45, /*!< 45 EFR32 RFSENSE Interrupt */
109   SYNTH_IRQn             = 46, /*!< 46 EFR32 SYNTH Interrupt */
110   PRORTC_IRQn            = 47, /*!< 47 EFR32 PRORTC Interrupt */
111   ACMP0_IRQn             = 48, /*!< 48 EFR32 ACMP0 Interrupt */
112   WDOG0_IRQn             = 49, /*!< 49 EFR32 WDOG0 Interrupt */
113   HFXO0_IRQn             = 50, /*!< 50 EFR32 HFXO0 Interrupt */
114   HFRCO0_IRQn            = 51, /*!< 51 EFR32 HFRCO0 Interrupt */
115   CMU_IRQn               = 52, /*!< 52 EFR32 CMU Interrupt */
116   AES_IRQn               = 53, /*!< 53 EFR32 AES Interrupt */
117   IADC_IRQn              = 54, /*!< 54 EFR32 IADC Interrupt */
118   MSC_IRQn               = 55, /*!< 55 EFR32 MSC Interrupt */
119   DPLL0_IRQn             = 56, /*!< 56 EFR32 DPLL0 Interrupt */
120   PDM_IRQn               = 57, /*!< 57 EFR32 PDM Interrupt */
121   SW0_IRQn               = 58, /*!< 58 EFR32 SW0 Interrupt */
122   SW1_IRQn               = 59, /*!< 59 EFR32 SW1 Interrupt */
123   SW2_IRQn               = 60, /*!< 60 EFR32 SW2 Interrupt */
124   SW3_IRQn               = 61, /*!< 61 EFR32 SW3 Interrupt */
125   KERNEL0_IRQn           = 62, /*!< 62 EFR32 KERNEL0 Interrupt */
126   KERNEL1_IRQn           = 63, /*!< 63 EFR32 KERNEL1 Interrupt */
127   M33CTI0_IRQn           = 64, /*!< 64 EFR32 M33CTI0 Interrupt */
128   M33CTI1_IRQn           = 65, /*!< 65 EFR32 M33CTI1 Interrupt */
129   FPUEXH_IRQn            = 66, /*!< 66 EFR32 FPUEXH Interrupt */
130 } IRQn_Type;
131 
132 /**************************************************************************//**
133  * @defgroup EFR32BG27C230F768IM40_Core EFR32BG27C230F768IM40 Core
134  * @{
135  * @brief Processor and Core Peripheral Section
136  *****************************************************************************/
137 
138 #define __CM33_REV                0x0004U /**< Cortex-M33 Core revision */
139 #define __DSP_PRESENT             1U      /**< Presence of DSP  */
140 #define __FPU_PRESENT             1U      /**< Presence of FPU  */
141 #define __MPU_PRESENT             1U      /**< Presence of MPU  */
142 #define __SAUREGION_PRESENT       1U      /**< Presence of FPU  */
143 #define __TZ_PRESENT              1U      /**< Presence of TrustZone */
144 #define __VTOR_PRESENT            1U      /**< Presence of VTOR register in SCB  */
145 #define __NVIC_PRIO_BITS          4U      /**< NVIC interrupt priority bits */
146 #define __Vendor_SysTickConfig    0U      /**< Is 1 if different SysTick counter is used */
147 
148 /** @} End of group EFR32BG27C230F768IM40_Core */
149 
150 /**************************************************************************//**
151 * @defgroup EFR32BG27C230F768IM40_Part EFR32BG27C230F768IM40 Part
152 * @{
153 ******************************************************************************/
154 
155 /** Part number */
156 
157 /* If part number is not defined as compiler option, define it */
158 #if !defined(EFR32BG27C230F768IM40)
159 #define EFR32BG27C230F768IM40    1 /**< FULL Part */
160 #endif
161 
162 /** Configure part number */
163 #define PART_NUMBER                                       "EFR32BG27C230F768IM40" /**< Part Number */
164 
165 /** Family / Line / Series / Config */
166 #define _EFR32_BLUE_FAMILY                                1                                     /** Device Family Name Identifier */
167 #define _EFR32_BG_FAMILY                                  1                                     /** Device Family Identifier */
168 #define _EFR_DEVICE                                       1                                     /** Product Line Identifier */
169 #define _SILICON_LABS_32B_SERIES_2                                                              /** Product Series Identifier */
170 #define _SILICON_LABS_32B_SERIES                          2                                     /** Product Series Identifier */
171 #define _SILICON_LABS_32B_SERIES_2_CONFIG_7                                                     /** Product Config Identifier */
172 #define _SILICON_LABS_32B_SERIES_2_CONFIG                 7                                     /** Product Config Identifier */
173 #define _SILICON_LABS_GECKO_INTERNAL_SDID                 230                                   /** Silicon Labs internal use only */
174 #define _SILICON_LABS_GECKO_INTERNAL_SDID_230                                                   /** Silicon Labs internal use only */
175 #define _SILICON_LABS_SECURITY_FEATURE_SE                 0                                     /** Mid */
176 #define _SILICON_LABS_SECURITY_FEATURE_VAULT              1                                     /** High */
177 #define _SILICON_LABS_SECURITY_FEATURE_ROT                2                                     /** Root Of Trust */
178 #define _SILICON_LABS_SECURITY_FEATURE                    _SILICON_LABS_SECURITY_FEATURE_ROT    /** Security feature set */
179 #define _SILICON_LABS_DCDC_FEATURE_NOTUSED                0                                     /** Not Used */
180 #define _SILICON_LABS_DCDC_FEATURE_DCDC_BUCK              1                                     /** Includes Buck DCDC */
181 #define _SILICON_LABS_DCDC_FEATURE_DCDC_BOOST             2                                     /** Includes Boost DCDC */
182 #define _SILICON_LABS_DCDC_FEATURE_DCDC_BOB               3                                     /** Includes Buck or Boost DCDC */
183 #define _SILICON_LABS_DCDC_FEATURE                        _SILICON_LABS_DCDC_FEATURE_DCDC_BOOST /** DCDC feature set */
184 #define _SILICON_LABS_EFR32_RADIO_NONE                    0                                     /** No radio present */
185 #define _SILICON_LABS_EFR32_RADIO_SUBGHZ                  1                                     /** Radio supports Sub-GHz */
186 #define _SILICON_LABS_EFR32_RADIO_2G4HZ                   2                                     /** Radio supports 2.4 GHz */
187 #define _SILICON_LABS_EFR32_RADIO_DUALBAND                3                                     /** Radio supports dual band */
188 #define _SILICON_LABS_EFR32_RADIO_TYPE                    _SILICON_LABS_EFR32_RADIO_2G4HZ       /** Radio type */
189 #define _SILICON_LABS_EFR32_2G4HZ_HP_PA_MAX_OUTPUT_DBM    6                                     /** Radio 2G4HZ HP PA output power */
190 #define _SILICON_LABS_EFR32_2G4HZ_LP_PA_MAX_OUTPUT_DBM    0                                     /** Radio 2G4HZ LP PA output power */
191 #define _SILICON_LABS_EFR32_2G4HZ_HP_PA_PRESENT                                                 /** Radio 2G4HZ HP PA is present */
192 #define _SILICON_LABS_EFR32_2G4HZ_LP_PA_PRESENT                                                 /** Radio 2G4HZ LP PA is present */
193 #define LFRCO_PRECISION_MODE                              1                                     /** Precision mode of LFRCO enabled or disabled */
194 
195 /** Memory Base addresses and limits */
196 #define FLASH_MEM_BASE                                    (0x08000000UL) /** FLASH_MEM base address */
197 #define FLASH_MEM_SIZE                                    (0x000C0000UL) /** FLASH_MEM available address space */
198 #define FLASH_MEM_END                                     (0x080BFFFFUL) /** FLASH_MEM end address */
199 #define FLASH_MEM_BITS                                    (0x14UL)       /** FLASH_MEM used bits */
200 #define MSC_FLASH_MEM_BASE                                (0x08000000UL) /** MSC_FLASH_MEM base address */
201 #define MSC_FLASH_MEM_SIZE                                (0x000C0000UL) /** MSC_FLASH_MEM available address space */
202 #define MSC_FLASH_MEM_END                                 (0x080BFFFFUL) /** MSC_FLASH_MEM end address */
203 #define MSC_FLASH_MEM_BITS                                (0x14UL)       /** MSC_FLASH_MEM used bits */
204 #define MSC_FLASH_USERDATA_MEM_BASE                       (0x0FE00000UL) /** MSC_FLASH_USERDATA_MEM base address */
205 #define MSC_FLASH_USERDATA_MEM_SIZE                       (0x00000400UL) /** MSC_FLASH_USERDATA_MEM available address space */
206 #define MSC_FLASH_USERDATA_MEM_END                        (0x0FE003FFUL) /** MSC_FLASH_USERDATA_MEM end address */
207 #define MSC_FLASH_USERDATA_MEM_BITS                       (0xBUL)        /** MSC_FLASH_USERDATA_MEM used bits */
208 #define USERDATA_BASE                                     (0x0FE00000UL) /** USERDATA base address */
209 #define USERDATA_SIZE                                     (0x00000400UL) /** USERDATA available address space */
210 #define USERDATA_END                                      (0x0FE003FFUL) /** USERDATA end address */
211 #define USERDATA_BITS                                     (0xBUL)        /** USERDATA used bits */
212 #define MSC_FLASH_DEVINFO_MEM_BASE                        (0x0FE08000UL) /** MSC_FLASH_DEVINFO_MEM base address */
213 #define MSC_FLASH_DEVINFO_MEM_SIZE                        (0x00000400UL) /** MSC_FLASH_DEVINFO_MEM available address space */
214 #define MSC_FLASH_DEVINFO_MEM_END                         (0x0FE083FFUL) /** MSC_FLASH_DEVINFO_MEM end address */
215 #define MSC_FLASH_DEVINFO_MEM_BITS                        (0xBUL)        /** MSC_FLASH_DEVINFO_MEM used bits */
216 #define MSC_FLASH_CHIPCONFIG_MEM_BASE                     (0x0FE08400UL) /** MSC_FLASH_CHIPCONFIG_MEM base address */
217 #define MSC_FLASH_CHIPCONFIG_MEM_SIZE                     (0x00000600UL) /** MSC_FLASH_CHIPCONFIG_MEM available address space */
218 #define MSC_FLASH_CHIPCONFIG_MEM_END                      (0x0FE089FFUL) /** MSC_FLASH_CHIPCONFIG_MEM end address */
219 #define MSC_FLASH_CHIPCONFIG_MEM_BITS                     (0xBUL)        /** MSC_FLASH_CHIPCONFIG_MEM used bits */
220 #define DMEM_RAM0_RAM_MEM_BASE                            (0x20000000UL) /** DMEM_RAM0_RAM_MEM base address */
221 #define DMEM_RAM0_RAM_MEM_SIZE                            (0x00010000UL) /** DMEM_RAM0_RAM_MEM available address space */
222 #define DMEM_RAM0_RAM_MEM_END                             (0x2000FFFFUL) /** DMEM_RAM0_RAM_MEM end address */
223 #define DMEM_RAM0_RAM_MEM_BITS                            (0x11UL)       /** DMEM_RAM0_RAM_MEM used bits */
224 #define RAM_MEM_BASE                                      (0x20000000UL) /** RAM_MEM base address */
225 #define RAM_MEM_SIZE                                      (0x00010000UL) /** RAM_MEM available address space */
226 #define RAM_MEM_END                                       (0x2000FFFFUL) /** RAM_MEM end address */
227 #define RAM_MEM_BITS                                      (0x11UL)       /** RAM_MEM used bits */
228 #define CRYPTOACC_RNGOUT_FIFO_S_MEM_BASE                  (0x4C024000UL) /** CRYPTOACC_RNGOUT_FIFO_S_MEM base address */
229 #define CRYPTOACC_RNGOUT_FIFO_S_MEM_SIZE                  (0x00004000UL) /** CRYPTOACC_RNGOUT_FIFO_S_MEM available address space */
230 #define CRYPTOACC_RNGOUT_FIFO_S_MEM_END                   (0x4C027FFFUL) /** CRYPTOACC_RNGOUT_FIFO_S_MEM end address */
231 #define CRYPTOACC_RNGOUT_FIFO_S_MEM_BITS                  (0xFUL)        /** CRYPTOACC_RNGOUT_FIFO_S_MEM used bits */
232 #define CRYPTOACC_PKRAM_MAIN_S_MEM_BASE                   (0x4C028000UL) /** CRYPTOACC_PKRAM_MAIN_S_MEM base address */
233 #define CRYPTOACC_PKRAM_MAIN_S_MEM_SIZE                   (0x00001000UL) /** CRYPTOACC_PKRAM_MAIN_S_MEM available address space */
234 #define CRYPTOACC_PKRAM_MAIN_S_MEM_END                    (0x4C028FFFUL) /** CRYPTOACC_PKRAM_MAIN_S_MEM end address */
235 #define CRYPTOACC_PKRAM_MAIN_S_MEM_BITS                   (0xDUL)        /** CRYPTOACC_PKRAM_MAIN_S_MEM used bits */
236 #define CRYPTOACC_PKROM_MAIN_S_MEM_BASE                   (0x4C02C000UL) /** CRYPTOACC_PKROM_MAIN_S_MEM base address */
237 #define CRYPTOACC_PKROM_MAIN_S_MEM_SIZE                   (0x00001128UL) /** CRYPTOACC_PKROM_MAIN_S_MEM available address space */
238 #define CRYPTOACC_PKROM_MAIN_S_MEM_END                    (0x4C02D127UL) /** CRYPTOACC_PKROM_MAIN_S_MEM end address */
239 #define CRYPTOACC_PKROM_MAIN_S_MEM_BITS                   (0xDUL)        /** CRYPTOACC_PKROM_MAIN_S_MEM used bits */
240 #define CRYPTOACC_PKROM_SPACER_S_MEM_BASE                 (0x4C02FFFFUL) /** CRYPTOACC_PKROM_SPACER_S_MEM base address */
241 #define CRYPTOACC_PKROM_SPACER_S_MEM_SIZE                 (0x00000001UL) /** CRYPTOACC_PKROM_SPACER_S_MEM available address space */
242 #define CRYPTOACC_PKROM_SPACER_S_MEM_END                  (0x4C02FFFFUL) /** CRYPTOACC_PKROM_SPACER_S_MEM end address */
243 #define CRYPTOACC_PKROM_SPACER_S_MEM_BITS                 (0x1UL)        /** CRYPTOACC_PKROM_SPACER_S_MEM used bits */
244 #define CRYPTOACC_RNGOUT_FIFO_MEM_BASE                    (0x5C024000UL) /** CRYPTOACC_RNGOUT_FIFO_MEM base address */
245 #define CRYPTOACC_RNGOUT_FIFO_MEM_SIZE                    (0x00004000UL) /** CRYPTOACC_RNGOUT_FIFO_MEM available address space */
246 #define CRYPTOACC_RNGOUT_FIFO_MEM_END                     (0x5C027FFFUL) /** CRYPTOACC_RNGOUT_FIFO_MEM end address */
247 #define CRYPTOACC_RNGOUT_FIFO_MEM_BITS                    (0xFUL)        /** CRYPTOACC_RNGOUT_FIFO_MEM used bits */
248 #define CRYPTOACC_RNGOUT_FIFO_NS_MEM_BASE                 (0x5C024000UL) /** CRYPTOACC_RNGOUT_FIFO_NS_MEM base address */
249 #define CRYPTOACC_RNGOUT_FIFO_NS_MEM_SIZE                 (0x00004000UL) /** CRYPTOACC_RNGOUT_FIFO_NS_MEM available address space */
250 #define CRYPTOACC_RNGOUT_FIFO_NS_MEM_END                  (0x5C027FFFUL) /** CRYPTOACC_RNGOUT_FIFO_NS_MEM end address */
251 #define CRYPTOACC_RNGOUT_FIFO_NS_MEM_BITS                 (0xFUL)        /** CRYPTOACC_RNGOUT_FIFO_NS_MEM used bits */
252 #define CRYPTOACC_PKRAM_MAIN_MEM_BASE                     (0x5C028000UL) /** CRYPTOACC_PKRAM_MAIN_MEM base address */
253 #define CRYPTOACC_PKRAM_MAIN_MEM_SIZE                     (0x00001000UL) /** CRYPTOACC_PKRAM_MAIN_MEM available address space */
254 #define CRYPTOACC_PKRAM_MAIN_MEM_END                      (0x5C028FFFUL) /** CRYPTOACC_PKRAM_MAIN_MEM end address */
255 #define CRYPTOACC_PKRAM_MAIN_MEM_BITS                     (0xDUL)        /** CRYPTOACC_PKRAM_MAIN_MEM used bits */
256 #define CRYPTOACC_PKRAM_MAIN_NS_MEM_BASE                  (0x5C028000UL) /** CRYPTOACC_PKRAM_MAIN_NS_MEM base address */
257 #define CRYPTOACC_PKRAM_MAIN_NS_MEM_SIZE                  (0x00001000UL) /** CRYPTOACC_PKRAM_MAIN_NS_MEM available address space */
258 #define CRYPTOACC_PKRAM_MAIN_NS_MEM_END                   (0x5C028FFFUL) /** CRYPTOACC_PKRAM_MAIN_NS_MEM end address */
259 #define CRYPTOACC_PKRAM_MAIN_NS_MEM_BITS                  (0xDUL)        /** CRYPTOACC_PKRAM_MAIN_NS_MEM used bits */
260 #define CRYPTOACC_PKROM_MAIN_MEM_BASE                     (0x5C02C000UL) /** CRYPTOACC_PKROM_MAIN_MEM base address */
261 #define CRYPTOACC_PKROM_MAIN_MEM_SIZE                     (0x00001128UL) /** CRYPTOACC_PKROM_MAIN_MEM available address space */
262 #define CRYPTOACC_PKROM_MAIN_MEM_END                      (0x5C02D127UL) /** CRYPTOACC_PKROM_MAIN_MEM end address */
263 #define CRYPTOACC_PKROM_MAIN_MEM_BITS                     (0xDUL)        /** CRYPTOACC_PKROM_MAIN_MEM used bits */
264 #define CRYPTOACC_PKROM_MAIN_NS_MEM_BASE                  (0x5C02C000UL) /** CRYPTOACC_PKROM_MAIN_NS_MEM base address */
265 #define CRYPTOACC_PKROM_MAIN_NS_MEM_SIZE                  (0x00001128UL) /** CRYPTOACC_PKROM_MAIN_NS_MEM available address space */
266 #define CRYPTOACC_PKROM_MAIN_NS_MEM_END                   (0x5C02D127UL) /** CRYPTOACC_PKROM_MAIN_NS_MEM end address */
267 #define CRYPTOACC_PKROM_MAIN_NS_MEM_BITS                  (0xDUL)        /** CRYPTOACC_PKROM_MAIN_NS_MEM used bits */
268 #define CRYPTOACC_PKROM_SPACER_MEM_BASE                   (0x5C02FFFFUL) /** CRYPTOACC_PKROM_SPACER_MEM base address */
269 #define CRYPTOACC_PKROM_SPACER_MEM_SIZE                   (0x00000001UL) /** CRYPTOACC_PKROM_SPACER_MEM available address space */
270 #define CRYPTOACC_PKROM_SPACER_MEM_END                    (0x5C02FFFFUL) /** CRYPTOACC_PKROM_SPACER_MEM end address */
271 #define CRYPTOACC_PKROM_SPACER_MEM_BITS                   (0x1UL)        /** CRYPTOACC_PKROM_SPACER_MEM used bits */
272 #define CRYPTOACC_PKROM_SPACER_NS_MEM_BASE                (0x5C02FFFFUL) /** CRYPTOACC_PKROM_SPACER_NS_MEM base address */
273 #define CRYPTOACC_PKROM_SPACER_NS_MEM_SIZE                (0x00000001UL) /** CRYPTOACC_PKROM_SPACER_NS_MEM available address space */
274 #define CRYPTOACC_PKROM_SPACER_NS_MEM_END                 (0x5C02FFFFUL) /** CRYPTOACC_PKROM_SPACER_NS_MEM end address */
275 #define CRYPTOACC_PKROM_SPACER_NS_MEM_BITS                (0x1UL)        /** CRYPTOACC_PKROM_SPACER_NS_MEM used bits */
276 #define RDMEM_SEQRAM_S_MEM_BASE                           (0xA0000000UL) /** RDMEM_SEQRAM_S_MEM base address */
277 #define RDMEM_SEQRAM_S_MEM_SIZE                           (0x00004000UL) /** RDMEM_SEQRAM_S_MEM available address space */
278 #define RDMEM_SEQRAM_S_MEM_END                            (0xA0003FFFUL) /** RDMEM_SEQRAM_S_MEM end address */
279 #define RDMEM_SEQRAM_S_MEM_BITS                           (0xFUL)        /** RDMEM_SEQRAM_S_MEM used bits */
280 #define RDMEM_FRCRAM_S_MEM_BASE                           (0xA0004000UL) /** RDMEM_FRCRAM_S_MEM base address */
281 #define RDMEM_FRCRAM_S_MEM_SIZE                           (0x00001000UL) /** RDMEM_FRCRAM_S_MEM available address space */
282 #define RDMEM_FRCRAM_S_MEM_END                            (0xA0004FFFUL) /** RDMEM_FRCRAM_S_MEM end address */
283 #define RDMEM_FRCRAM_S_MEM_BITS                           (0xDUL)        /** RDMEM_FRCRAM_S_MEM used bits */
284 #define RDMEM_SEQRAM_NS_MEM_BASE                          (0xB0000000UL) /** RDMEM_SEQRAM_NS_MEM base address */
285 #define RDMEM_SEQRAM_NS_MEM_SIZE                          (0x00004000UL) /** RDMEM_SEQRAM_NS_MEM available address space */
286 #define RDMEM_SEQRAM_NS_MEM_END                           (0xB0003FFFUL) /** RDMEM_SEQRAM_NS_MEM end address */
287 #define RDMEM_SEQRAM_NS_MEM_BITS                          (0xFUL)        /** RDMEM_SEQRAM_NS_MEM used bits */
288 #define RDMEM_SEQRAM_SEQRAM_MEM_BASE                      (0xB0000000UL) /** RDMEM_SEQRAM_SEQRAM_MEM base address */
289 #define RDMEM_SEQRAM_SEQRAM_MEM_SIZE                      (0x00004000UL) /** RDMEM_SEQRAM_SEQRAM_MEM available address space */
290 #define RDMEM_SEQRAM_SEQRAM_MEM_END                       (0xB0003FFFUL) /** RDMEM_SEQRAM_SEQRAM_MEM end address */
291 #define RDMEM_SEQRAM_SEQRAM_MEM_BITS                      (0xFUL)        /** RDMEM_SEQRAM_SEQRAM_MEM used bits */
292 #define RDMEM_FRCRAM_FRCRAM_MEM_BASE                      (0xB0004000UL) /** RDMEM_FRCRAM_FRCRAM_MEM base address */
293 #define RDMEM_FRCRAM_FRCRAM_MEM_SIZE                      (0x00001000UL) /** RDMEM_FRCRAM_FRCRAM_MEM available address space */
294 #define RDMEM_FRCRAM_FRCRAM_MEM_END                       (0xB0004FFFUL) /** RDMEM_FRCRAM_FRCRAM_MEM end address */
295 #define RDMEM_FRCRAM_FRCRAM_MEM_BITS                      (0xDUL)        /** RDMEM_FRCRAM_FRCRAM_MEM used bits */
296 #define RDMEM_FRCRAM_NS_MEM_BASE                          (0xB0004000UL) /** RDMEM_FRCRAM_NS_MEM base address */
297 #define RDMEM_FRCRAM_NS_MEM_SIZE                          (0x00001000UL) /** RDMEM_FRCRAM_NS_MEM available address space */
298 #define RDMEM_FRCRAM_NS_MEM_END                           (0xB0004FFFUL) /** RDMEM_FRCRAM_NS_MEM end address */
299 #define RDMEM_FRCRAM_NS_MEM_BITS                          (0xDUL)        /** RDMEM_FRCRAM_NS_MEM used bits */
300 
301 /** Flash and SRAM limits for EFR32BG27C230F768IM40 */
302 #define FLASH_BASE                                        (0x08000000UL) /**< Flash Base Address */
303 #define FLASH_SIZE                                        (0x000C0000UL) /**< Available Flash Memory */
304 #define FLASH_PAGE_SIZE                                   (0x00002000UL) /**< Flash Memory page size */
305 #define SRAM_BASE                                         (0x20000000UL) /**< SRAM Base Address */
306 #define SRAM_SIZE                                         (0x00010000UL) /**< Available SRAM Memory */
307 #define DMA_CHAN_COUNT                                    LDMA_CH_NUM    /**< Number of DMA channels */
308 #define EXT_IRQ_COUNT                                     67             /**< Number of External (NVIC) interrupts */
309 
310 /* GPIO Avalibility Info */
311 #define GPIO_PA_INDEX                                     0U         /**< Index of port PA */
312 #define GPIO_PA_COUNT                                     8U         /**< Number of pins on port PA */
313 #define GPIO_PA_MASK                                      (0x00FFUL) /**< Port PA pin mask */
314 #define GPIO_PA_PIN0                                      1U         /**< GPIO pin PA0 is present. */
315 #define GPIO_PA_PIN1                                      1U         /**< GPIO pin PA1 is present. */
316 #define GPIO_PA_PIN2                                      1U         /**< GPIO pin PA2 is present. */
317 #define GPIO_PA_PIN3                                      1U         /**< GPIO pin PA3 is present. */
318 #define GPIO_PA_PIN4                                      1U         /**< GPIO pin PA4 is present. */
319 #define GPIO_PA_PIN5                                      1U         /**< GPIO pin PA5 is present. */
320 #define GPIO_PA_PIN6                                      1U         /**< GPIO pin PA6 is present. */
321 #define GPIO_PA_PIN7                                      1U         /**< GPIO pin PA7 is present. */
322 #define GPIO_PB_INDEX                                     1U         /**< Index of port PB */
323 #define GPIO_PB_COUNT                                     5U         /**< Number of pins on port PB */
324 #define GPIO_PB_MASK                                      (0x001FUL) /**< Port PB pin mask */
325 #define GPIO_PB_PIN0                                      1U         /**< GPIO pin PB0 is present. */
326 #define GPIO_PB_PIN1                                      1U         /**< GPIO pin PB1 is present. */
327 #define GPIO_PB_PIN2                                      1U         /**< GPIO pin PB2 is present. */
328 #define GPIO_PB_PIN3                                      1U         /**< GPIO pin PB3 is present. */
329 #define GPIO_PB_PIN4                                      1U         /**< GPIO pin PB4 is present. */
330 #define GPIO_PC_INDEX                                     2U         /**< Index of port PC */
331 #define GPIO_PC_COUNT                                     8U         /**< Number of pins on port PC */
332 #define GPIO_PC_MASK                                      (0x00FFUL) /**< Port PC pin mask */
333 #define GPIO_PC_PIN0                                      1U         /**< GPIO pin PC0 is present. */
334 #define GPIO_PC_PIN1                                      1U         /**< GPIO pin PC1 is present. */
335 #define GPIO_PC_PIN2                                      1U         /**< GPIO pin PC2 is present. */
336 #define GPIO_PC_PIN3                                      1U         /**< GPIO pin PC3 is present. */
337 #define GPIO_PC_PIN4                                      1U         /**< GPIO pin PC4 is present. */
338 #define GPIO_PC_PIN5                                      1U         /**< GPIO pin PC5 is present. */
339 #define GPIO_PC_PIN6                                      1U         /**< GPIO pin PC6 is present. */
340 #define GPIO_PC_PIN7                                      1U         /**< GPIO pin PC7 is present. */
341 #define GPIO_PD_INDEX                                     3U         /**< Index of port PD */
342 #define GPIO_PD_COUNT                                     4U         /**< Number of pins on port PD */
343 #define GPIO_PD_MASK                                      (0x000FUL) /**< Port PD pin mask */
344 #define GPIO_PD_PIN0                                      1U         /**< GPIO pin PD0 is present. */
345 #define GPIO_PD_PIN1                                      1U         /**< GPIO pin PD1 is present. */
346 #define GPIO_PD_PIN2                                      1U         /**< GPIO pin PD2 is present. */
347 #define GPIO_PD_PIN3                                      1U         /**< GPIO pin PD3 is present. */
348 
349 /* Fixed Resource Locations */
350 #define ETAMPDET_ETAMPIN0_PORT                            GPIO_PB_INDEX /**< Port of ETAMPIN0.*/
351 #define ETAMPDET_ETAMPIN0_PIN                             1U            /**< Pin of ETAMPIN0.*/
352 #define ETAMPDET_ETAMPIN1_PORT                            GPIO_PC_INDEX /**< Port of ETAMPIN1.*/
353 #define ETAMPDET_ETAMPIN1_PIN                             0U            /**< Pin of ETAMPIN1.*/
354 #define ETAMPDET_ETAMPOUT0_PORT                           GPIO_PC_INDEX /**< Port of ETAMPOUT0.*/
355 #define ETAMPDET_ETAMPOUT0_PIN                            1U            /**< Pin of ETAMPOUT0.*/
356 #define ETAMPDET_ETAMPOUT1_PORT                           GPIO_PC_INDEX /**< Port of ETAMPOUT1.*/
357 #define ETAMPDET_ETAMPOUT1_PIN                            2U            /**< Pin of ETAMPOUT1.*/
358 #define GPIO_SWCLK_PORT                                   GPIO_PA_INDEX /**< Port of SWCLK.*/
359 #define GPIO_SWCLK_PIN                                    1U            /**< Pin of SWCLK.*/
360 #define GPIO_SWDIO_PORT                                   GPIO_PA_INDEX /**< Port of SWDIO.*/
361 #define GPIO_SWDIO_PIN                                    2U            /**< Pin of SWDIO.*/
362 #define GPIO_SWV_PORT                                     GPIO_PA_INDEX /**< Port of SWV.*/
363 #define GPIO_SWV_PIN                                      3U            /**< Pin of SWV.*/
364 #define GPIO_TDI_PORT                                     GPIO_PA_INDEX /**< Port of TDI.*/
365 #define GPIO_TDI_PIN                                      4U            /**< Pin of TDI.*/
366 #define GPIO_TDO_PORT                                     GPIO_PA_INDEX /**< Port of TDO.*/
367 #define GPIO_TDO_PIN                                      3U            /**< Pin of TDO.*/
368 #define GPIO_TRACECLK_PORT                                GPIO_PA_INDEX /**< Port of TRACECLK.*/
369 #define GPIO_TRACECLK_PIN                                 4U            /**< Pin of TRACECLK.*/
370 #define GPIO_TRACEDATA0_PORT                              GPIO_PA_INDEX /**< Port of TRACEDATA0.*/
371 #define GPIO_TRACEDATA0_PIN                               3U            /**< Pin of TRACEDATA0.*/
372 #define GPIO_TRACEDATA1_PORT                              GPIO_PA_INDEX /**< Port of TRACEDATA1.*/
373 #define GPIO_TRACEDATA1_PIN                               5U            /**< Pin of TRACEDATA1.*/
374 #define GPIO_TRACEDATA2_PORT                              GPIO_PA_INDEX /**< Port of TRACEDATA2.*/
375 #define GPIO_TRACEDATA2_PIN                               6U            /**< Pin of TRACEDATA2.*/
376 #define GPIO_TRACEDATA3_PORT                              GPIO_PA_INDEX /**< Port of TRACEDATA3.*/
377 #define GPIO_TRACEDATA3_PIN                               7U            /**< Pin of TRACEDATA3.*/
378 #define GPIO_EFP_INT_PORT                                 GPIO_PC_INDEX /**< Port of EFP_INT.*/
379 #define GPIO_EFP_INT_PIN                                  5U            /**< Pin of EFP_INT.*/
380 #define GPIO_EFP_TX_SCL_PORT                              GPIO_PC_INDEX /**< Port of EFP_TX_SCL.*/
381 #define GPIO_EFP_TX_SCL_PIN                               2U            /**< Pin of EFP_TX_SCL.*/
382 #define GPIO_EFP_TX_SDA_PORT                              GPIO_PC_INDEX /**< Port of EFP_TX_SDA.*/
383 #define GPIO_EFP_TX_SDA_PIN                               1U            /**< Pin of EFP_TX_SDA.*/
384 #define GPIO_EM4WU0_PORT                                  GPIO_PA_INDEX /**< Port of EM4WU0.*/
385 #define GPIO_EM4WU0_PIN                                   5U            /**< Pin of EM4WU0.*/
386 #define GPIO_EM4WU3_PORT                                  GPIO_PB_INDEX /**< Port of EM4WU3.*/
387 #define GPIO_EM4WU3_PIN                                   1U            /**< Pin of EM4WU3.*/
388 #define GPIO_EM4WU4_PORT                                  GPIO_PB_INDEX /**< Port of EM4WU4.*/
389 #define GPIO_EM4WU4_PIN                                   3U            /**< Pin of EM4WU4.*/
390 #define GPIO_EM4WU6_PORT                                  GPIO_PC_INDEX /**< Port of EM4WU6.*/
391 #define GPIO_EM4WU6_PIN                                   0U            /**< Pin of EM4WU6.*/
392 #define GPIO_EM4WU7_PORT                                  GPIO_PC_INDEX /**< Port of EM4WU7.*/
393 #define GPIO_EM4WU7_PIN                                   5U            /**< Pin of EM4WU7.*/
394 #define GPIO_EM4WU8_PORT                                  GPIO_PC_INDEX /**< Port of EM4WU8.*/
395 #define GPIO_EM4WU8_PIN                                   7U            /**< Pin of EM4WU8.*/
396 #define GPIO_EM4WU9_PORT                                  GPIO_PD_INDEX /**< Port of EM4WU9.*/
397 #define GPIO_EM4WU9_PIN                                   2U            /**< Pin of EM4WU9.*/
398 #define GPIO_THMSW_EN_PORT                                GPIO_PC_INDEX /**< Port of THMSW_EN.*/
399 #define GPIO_THMSW_EN_PIN                                 0U            /**< Pin of THMSW_EN.*/
400 #define GPIO_THMSW_HALFSWITCH_PORT                        GPIO_PC_INDEX /**< Port of THMSW_HALFSWITCH.*/
401 #define GPIO_THMSW_HALFSWITCH_PIN                         0U            /**< Pin of THMSW_HALFSWITCH.*/
402 #define IADC0_VREFP_PORT                                  GPIO_PA_INDEX /**< Port of VREFP.*/
403 #define IADC0_VREFP_PIN                                   0U            /**< Pin of VREFP.*/
404 #define LFXO_LFXTAL_I_PORT                                GPIO_PD_INDEX /**< Port of LFXTAL_I.*/
405 #define LFXO_LFXTAL_I_PIN                                 1U            /**< Pin of LFXTAL_I.*/
406 #define LFXO_LFXTAL_O_PORT                                GPIO_PD_INDEX /**< Port of LFXTAL_O.*/
407 #define LFXO_LFXTAL_O_PIN                                 0U            /**< Pin of LFXTAL_O.*/
408 #define LFXO_LF_EXTCLK_PORT                               GPIO_PD_INDEX /**< Port of LF_EXTCLK.*/
409 #define LFXO_LF_EXTCLK_PIN                                1U            /**< Pin of LF_EXTCLK.*/
410 
411 /* Part number capabilities */
412 #define ACMP_PRESENT                                        /** ACMP is available in this part */
413 #define ACMP_COUNT                                        1 /** 1 ACMPs available  */
414 #define BURAM_PRESENT                                       /** BURAM is available in this part */
415 #define BURAM_COUNT                                       1 /** 1 BURAMs available  */
416 #define BURTC_PRESENT                                       /** BURTC is available in this part */
417 #define BURTC_COUNT                                       1 /** 1 BURTCs available  */
418 #define CMU_PRESENT                                         /** CMU is available in this part */
419 #define CMU_COUNT                                         1 /** 1 CMUs available  */
420 #define CRYPTOACC_PRESENT                                   /** CRYPTOACC is available in this part */
421 #define CRYPTOACC_COUNT                                   1 /** 1 CRYPTOACCs available  */
422 #define DCDC_PRESENT                                        /** DCDC is available in this part */
423 #define DCDC_COUNT                                        1 /** 1 DCDCs available  */
424 #define DPLL_PRESENT                                        /** DPLL is available in this part */
425 #define DPLL_COUNT                                        1 /** 1 DPLLs available  */
426 #define EMU_PRESENT                                         /** EMU is available in this part */
427 #define EMU_COUNT                                         1 /** 1 EMUs available  */
428 #define ETAMPDET_PRESENT                                    /** ETAMPDET is available in this part */
429 #define ETAMPDET_COUNT                                    1 /** 1 ETAMPDETs available  */
430 #define EUSART_PRESENT                                      /** EUSART is available in this part */
431 #define EUSART_COUNT                                      1 /** 1 EUSARTs available  */
432 #define FSRCO_PRESENT                                       /** FSRCO is available in this part */
433 #define FSRCO_COUNT                                       1 /** 1 FSRCOs available  */
434 #define GPCRC_PRESENT                                       /** GPCRC is available in this part */
435 #define GPCRC_COUNT                                       1 /** 1 GPCRCs available  */
436 #define GPIO_PRESENT                                        /** GPIO is available in this part */
437 #define GPIO_COUNT                                        1 /** 1 GPIOs available  */
438 #define HFRCO_PRESENT                                       /** HFRCO is available in this part */
439 #define HFRCO_COUNT                                       1 /** 1 HFRCOs available  */
440 #define HFXO_PRESENT                                        /** HFXO is available in this part */
441 #define HFXO_COUNT                                        1 /** 1 HFXOs available  */
442 #define I2C_PRESENT                                         /** I2C is available in this part */
443 #define I2C_COUNT                                         2 /** 2 I2Cs available  */
444 #define IADC_PRESENT                                        /** IADC is available in this part */
445 #define IADC_COUNT                                        1 /** 1 IADCs available  */
446 #define ICACHE_PRESENT                                      /** ICACHE is available in this part */
447 #define ICACHE_COUNT                                      1 /** 1 ICACHEs available  */
448 #define LDMA_PRESENT                                        /** LDMA is available in this part */
449 #define LDMA_COUNT                                        1 /** 1 LDMAs available  */
450 #define LDMAXBAR_PRESENT                                    /** LDMAXBAR is available in this part */
451 #define LDMAXBAR_COUNT                                    1 /** 1 LDMAXBARs available  */
452 #define LETIMER_PRESENT                                     /** LETIMER is available in this part */
453 #define LETIMER_COUNT                                     1 /** 1 LETIMERs available  */
454 #define LFRCO_PRESENT                                       /** LFRCO is available in this part */
455 #define LFRCO_COUNT                                       1 /** 1 LFRCOs available  */
456 #define LFXO_PRESENT                                        /** LFXO is available in this part */
457 #define LFXO_COUNT                                        1 /** 1 LFXOs available  */
458 #define MSC_PRESENT                                         /** MSC is available in this part */
459 #define MSC_COUNT                                         1 /** 1 MSCs available  */
460 #define PDM_PRESENT                                         /** PDM is available in this part */
461 #define PDM_COUNT                                         1 /** 1 PDMs available  */
462 #define PRORTC_PRESENT                                      /** PRORTC is available in this part */
463 #define PRORTC_COUNT                                      1 /** 1 PRORTCs available  */
464 #define PRS_PRESENT                                         /** PRS is available in this part */
465 #define PRS_COUNT                                         1 /** 1 PRSs available  */
466 #define RADIOAES_PRESENT                                    /** RADIOAES is available in this part */
467 #define RADIOAES_COUNT                                    1 /** 1 RADIOAESs available  */
468 #define RTCC_PRESENT                                        /** RTCC is available in this part */
469 #define RTCC_COUNT                                        1 /** 1 RTCCs available  */
470 #define SEPUF_PRESENT                                       /** SEPUF is available in this part */
471 #define SEPUF_COUNT                                       1 /** 1 SEPUFs available  */
472 #define SMU_PRESENT                                         /** SMU is available in this part */
473 #define SMU_COUNT                                         1 /** 1 SMUs available  */
474 #define SYSCFG_PRESENT                                      /** SYSCFG is available in this part */
475 #define SYSCFG_COUNT                                      1 /** 1 SYSCFGs available  */
476 #define TIMER_PRESENT                                       /** TIMER is available in this part */
477 #define TIMER_COUNT                                       5 /** 5 TIMERs available  */
478 #define ULFRCO_PRESENT                                      /** ULFRCO is available in this part */
479 #define ULFRCO_COUNT                                      1 /** 1 ULFRCOs available  */
480 #define USART_PRESENT                                       /** USART is available in this part */
481 #define USART_COUNT                                       2 /** 2 USARTs available  */
482 #define WDOG_PRESENT                                        /** WDOG is available in this part */
483 #define WDOG_COUNT                                        1 /** 1 WDOGs available  */
484 #define DEVINFO_PRESENT                                     /** DEVINFO is available in this part */
485 #define DEVINFO_COUNT                                     1 /** 1 DEVINFOs available  */
486 
487 /* Include standard ARM headers for the core */
488 #include "core_cm33.h"        /* Core Header File */
489 #include "system_efr32bg27.h" /* System Header File */
490 
491 /** @} End of group EFR32BG27C230F768IM40_Part */
492 
493 /**************************************************************************//**
494  * @defgroup EFR32BG27C230F768IM40_Peripheral_TypeDefs EFR32BG27C230F768IM40 Peripheral TypeDefs
495  * @{
496  * @brief Device Specific Peripheral Register Structures
497  *****************************************************************************/
498 #include "efr32bg27_emu.h"
499 #include "efr32bg27_cmu.h"
500 #include "efr32bg27_hfxo.h"
501 #include "efr32bg27_hfrco.h"
502 #include "efr32bg27_fsrco.h"
503 #include "efr32bg27_dpll.h"
504 #include "efr32bg27_lfxo.h"
505 #include "efr32bg27_lfrco.h"
506 #include "efr32bg27_ulfrco.h"
507 #include "efr32bg27_msc.h"
508 #include "efr32bg27_icache.h"
509 #include "efr32bg27_prs.h"
510 #include "efr32bg27_gpio.h"
511 #include "efr32bg27_ldma.h"
512 #include "efr32bg27_ldmaxbar.h"
513 #include "efr32bg27_timer.h"
514 #include "efr32bg27_usart.h"
515 #include "efr32bg27_burtc.h"
516 #include "efr32bg27_i2c.h"
517 #include "efr32bg27_syscfg.h"
518 #include "efr32bg27_buram.h"
519 #include "efr32bg27_gpcrc.h"
520 #include "efr32bg27_dcdc.h"
521 #include "efr32bg27_pdm.h"
522 #include "efr32bg27_sepuf.h"
523 #include "efr32bg27_etampdet.h"
524 #include "efr32bg27_aes.h"
525 #include "efr32bg27_smu.h"
526 #include "efr32bg27_rtcc.h"
527 #include "efr32bg27_letimer.h"
528 #include "efr32bg27_iadc.h"
529 #include "efr32bg27_acmp.h"
530 #include "efr32bg27_wdog.h"
531 #include "efr32bg27_eusart.h"
532 #include "efr32bg27_cryptoacc.h"
533 #include "efr32bg27_devinfo.h"
534 
535 /* Custom headers for LDMAXBAR and PRS mappings */
536 #include "efr32bg27_prs_signals.h"
537 #include "efr32bg27_dma_descriptor.h"
538 #include "efr32bg27_ldmaxbar_defines.h"
539 
540 /** @} End of group EFR32BG27C230F768IM40_Peripheral_TypeDefs  */
541 
542 /**************************************************************************//**
543  * @defgroup EFR32BG27C230F768IM40_Peripheral_Base EFR32BG27C230F768IM40 Peripheral Memory Map
544  * @{
545  *****************************************************************************/
546 
547 #define EMU_S_BASE              (0x40004000UL) /* EMU_S base address */
548 #define CMU_S_BASE              (0x40008000UL) /* CMU_S base address */
549 #define HFXO0_S_BASE            (0x4000C000UL) /* HFXO0_S base address */
550 #define HFRCO0_S_BASE           (0x40010000UL) /* HFRCO0_S base address */
551 #define FSRCO_S_BASE            (0x40018000UL) /* FSRCO_S base address */
552 #define DPLL0_S_BASE            (0x4001C000UL) /* DPLL0_S base address */
553 #define LFXO_S_BASE             (0x40020000UL) /* LFXO_S base address */
554 #define LFRCO_S_BASE            (0x40024000UL) /* LFRCO_S base address */
555 #define ULFRCO_S_BASE           (0x40028000UL) /* ULFRCO_S base address */
556 #define MSC_S_BASE              (0x40030000UL) /* MSC_S base address */
557 #define ICACHE0_S_BASE          (0x40034000UL) /* ICACHE0_S base address */
558 #define PRS_S_BASE              (0x40038000UL) /* PRS_S base address */
559 #define GPIO_S_BASE             (0x4003C000UL) /* GPIO_S base address */
560 #define LDMA_S_BASE             (0x40040000UL) /* LDMA_S base address */
561 #define LDMAXBAR_S_BASE         (0x40044000UL) /* LDMAXBAR_S base address */
562 #define TIMER0_S_BASE           (0x40048000UL) /* TIMER0_S base address */
563 #define TIMER1_S_BASE           (0x4004C000UL) /* TIMER1_S base address */
564 #define TIMER2_S_BASE           (0x40050000UL) /* TIMER2_S base address */
565 #define TIMER3_S_BASE           (0x40054000UL) /* TIMER3_S base address */
566 #define TIMER4_S_BASE           (0x40058000UL) /* TIMER4_S base address */
567 #define USART0_S_BASE           (0x4005C000UL) /* USART0_S base address */
568 #define USART1_S_BASE           (0x40060000UL) /* USART1_S base address */
569 #define BURTC_S_BASE            (0x40064000UL) /* BURTC_S base address */
570 #define I2C1_S_BASE             (0x40068000UL) /* I2C1_S base address */
571 #define SYSCFG_S_CFGNS_BASE     (0x40078000UL) /* SYSCFG_S_CFGNS base address */
572 #define SYSCFG_S_BASE           (0x4007C000UL) /* SYSCFG_S base address */
573 #define BURAM_S_BASE            (0x40080000UL) /* BURAM_S base address */
574 #define GPCRC_S_BASE            (0x40088000UL) /* GPCRC_S base address */
575 #define DCDC_S_BASE             (0x40094000UL) /* DCDC_S base address */
576 #define PDM_S_BASE              (0x40098000UL) /* PDM_S base address */
577 #define SEPUF_S_APBCFG_BASE     (0x400A0000UL) /* SEPUF_S_APBCFG base address */
578 #define ETAMPDET_S_BASE         (0x400A4000UL) /* ETAMPDET_S base address */
579 #define RADIOAES_S_BASE         (0x44000000UL) /* RADIOAES_S base address */
580 #define SMU_S_BASE              (0x44008000UL) /* SMU_S base address */
581 #define SMU_S_CFGNS_BASE        (0x4400C000UL) /* SMU_S_CFGNS base address */
582 #define RTCC_S_BASE             (0x48000000UL) /* RTCC_S base address */
583 #define LETIMER0_S_BASE         (0x4A000000UL) /* LETIMER0_S base address */
584 #define IADC0_S_BASE            (0x4A004000UL) /* IADC0_S base address */
585 #define ACMP0_S_BASE            (0x4A008000UL) /* ACMP0_S base address */
586 #define I2C0_S_BASE             (0x4A010000UL) /* I2C0_S base address */
587 #define WDOG0_S_BASE            (0x4A018000UL) /* WDOG0_S base address */
588 #define EUSART0_S_BASE          (0x4A040000UL) /* EUSART0_S base address */
589 #define CRYPTOACC_S_BASE        (0x4C020000UL) /* CRYPTOACC_S base address */
590 #define PRORTC_S_BASE           (0xA8000000UL) /* PRORTC_S base address */
591 #define EMU_NS_BASE             (0x50004000UL) /* EMU_NS base address */
592 #define CMU_NS_BASE             (0x50008000UL) /* CMU_NS base address */
593 #define HFXO0_NS_BASE           (0x5000C000UL) /* HFXO0_NS base address */
594 #define HFRCO0_NS_BASE          (0x50010000UL) /* HFRCO0_NS base address */
595 #define FSRCO_NS_BASE           (0x50018000UL) /* FSRCO_NS base address */
596 #define DPLL0_NS_BASE           (0x5001C000UL) /* DPLL0_NS base address */
597 #define LFXO_NS_BASE            (0x50020000UL) /* LFXO_NS base address */
598 #define LFRCO_NS_BASE           (0x50024000UL) /* LFRCO_NS base address */
599 #define ULFRCO_NS_BASE          (0x50028000UL) /* ULFRCO_NS base address */
600 #define MSC_NS_BASE             (0x50030000UL) /* MSC_NS base address */
601 #define ICACHE0_NS_BASE         (0x50034000UL) /* ICACHE0_NS base address */
602 #define PRS_NS_BASE             (0x50038000UL) /* PRS_NS base address */
603 #define GPIO_NS_BASE            (0x5003C000UL) /* GPIO_NS base address */
604 #define LDMA_NS_BASE            (0x50040000UL) /* LDMA_NS base address */
605 #define LDMAXBAR_NS_BASE        (0x50044000UL) /* LDMAXBAR_NS base address */
606 #define TIMER0_NS_BASE          (0x50048000UL) /* TIMER0_NS base address */
607 #define TIMER1_NS_BASE          (0x5004C000UL) /* TIMER1_NS base address */
608 #define TIMER2_NS_BASE          (0x50050000UL) /* TIMER2_NS base address */
609 #define TIMER3_NS_BASE          (0x50054000UL) /* TIMER3_NS base address */
610 #define TIMER4_NS_BASE          (0x50058000UL) /* TIMER4_NS base address */
611 #define USART0_NS_BASE          (0x5005C000UL) /* USART0_NS base address */
612 #define USART1_NS_BASE          (0x50060000UL) /* USART1_NS base address */
613 #define BURTC_NS_BASE           (0x50064000UL) /* BURTC_NS base address */
614 #define I2C1_NS_BASE            (0x50068000UL) /* I2C1_NS base address */
615 #define SYSCFG_NS_CFGNS_BASE    (0x50078000UL) /* SYSCFG_NS_CFGNS base address */
616 #define SYSCFG_NS_BASE          (0x5007C000UL) /* SYSCFG_NS base address */
617 #define BURAM_NS_BASE           (0x50080000UL) /* BURAM_NS base address */
618 #define GPCRC_NS_BASE           (0x50088000UL) /* GPCRC_NS base address */
619 #define DCDC_NS_BASE            (0x50094000UL) /* DCDC_NS base address */
620 #define PDM_NS_BASE             (0x50098000UL) /* PDM_NS base address */
621 #define SEPUF_NS_APBCFG_BASE    (0x500A0000UL) /* SEPUF_NS_APBCFG base address */
622 #define ETAMPDET_NS_BASE        (0x500A4000UL) /* ETAMPDET_NS base address */
623 #define RADIOAES_NS_BASE        (0x54000000UL) /* RADIOAES_NS base address */
624 #define SMU_NS_BASE             (0x54008000UL) /* SMU_NS base address */
625 #define SMU_NS_CFGNS_BASE       (0x5400C000UL) /* SMU_NS_CFGNS base address */
626 #define RTCC_NS_BASE            (0x58000000UL) /* RTCC_NS base address */
627 #define LETIMER0_NS_BASE        (0x5A000000UL) /* LETIMER0_NS base address */
628 #define IADC0_NS_BASE           (0x5A004000UL) /* IADC0_NS base address */
629 #define ACMP0_NS_BASE           (0x5A008000UL) /* ACMP0_NS base address */
630 #define I2C0_NS_BASE            (0x5A010000UL) /* I2C0_NS base address */
631 #define WDOG0_NS_BASE           (0x5A018000UL) /* WDOG0_NS base address */
632 #define EUSART0_NS_BASE         (0x5A040000UL) /* EUSART0_NS base address */
633 #define CRYPTOACC_NS_BASE       (0x5C020000UL) /* CRYPTOACC_NS base address */
634 #define PRORTC_NS_BASE          (0xB8000000UL) /* PRORTC_NS base address */
635 
636 #if defined(SL_COMPONENT_CATALOG_PRESENT)
637 #include "sl_component_catalog.h"
638 
639 #endif
640 #if defined(SL_CATALOG_TRUSTZONE_SECURE_CONFIG_PRESENT)
641 #include "sl_trustzone_secure_config.h"
642 
643 #endif
644 
645 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_EMU_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_EMU_S) && (SL_TRUSTZONE_PERIPHERAL_EMU_S != 0)))
646 #define EMU_BASE             (EMU_S_BASE)                    /* EMU base address */
647 #else
648 #define EMU_BASE             (EMU_NS_BASE)                   /* EMU base address */
649 #endif /* SL_TRUSTZONE_PERIPHERAL_EMU_S */
650 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_CMU_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_CMU_S) && (SL_TRUSTZONE_PERIPHERAL_CMU_S != 0)))
651 #define CMU_BASE             (CMU_S_BASE)                    /* CMU base address */
652 #else
653 #define CMU_BASE             (CMU_NS_BASE)                   /* CMU base address */
654 #endif /* SL_TRUSTZONE_PERIPHERAL_CMU_S */
655 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_HFXO0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_HFXO0_S) && (SL_TRUSTZONE_PERIPHERAL_HFXO0_S != 0)))
656 #define HFXO0_BASE           (HFXO0_S_BASE)                  /* HFXO0 base address */
657 #else
658 #define HFXO0_BASE           (HFXO0_NS_BASE)                 /* HFXO0 base address */
659 #endif /* SL_TRUSTZONE_PERIPHERAL_HFXO0_S */
660 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_HFRCO0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_HFRCO0_S) && (SL_TRUSTZONE_PERIPHERAL_HFRCO0_S != 0)))
661 #define HFRCO0_BASE          (HFRCO0_S_BASE)                 /* HFRCO0 base address */
662 #else
663 #define HFRCO0_BASE          (HFRCO0_NS_BASE)                /* HFRCO0 base address */
664 #endif /* SL_TRUSTZONE_PERIPHERAL_HFRCO0_S */
665 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_FSRCO_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_FSRCO_S) && (SL_TRUSTZONE_PERIPHERAL_FSRCO_S != 0)))
666 #define FSRCO_BASE           (FSRCO_S_BASE)                  /* FSRCO base address */
667 #else
668 #define FSRCO_BASE           (FSRCO_NS_BASE)                 /* FSRCO base address */
669 #endif /* SL_TRUSTZONE_PERIPHERAL_FSRCO_S */
670 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_DPLL0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_DPLL0_S) && (SL_TRUSTZONE_PERIPHERAL_DPLL0_S != 0)))
671 #define DPLL0_BASE           (DPLL0_S_BASE)                  /* DPLL0 base address */
672 #else
673 #define DPLL0_BASE           (DPLL0_NS_BASE)                 /* DPLL0 base address */
674 #endif /* SL_TRUSTZONE_PERIPHERAL_DPLL0_S */
675 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_LFXO_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_LFXO_S) && (SL_TRUSTZONE_PERIPHERAL_LFXO_S != 0)))
676 #define LFXO_BASE            (LFXO_S_BASE)                   /* LFXO base address */
677 #else
678 #define LFXO_BASE            (LFXO_NS_BASE)                  /* LFXO base address */
679 #endif /* SL_TRUSTZONE_PERIPHERAL_LFXO_S */
680 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_LFRCO_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_LFRCO_S) && (SL_TRUSTZONE_PERIPHERAL_LFRCO_S != 0)))
681 #define LFRCO_BASE           (LFRCO_S_BASE)                  /* LFRCO base address */
682 #else
683 #define LFRCO_BASE           (LFRCO_NS_BASE)                 /* LFRCO base address */
684 #endif /* SL_TRUSTZONE_PERIPHERAL_LFRCO_S */
685 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_ULFRCO_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_ULFRCO_S) && (SL_TRUSTZONE_PERIPHERAL_ULFRCO_S != 0)))
686 #define ULFRCO_BASE          (ULFRCO_S_BASE)                 /* ULFRCO base address */
687 #else
688 #define ULFRCO_BASE          (ULFRCO_NS_BASE)                /* ULFRCO base address */
689 #endif /* SL_TRUSTZONE_PERIPHERAL_ULFRCO_S */
690 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_MSC_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_MSC_S) && (SL_TRUSTZONE_PERIPHERAL_MSC_S != 0)))
691 #define MSC_BASE             (MSC_S_BASE)                    /* MSC base address */
692 #else
693 #define MSC_BASE             (MSC_NS_BASE)                   /* MSC base address */
694 #endif /* SL_TRUSTZONE_PERIPHERAL_MSC_S */
695 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_ICACHE0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_ICACHE0_S) && (SL_TRUSTZONE_PERIPHERAL_ICACHE0_S != 0)))
696 #define ICACHE0_BASE         (ICACHE0_S_BASE)                /* ICACHE0 base address */
697 #else
698 #define ICACHE0_BASE         (ICACHE0_NS_BASE)               /* ICACHE0 base address */
699 #endif /* SL_TRUSTZONE_PERIPHERAL_ICACHE0_S */
700 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_PRS_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_PRS_S) && (SL_TRUSTZONE_PERIPHERAL_PRS_S != 0)))
701 #define PRS_BASE             (PRS_S_BASE)                    /* PRS base address */
702 #else
703 #define PRS_BASE             (PRS_NS_BASE)                   /* PRS base address */
704 #endif /* SL_TRUSTZONE_PERIPHERAL_PRS_S */
705 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_GPIO_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_GPIO_S) && (SL_TRUSTZONE_PERIPHERAL_GPIO_S != 0)))
706 #define GPIO_BASE            (GPIO_S_BASE)                   /* GPIO base address */
707 #else
708 #define GPIO_BASE            (GPIO_NS_BASE)                  /* GPIO base address */
709 #endif /* SL_TRUSTZONE_PERIPHERAL_GPIO_S */
710 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_LDMA_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_LDMA_S) && (SL_TRUSTZONE_PERIPHERAL_LDMA_S != 0)))
711 #define LDMA_BASE            (LDMA_S_BASE)                   /* LDMA base address */
712 #else
713 #define LDMA_BASE            (LDMA_NS_BASE)                  /* LDMA base address */
714 #endif /* SL_TRUSTZONE_PERIPHERAL_LDMA_S */
715 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_LDMAXBAR_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_LDMAXBAR_S) && (SL_TRUSTZONE_PERIPHERAL_LDMAXBAR_S != 0)))
716 #define LDMAXBAR_BASE        (LDMAXBAR_S_BASE)               /* LDMAXBAR base address */
717 #else
718 #define LDMAXBAR_BASE        (LDMAXBAR_NS_BASE)              /* LDMAXBAR base address */
719 #endif /* SL_TRUSTZONE_PERIPHERAL_LDMAXBAR_S */
720 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_TIMER0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_TIMER0_S) && (SL_TRUSTZONE_PERIPHERAL_TIMER0_S != 0)))
721 #define TIMER0_BASE          (TIMER0_S_BASE)                 /* TIMER0 base address */
722 #else
723 #define TIMER0_BASE          (TIMER0_NS_BASE)                /* TIMER0 base address */
724 #endif /* SL_TRUSTZONE_PERIPHERAL_TIMER0_S */
725 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_TIMER1_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_TIMER1_S) && (SL_TRUSTZONE_PERIPHERAL_TIMER1_S != 0)))
726 #define TIMER1_BASE          (TIMER1_S_BASE)                 /* TIMER1 base address */
727 #else
728 #define TIMER1_BASE          (TIMER1_NS_BASE)                /* TIMER1 base address */
729 #endif /* SL_TRUSTZONE_PERIPHERAL_TIMER1_S */
730 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_TIMER2_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_TIMER2_S) && (SL_TRUSTZONE_PERIPHERAL_TIMER2_S != 0)))
731 #define TIMER2_BASE          (TIMER2_S_BASE)                 /* TIMER2 base address */
732 #else
733 #define TIMER2_BASE          (TIMER2_NS_BASE)                /* TIMER2 base address */
734 #endif /* SL_TRUSTZONE_PERIPHERAL_TIMER2_S */
735 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_TIMER3_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_TIMER3_S) && (SL_TRUSTZONE_PERIPHERAL_TIMER3_S != 0)))
736 #define TIMER3_BASE          (TIMER3_S_BASE)                 /* TIMER3 base address */
737 #else
738 #define TIMER3_BASE          (TIMER3_NS_BASE)                /* TIMER3 base address */
739 #endif /* SL_TRUSTZONE_PERIPHERAL_TIMER3_S */
740 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_TIMER4_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_TIMER4_S) && (SL_TRUSTZONE_PERIPHERAL_TIMER4_S != 0)))
741 #define TIMER4_BASE          (TIMER4_S_BASE)                 /* TIMER4 base address */
742 #else
743 #define TIMER4_BASE          (TIMER4_NS_BASE)                /* TIMER4 base address */
744 #endif /* SL_TRUSTZONE_PERIPHERAL_TIMER4_S */
745 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_USART0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_USART0_S) && (SL_TRUSTZONE_PERIPHERAL_USART0_S != 0)))
746 #define USART0_BASE          (USART0_S_BASE)                 /* USART0 base address */
747 #else
748 #define USART0_BASE          (USART0_NS_BASE)                /* USART0 base address */
749 #endif /* SL_TRUSTZONE_PERIPHERAL_USART0_S */
750 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_USART1_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_USART1_S) && (SL_TRUSTZONE_PERIPHERAL_USART1_S != 0)))
751 #define USART1_BASE          (USART1_S_BASE)                 /* USART1 base address */
752 #else
753 #define USART1_BASE          (USART1_NS_BASE)                /* USART1 base address */
754 #endif /* SL_TRUSTZONE_PERIPHERAL_USART1_S */
755 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_BURTC_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_BURTC_S) && (SL_TRUSTZONE_PERIPHERAL_BURTC_S != 0)))
756 #define BURTC_BASE           (BURTC_S_BASE)                  /* BURTC base address */
757 #else
758 #define BURTC_BASE           (BURTC_NS_BASE)                 /* BURTC base address */
759 #endif /* SL_TRUSTZONE_PERIPHERAL_BURTC_S */
760 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_I2C1_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_I2C1_S) && (SL_TRUSTZONE_PERIPHERAL_I2C1_S != 0)))
761 #define I2C1_BASE            (I2C1_S_BASE)                   /* I2C1 base address */
762 #else
763 #define I2C1_BASE            (I2C1_NS_BASE)                  /* I2C1 base address */
764 #endif /* SL_TRUSTZONE_PERIPHERAL_I2C1_S */
765 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_SYSCFG_CFGNS_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_SYSCFG_CFGNS_S) && (SL_TRUSTZONE_PERIPHERAL_SYSCFG_CFGNS_S != 0)))
766 #define SYSCFG_CFGNS_BASE    (SYSCFG_S_CFGNS_BASE)           /* SYSCFG_CFGNS base address */
767 #else
768 #define SYSCFG_CFGNS_BASE    (SYSCFG_NS_CFGNS_BASE)          /* SYSCFG_CFGNS base address */
769 #endif /* SL_TRUSTZONE_PERIPHERAL_SYSCFG_CFGNS_S */
770 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_SYSCFG_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_SYSCFG_S) && (SL_TRUSTZONE_PERIPHERAL_SYSCFG_S != 0)))
771 #define SYSCFG_BASE          (SYSCFG_S_BASE)                 /* SYSCFG base address */
772 #else
773 #define SYSCFG_BASE          (SYSCFG_NS_BASE)                /* SYSCFG base address */
774 #endif /* SL_TRUSTZONE_PERIPHERAL_SYSCFG_S */
775 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_BURAM_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_BURAM_S) && (SL_TRUSTZONE_PERIPHERAL_BURAM_S != 0)))
776 #define BURAM_BASE           (BURAM_S_BASE)                  /* BURAM base address */
777 #else
778 #define BURAM_BASE           (BURAM_NS_BASE)                 /* BURAM base address */
779 #endif /* SL_TRUSTZONE_PERIPHERAL_BURAM_S */
780 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_GPCRC_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_GPCRC_S) && (SL_TRUSTZONE_PERIPHERAL_GPCRC_S != 0)))
781 #define GPCRC_BASE           (GPCRC_S_BASE)                  /* GPCRC base address */
782 #else
783 #define GPCRC_BASE           (GPCRC_NS_BASE)                 /* GPCRC base address */
784 #endif /* SL_TRUSTZONE_PERIPHERAL_GPCRC_S */
785 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_DCDC_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_DCDC_S) && (SL_TRUSTZONE_PERIPHERAL_DCDC_S != 0)))
786 #define DCDC_BASE            (DCDC_S_BASE)                   /* DCDC base address */
787 #else
788 #define DCDC_BASE            (DCDC_NS_BASE)                  /* DCDC base address */
789 #endif /* SL_TRUSTZONE_PERIPHERAL_DCDC_S */
790 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_PDM_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_PDM_S) && (SL_TRUSTZONE_PERIPHERAL_PDM_S != 0)))
791 #define PDM_BASE             (PDM_S_BASE)                    /* PDM base address */
792 #else
793 #define PDM_BASE             (PDM_NS_BASE)                   /* PDM base address */
794 #endif /* SL_TRUSTZONE_PERIPHERAL_PDM_S */
795 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_SEPUF_APBCFG_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_SEPUF_APBCFG_S) && (SL_TRUSTZONE_PERIPHERAL_SEPUF_APBCFG_S != 0)))
796 #define SEPUF_APBCFG_BASE    (SEPUF_S_APBCFG_BASE)           /* SEPUF_APBCFG base address */
797 #else
798 #define SEPUF_APBCFG_BASE    (SEPUF_NS_APBCFG_BASE)          /* SEPUF_APBCFG base address */
799 #endif /* SL_TRUSTZONE_PERIPHERAL_SEPUF_APBCFG_S */
800 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_ETAMPDET_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_ETAMPDET_S) && (SL_TRUSTZONE_PERIPHERAL_ETAMPDET_S != 0)))
801 #define ETAMPDET_BASE        (ETAMPDET_S_BASE)               /* ETAMPDET base address */
802 #else
803 #define ETAMPDET_BASE        (ETAMPDET_NS_BASE)              /* ETAMPDET base address */
804 #endif /* SL_TRUSTZONE_PERIPHERAL_ETAMPDET_S */
805 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_RADIOAES_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_RADIOAES_S) && (SL_TRUSTZONE_PERIPHERAL_RADIOAES_S != 0)))
806 #define RADIOAES_BASE        (RADIOAES_S_BASE)               /* RADIOAES base address */
807 #else
808 #define RADIOAES_BASE        (RADIOAES_NS_BASE)              /* RADIOAES base address */
809 #endif /* SL_TRUSTZONE_PERIPHERAL_RADIOAES_S */
810 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_SMU_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_SMU_S) && (SL_TRUSTZONE_PERIPHERAL_SMU_S != 0)))
811 #define SMU_BASE             (SMU_S_BASE)                    /* SMU base address */
812 #else
813 #define SMU_BASE             (SMU_S_BASE)                    /* SMU base address */
814 #endif /* SL_TRUSTZONE_PERIPHERAL_SMU_S */
815 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_SMU_CFGNS_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_SMU_CFGNS_S) && (SL_TRUSTZONE_PERIPHERAL_SMU_CFGNS_S != 0)))
816 #define SMU_CFGNS_BASE       (SMU_S_CFGNS_BASE)              /* SMU_CFGNS base address */
817 #else
818 #define SMU_CFGNS_BASE       (SMU_NS_CFGNS_BASE)             /* SMU_CFGNS base address */
819 #endif /* SL_TRUSTZONE_PERIPHERAL_SMU_CFGNS_S */
820 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_RTCC_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_RTCC_S) && (SL_TRUSTZONE_PERIPHERAL_RTCC_S != 0)))
821 #define RTCC_BASE            (RTCC_S_BASE)                   /* RTCC base address */
822 #else
823 #define RTCC_BASE            (RTCC_NS_BASE)                  /* RTCC base address */
824 #endif /* SL_TRUSTZONE_PERIPHERAL_RTCC_S */
825 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_LETIMER0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_LETIMER0_S) && (SL_TRUSTZONE_PERIPHERAL_LETIMER0_S != 0)))
826 #define LETIMER0_BASE        (LETIMER0_S_BASE)               /* LETIMER0 base address */
827 #else
828 #define LETIMER0_BASE        (LETIMER0_NS_BASE)              /* LETIMER0 base address */
829 #endif /* SL_TRUSTZONE_PERIPHERAL_LETIMER0_S */
830 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_IADC0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_IADC0_S) && (SL_TRUSTZONE_PERIPHERAL_IADC0_S != 0)))
831 #define IADC0_BASE           (IADC0_S_BASE)                  /* IADC0 base address */
832 #else
833 #define IADC0_BASE           (IADC0_NS_BASE)                 /* IADC0 base address */
834 #endif /* SL_TRUSTZONE_PERIPHERAL_IADC0_S */
835 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_ACMP0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_ACMP0_S) && (SL_TRUSTZONE_PERIPHERAL_ACMP0_S != 0)))
836 #define ACMP0_BASE           (ACMP0_S_BASE)                  /* ACMP0 base address */
837 #else
838 #define ACMP0_BASE           (ACMP0_NS_BASE)                 /* ACMP0 base address */
839 #endif /* SL_TRUSTZONE_PERIPHERAL_ACMP0_S */
840 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_I2C0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_I2C0_S) && (SL_TRUSTZONE_PERIPHERAL_I2C0_S != 0)))
841 #define I2C0_BASE            (I2C0_S_BASE)                   /* I2C0 base address */
842 #else
843 #define I2C0_BASE            (I2C0_NS_BASE)                  /* I2C0 base address */
844 #endif /* SL_TRUSTZONE_PERIPHERAL_I2C0_S */
845 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_WDOG0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_WDOG0_S) && (SL_TRUSTZONE_PERIPHERAL_WDOG0_S != 0)))
846 #define WDOG0_BASE           (WDOG0_S_BASE)                  /* WDOG0 base address */
847 #else
848 #define WDOG0_BASE           (WDOG0_NS_BASE)                 /* WDOG0 base address */
849 #endif /* SL_TRUSTZONE_PERIPHERAL_WDOG0_S */
850 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_EUSART0_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_EUSART0_S) && (SL_TRUSTZONE_PERIPHERAL_EUSART0_S != 0)))
851 #define EUSART0_BASE         (EUSART0_S_BASE)                /* EUSART0 base address */
852 #else
853 #define EUSART0_BASE         (EUSART0_NS_BASE)               /* EUSART0 base address */
854 #endif /* SL_TRUSTZONE_PERIPHERAL_EUSART0_S */
855 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_CRYPTOACC_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_CRYPTOACC_S) && (SL_TRUSTZONE_PERIPHERAL_CRYPTOACC_S != 0)))
856 #define CRYPTOACC_BASE       (CRYPTOACC_S_BASE)              /* CRYPTOACC base address */
857 #else
858 #define CRYPTOACC_BASE       (CRYPTOACC_NS_BASE)             /* CRYPTOACC base address */
859 #endif /* SL_TRUSTZONE_PERIPHERAL_CRYPTOACC_S */
860 #if ((defined(SL_TRUSTZONE_SECURE) && !defined(SL_TRUSTZONE_PERIPHERAL_PRORTC_S)) || (defined(SL_TRUSTZONE_PERIPHERAL_PRORTC_S) && (SL_TRUSTZONE_PERIPHERAL_PRORTC_S != 0)))
861 #define PRORTC_BASE          (PRORTC_S_BASE)                 /* PRORTC base address */
862 #else
863 #define PRORTC_BASE          (PRORTC_NS_BASE)                /* PRORTC base address */
864 #endif /* SL_TRUSTZONE_PERIPHERAL_PRORTC_S */
865 
866 #define DEVINFO_BASE         (0x0FE08000UL)   /* DEVINFO base address */
867 /** @} End of group EFR32BG27C230F768IM40_Peripheral_Base */
868 
869 /**************************************************************************//**
870  * @defgroup EFR32BG27C230F768IM40_Peripheral_Declaration EFR32BG27C230F768IM40 Peripheral Declarations Map
871  * @{
872  *****************************************************************************/
873 
874 #define EMU_S              ((EMU_TypeDef *) EMU_S_BASE)                       /**< EMU_S base pointer */
875 #define CMU_S              ((CMU_TypeDef *) CMU_S_BASE)                       /**< CMU_S base pointer */
876 #define HFXO0_S            ((HFXO_TypeDef *) HFXO0_S_BASE)                    /**< HFXO0_S base pointer */
877 #define HFRCO0_S           ((HFRCO_TypeDef *) HFRCO0_S_BASE)                  /**< HFRCO0_S base pointer */
878 #define FSRCO_S            ((FSRCO_TypeDef *) FSRCO_S_BASE)                   /**< FSRCO_S base pointer */
879 #define DPLL0_S            ((DPLL_TypeDef *) DPLL0_S_BASE)                    /**< DPLL0_S base pointer */
880 #define LFXO_S             ((LFXO_TypeDef *) LFXO_S_BASE)                     /**< LFXO_S base pointer */
881 #define LFRCO_S            ((LFRCO_TypeDef *) LFRCO_S_BASE)                   /**< LFRCO_S base pointer */
882 #define ULFRCO_S           ((ULFRCO_TypeDef *) ULFRCO_S_BASE)                 /**< ULFRCO_S base pointer */
883 #define MSC_S              ((MSC_TypeDef *) MSC_S_BASE)                       /**< MSC_S base pointer */
884 #define ICACHE0_S          ((ICACHE_TypeDef *) ICACHE0_S_BASE)                /**< ICACHE0_S base pointer */
885 #define PRS_S              ((PRS_TypeDef *) PRS_S_BASE)                       /**< PRS_S base pointer */
886 #define GPIO_S             ((GPIO_TypeDef *) GPIO_S_BASE)                     /**< GPIO_S base pointer */
887 #define LDMA_S             ((LDMA_TypeDef *) LDMA_S_BASE)                     /**< LDMA_S base pointer */
888 #define LDMAXBAR_S         ((LDMAXBAR_TypeDef *) LDMAXBAR_S_BASE)             /**< LDMAXBAR_S base pointer */
889 #define TIMER0_S           ((TIMER_TypeDef *) TIMER0_S_BASE)                  /**< TIMER0_S base pointer */
890 #define TIMER1_S           ((TIMER_TypeDef *) TIMER1_S_BASE)                  /**< TIMER1_S base pointer */
891 #define TIMER2_S           ((TIMER_TypeDef *) TIMER2_S_BASE)                  /**< TIMER2_S base pointer */
892 #define TIMER3_S           ((TIMER_TypeDef *) TIMER3_S_BASE)                  /**< TIMER3_S base pointer */
893 #define TIMER4_S           ((TIMER_TypeDef *) TIMER4_S_BASE)                  /**< TIMER4_S base pointer */
894 #define USART0_S           ((USART_TypeDef *) USART0_S_BASE)                  /**< USART0_S base pointer */
895 #define USART1_S           ((USART_TypeDef *) USART1_S_BASE)                  /**< USART1_S base pointer */
896 #define BURTC_S            ((BURTC_TypeDef *) BURTC_S_BASE)                   /**< BURTC_S base pointer */
897 #define I2C1_S             ((I2C_TypeDef *) I2C1_S_BASE)                      /**< I2C1_S base pointer */
898 #define SYSCFG_S_CFGNS     ((SYSCFG_CFGNS_TypeDef *) SYSCFG_S_CFGNS_BASE)     /**< SYSCFG_S_CFGNS base pointer */
899 #define SYSCFG_S           ((SYSCFG_TypeDef *) SYSCFG_S_BASE)                 /**< SYSCFG_S base pointer */
900 #define BURAM_S            ((BURAM_TypeDef *) BURAM_S_BASE)                   /**< BURAM_S base pointer */
901 #define GPCRC_S            ((GPCRC_TypeDef *) GPCRC_S_BASE)                   /**< GPCRC_S base pointer */
902 #define DCDC_S             ((DCDC_TypeDef *) DCDC_S_BASE)                     /**< DCDC_S base pointer */
903 #define PDM_S              ((PDM_TypeDef *) PDM_S_BASE)                       /**< PDM_S base pointer */
904 #define SEPUF_S_APBCFG     ((SEPUF_APBCFG_TypeDef *) SEPUF_S_APBCFG_BASE)     /**< SEPUF_S_APBCFG base pointer */
905 #define ETAMPDET_S         ((ETAMPDET_TypeDef *) ETAMPDET_S_BASE)             /**< ETAMPDET_S base pointer */
906 #define RADIOAES_S         ((AES_TypeDef *) RADIOAES_S_BASE)                  /**< RADIOAES_S base pointer */
907 #define SMU_S              ((SMU_TypeDef *) SMU_S_BASE)                       /**< SMU_S base pointer */
908 #define SMU_S_CFGNS        ((SMU_CFGNS_TypeDef *) SMU_S_CFGNS_BASE)           /**< SMU_S_CFGNS base pointer */
909 #define RTCC_S             ((RTCC_TypeDef *) RTCC_S_BASE)                     /**< RTCC_S base pointer */
910 #define LETIMER0_S         ((LETIMER_TypeDef *) LETIMER0_S_BASE)              /**< LETIMER0_S base pointer */
911 #define IADC0_S            ((IADC_TypeDef *) IADC0_S_BASE)                    /**< IADC0_S base pointer */
912 #define ACMP0_S            ((ACMP_TypeDef *) ACMP0_S_BASE)                    /**< ACMP0_S base pointer */
913 #define I2C0_S             ((I2C_TypeDef *) I2C0_S_BASE)                      /**< I2C0_S base pointer */
914 #define WDOG0_S            ((WDOG_TypeDef *) WDOG0_S_BASE)                    /**< WDOG0_S base pointer */
915 #define EUSART0_S          ((EUSART_TypeDef *) EUSART0_S_BASE)                /**< EUSART0_S base pointer */
916 #define CRYPTOACC_S        ((CRYPTOACC_TypeDef *) CRYPTOACC_S_BASE)           /**< CRYPTOACC_S base pointer */
917 #define PRORTC_S           ((RTCC_TypeDef *) PRORTC_S_BASE)                   /**< PRORTC_S base pointer */
918 #define EMU_NS             ((EMU_TypeDef *) EMU_NS_BASE)                      /**< EMU_NS base pointer */
919 #define CMU_NS             ((CMU_TypeDef *) CMU_NS_BASE)                      /**< CMU_NS base pointer */
920 #define HFXO0_NS           ((HFXO_TypeDef *) HFXO0_NS_BASE)                   /**< HFXO0_NS base pointer */
921 #define HFRCO0_NS          ((HFRCO_TypeDef *) HFRCO0_NS_BASE)                 /**< HFRCO0_NS base pointer */
922 #define FSRCO_NS           ((FSRCO_TypeDef *) FSRCO_NS_BASE)                  /**< FSRCO_NS base pointer */
923 #define DPLL0_NS           ((DPLL_TypeDef *) DPLL0_NS_BASE)                   /**< DPLL0_NS base pointer */
924 #define LFXO_NS            ((LFXO_TypeDef *) LFXO_NS_BASE)                    /**< LFXO_NS base pointer */
925 #define LFRCO_NS           ((LFRCO_TypeDef *) LFRCO_NS_BASE)                  /**< LFRCO_NS base pointer */
926 #define ULFRCO_NS          ((ULFRCO_TypeDef *) ULFRCO_NS_BASE)                /**< ULFRCO_NS base pointer */
927 #define MSC_NS             ((MSC_TypeDef *) MSC_NS_BASE)                      /**< MSC_NS base pointer */
928 #define ICACHE0_NS         ((ICACHE_TypeDef *) ICACHE0_NS_BASE)               /**< ICACHE0_NS base pointer */
929 #define PRS_NS             ((PRS_TypeDef *) PRS_NS_BASE)                      /**< PRS_NS base pointer */
930 #define GPIO_NS            ((GPIO_TypeDef *) GPIO_NS_BASE)                    /**< GPIO_NS base pointer */
931 #define LDMA_NS            ((LDMA_TypeDef *) LDMA_NS_BASE)                    /**< LDMA_NS base pointer */
932 #define LDMAXBAR_NS        ((LDMAXBAR_TypeDef *) LDMAXBAR_NS_BASE)            /**< LDMAXBAR_NS base pointer */
933 #define TIMER0_NS          ((TIMER_TypeDef *) TIMER0_NS_BASE)                 /**< TIMER0_NS base pointer */
934 #define TIMER1_NS          ((TIMER_TypeDef *) TIMER1_NS_BASE)                 /**< TIMER1_NS base pointer */
935 #define TIMER2_NS          ((TIMER_TypeDef *) TIMER2_NS_BASE)                 /**< TIMER2_NS base pointer */
936 #define TIMER3_NS          ((TIMER_TypeDef *) TIMER3_NS_BASE)                 /**< TIMER3_NS base pointer */
937 #define TIMER4_NS          ((TIMER_TypeDef *) TIMER4_NS_BASE)                 /**< TIMER4_NS base pointer */
938 #define USART0_NS          ((USART_TypeDef *) USART0_NS_BASE)                 /**< USART0_NS base pointer */
939 #define USART1_NS          ((USART_TypeDef *) USART1_NS_BASE)                 /**< USART1_NS base pointer */
940 #define BURTC_NS           ((BURTC_TypeDef *) BURTC_NS_BASE)                  /**< BURTC_NS base pointer */
941 #define I2C1_NS            ((I2C_TypeDef *) I2C1_NS_BASE)                     /**< I2C1_NS base pointer */
942 #define SYSCFG_NS_CFGNS    ((SYSCFG_CFGNS_TypeDef *) SYSCFG_NS_CFGNS_BASE)    /**< SYSCFG_NS_CFGNS base pointer */
943 #define SYSCFG_NS          ((SYSCFG_TypeDef *) SYSCFG_NS_BASE)                /**< SYSCFG_NS base pointer */
944 #define BURAM_NS           ((BURAM_TypeDef *) BURAM_NS_BASE)                  /**< BURAM_NS base pointer */
945 #define GPCRC_NS           ((GPCRC_TypeDef *) GPCRC_NS_BASE)                  /**< GPCRC_NS base pointer */
946 #define DCDC_NS            ((DCDC_TypeDef *) DCDC_NS_BASE)                    /**< DCDC_NS base pointer */
947 #define PDM_NS             ((PDM_TypeDef *) PDM_NS_BASE)                      /**< PDM_NS base pointer */
948 #define SEPUF_NS_APBCFG    ((SEPUF_APBCFG_TypeDef *) SEPUF_NS_APBCFG_BASE)    /**< SEPUF_NS_APBCFG base pointer */
949 #define ETAMPDET_NS        ((ETAMPDET_TypeDef *) ETAMPDET_NS_BASE)            /**< ETAMPDET_NS base pointer */
950 #define RADIOAES_NS        ((AES_TypeDef *) RADIOAES_NS_BASE)                 /**< RADIOAES_NS base pointer */
951 #define SMU_NS             ((SMU_TypeDef *) SMU_NS_BASE)                      /**< SMU_NS base pointer */
952 #define SMU_NS_CFGNS       ((SMU_CFGNS_TypeDef *) SMU_NS_CFGNS_BASE)          /**< SMU_NS_CFGNS base pointer */
953 #define RTCC_NS            ((RTCC_TypeDef *) RTCC_NS_BASE)                    /**< RTCC_NS base pointer */
954 #define LETIMER0_NS        ((LETIMER_TypeDef *) LETIMER0_NS_BASE)             /**< LETIMER0_NS base pointer */
955 #define IADC0_NS           ((IADC_TypeDef *) IADC0_NS_BASE)                   /**< IADC0_NS base pointer */
956 #define ACMP0_NS           ((ACMP_TypeDef *) ACMP0_NS_BASE)                   /**< ACMP0_NS base pointer */
957 #define I2C0_NS            ((I2C_TypeDef *) I2C0_NS_BASE)                     /**< I2C0_NS base pointer */
958 #define WDOG0_NS           ((WDOG_TypeDef *) WDOG0_NS_BASE)                   /**< WDOG0_NS base pointer */
959 #define EUSART0_NS         ((EUSART_TypeDef *) EUSART0_NS_BASE)               /**< EUSART0_NS base pointer */
960 #define CRYPTOACC_NS       ((CRYPTOACC_TypeDef *) CRYPTOACC_NS_BASE)          /**< CRYPTOACC_NS base pointer */
961 #define PRORTC_NS          ((RTCC_TypeDef *) PRORTC_NS_BASE)                  /**< PRORTC_NS base pointer */
962 #define EMU                ((EMU_TypeDef *) EMU_BASE)                         /**< EMU base pointer */
963 #define CMU                ((CMU_TypeDef *) CMU_BASE)                         /**< CMU base pointer */
964 #define HFXO0              ((HFXO_TypeDef *) HFXO0_BASE)                      /**< HFXO0 base pointer */
965 #define HFRCO0             ((HFRCO_TypeDef *) HFRCO0_BASE)                    /**< HFRCO0 base pointer */
966 #define FSRCO              ((FSRCO_TypeDef *) FSRCO_BASE)                     /**< FSRCO base pointer */
967 #define DPLL0              ((DPLL_TypeDef *) DPLL0_BASE)                      /**< DPLL0 base pointer */
968 #define LFXO               ((LFXO_TypeDef *) LFXO_BASE)                       /**< LFXO base pointer */
969 #define LFRCO              ((LFRCO_TypeDef *) LFRCO_BASE)                     /**< LFRCO base pointer */
970 #define ULFRCO             ((ULFRCO_TypeDef *) ULFRCO_BASE)                   /**< ULFRCO base pointer */
971 #define MSC                ((MSC_TypeDef *) MSC_BASE)                         /**< MSC base pointer */
972 #define ICACHE0            ((ICACHE_TypeDef *) ICACHE0_BASE)                  /**< ICACHE0 base pointer */
973 #define PRS                ((PRS_TypeDef *) PRS_BASE)                         /**< PRS base pointer */
974 #define GPIO               ((GPIO_TypeDef *) GPIO_BASE)                       /**< GPIO base pointer */
975 #define LDMA               ((LDMA_TypeDef *) LDMA_BASE)                       /**< LDMA base pointer */
976 #define LDMAXBAR           ((LDMAXBAR_TypeDef *) LDMAXBAR_BASE)               /**< LDMAXBAR base pointer */
977 #define TIMER0             ((TIMER_TypeDef *) TIMER0_BASE)                    /**< TIMER0 base pointer */
978 #define TIMER1             ((TIMER_TypeDef *) TIMER1_BASE)                    /**< TIMER1 base pointer */
979 #define TIMER2             ((TIMER_TypeDef *) TIMER2_BASE)                    /**< TIMER2 base pointer */
980 #define TIMER3             ((TIMER_TypeDef *) TIMER3_BASE)                    /**< TIMER3 base pointer */
981 #define TIMER4             ((TIMER_TypeDef *) TIMER4_BASE)                    /**< TIMER4 base pointer */
982 #define USART0             ((USART_TypeDef *) USART0_BASE)                    /**< USART0 base pointer */
983 #define USART1             ((USART_TypeDef *) USART1_BASE)                    /**< USART1 base pointer */
984 #define BURTC              ((BURTC_TypeDef *) BURTC_BASE)                     /**< BURTC base pointer */
985 #define I2C1               ((I2C_TypeDef *) I2C1_BASE)                        /**< I2C1 base pointer */
986 #define SYSCFG_CFGNS       ((SYSCFG_CFGNS_TypeDef *) SYSCFG_CFGNS_BASE)       /**< SYSCFG_CFGNS base pointer */
987 #define SYSCFG             ((SYSCFG_TypeDef *) SYSCFG_BASE)                   /**< SYSCFG base pointer */
988 #define BURAM              ((BURAM_TypeDef *) BURAM_BASE)                     /**< BURAM base pointer */
989 #define GPCRC              ((GPCRC_TypeDef *) GPCRC_BASE)                     /**< GPCRC base pointer */
990 #define DCDC               ((DCDC_TypeDef *) DCDC_BASE)                       /**< DCDC base pointer */
991 #define PDM                ((PDM_TypeDef *) PDM_BASE)                         /**< PDM base pointer */
992 #define SEPUF_APBCFG       ((SEPUF_APBCFG_TypeDef *) SEPUF_APBCFG_BASE)       /**< SEPUF_APBCFG base pointer */
993 #define ETAMPDET           ((ETAMPDET_TypeDef *) ETAMPDET_BASE)               /**< ETAMPDET base pointer */
994 #define RADIOAES           ((AES_TypeDef *) RADIOAES_BASE)                    /**< RADIOAES base pointer */
995 #define SMU                ((SMU_TypeDef *) SMU_BASE)                         /**< SMU base pointer */
996 #define SMU_CFGNS          ((SMU_CFGNS_TypeDef *) SMU_CFGNS_BASE)             /**< SMU_CFGNS base pointer */
997 #define RTCC               ((RTCC_TypeDef *) RTCC_BASE)                       /**< RTCC base pointer */
998 #define LETIMER0           ((LETIMER_TypeDef *) LETIMER0_BASE)                /**< LETIMER0 base pointer */
999 #define IADC0              ((IADC_TypeDef *) IADC0_BASE)                      /**< IADC0 base pointer */
1000 #define ACMP0              ((ACMP_TypeDef *) ACMP0_BASE)                      /**< ACMP0 base pointer */
1001 #define I2C0               ((I2C_TypeDef *) I2C0_BASE)                        /**< I2C0 base pointer */
1002 #define WDOG0              ((WDOG_TypeDef *) WDOG0_BASE)                      /**< WDOG0 base pointer */
1003 #define EUSART0            ((EUSART_TypeDef *) EUSART0_BASE)                  /**< EUSART0 base pointer */
1004 #define CRYPTOACC          ((CRYPTOACC_TypeDef *) CRYPTOACC_BASE)             /**< CRYPTOACC base pointer */
1005 #define PRORTC             ((RTCC_TypeDef *) PRORTC_BASE)                     /**< PRORTC base pointer */
1006 #define DEVINFO            ((DEVINFO_TypeDef *) DEVINFO_BASE)                 /**< DEVINFO base pointer */
1007 /** @} End of group EFR32BG27C230F768IM40_Peripheral_Declaration */
1008 
1009 /**************************************************************************//**
1010  * @defgroup EFR32BG27C230F768IM40_Peripheral_Parameters EFR32BG27C230F768IM40 Peripheral Parameters
1011  * @{
1012  * @brief Device peripheral parameter values
1013  *****************************************************************************/
1014 
1015 /* Common peripheral register block offsets. */
1016 #define PER_REG_BLOCK_SET_OFFSET                0x1000UL    /**< Offset to SET register block */
1017 #define PER_REG_BLOCK_CLR_OFFSET                0x2000UL    /**< Offset to CLEAR register block */
1018 #define PER_REG_BLOCK_TGL_OFFSET                0x3000UL    /**< Offset to TOGGLE register block */
1019 #define MSC_CDA_PRESENT                         0x0UL       /**>  */
1020 #define MSC_FDIO_WIDTH                          0x40UL      /**> None */
1021 #define MSC_FLASHADDRBITS                       0x14UL      /**> None */
1022 #define MSC_FLASHBLOCKADDRBITS                  0x14UL      /**> None */
1023 #define MSC_FLASH_BLOCK_INFO_PCOUNT             0x2UL       /**> None */
1024 #define MSC_FLASH_BLOCK_MAIN_PCOUNT             0x68UL      /**>  */
1025 #define MSC_INFOADDRBITS                        0xEUL       /**> None */
1026 #define MSC_INFOBLOCKADDRBITS                   0xEUL       /**> None */
1027 #define MSC_INFO_PSIZE_BITS                     0xDUL       /**> None */
1028 #define MSC_MAIN_PSIZE_BITS                     0xDUL       /**> None */
1029 #define MSC_REDUNDANCY                          0x2UL       /**> None */
1030 #define MSC_ROOTMAIN_PRESENT                    0x1UL       /**>  */
1031 #define MSC_UD_PRESENT                          0x1UL       /**>  */
1032 #define MSC_VSE_PRESENT                         0x1UL       /**>  */
1033 #define MSC_YADDRBITS                           0x6UL       /**>  */
1034 #define SYSROM_WORDS                            0x700UL     /**> Number of words in ROM */
1035 #define SYSROM_ROM_SIZE_BYTES                   0x1C00UL    /**> Number of bytes in ROM */
1036 #define DMEM_BANK0_SIZE                         0x6000UL    /**> Bank0 Size */
1037 #define DMEM_BANK1_SIZE                         0x2000UL    /**> Bank1 Size */
1038 #define DMEM_BANK2_SIZE                         0x8000UL    /**> Bank2 Size */
1039 #define DMEM_BANK3_SIZE                         0x0UL       /**> Bank3 Size */
1040 #define DMEM_BANK4_SIZE                         0x0UL       /**> Bank4 Size */
1041 #define DMEM_BANK5_SIZE                         0x0UL       /**> Bank5 Size */
1042 #define DMEM_BANK6_SIZE                         0x0UL       /**> Bank6 Size */
1043 #define DMEM_BANK7_SIZE                         0x0UL       /**> Bank7 Size */
1044 #define DMEM_NUM_BANKS                          0x3UL       /**> Number of Banks */
1045 #define DMEM_SIZE                               0x10000UL   /**> Total size */
1046 #define LFXO_NO_CTUNE                           0x0UL       /**> CTUNE Not Present */
1047 #define LFXO_CTUNE                              0x1UL       /**> CTUNE Present */
1048 #define ICACHE0_AHB_LITE                        0x0UL       /**> AHB Lite */
1049 #define ICACHE0_CACHEABLE_SIZE                  0xC0000UL   /**> Cache Size */
1050 #define ICACHE0_CACHEABLE_START                 0x8000000UL /**> Cache Start */
1051 #define ICACHE0_DEFAULT_OFF                     0x1UL       /**> Default off */
1052 #define ICACHE0_FLASH_SIZE                      0xC0000UL   /**> Flash size */
1053 #define ICACHE0_FLASH_START                     0x8000000UL /**> Flash start */
1054 #define ICACHE0_LOOPCACHE_MEM_ADDR_BITS         0x3UL       /**> Loopcache Memory Address bits */
1055 #define ICACHE0_LOOPCACHE_STICKINESS_BITS       0x4UL       /**> Loopcache Stickiness bits */
1056 #define ICACHE0_PARITY_BITS                     0x1UL       /**> Use Parity */
1057 #define ICACHE0_PC_BITS                         0x20UL      /**> Performance Counter bits */
1058 #define ICACHE0_PIPE_STAGE                      0x1UL       /**> Pipeline Stage */
1059 #define ICACHE0_RAM_ADDR_BITS                   0x0UL       /**> RAM Address bits */
1060 #define ICACHE0_RAM_DATA_BITS                   0x0UL       /**> RAM Data bits */
1061 #define ICACHE0_SET_BITS                        0x5UL       /**> Set bits */
1062 #define ICACHE0_USE_HREADY_GATING               0x1UL       /**> Use HREADY gating */
1063 #define ICACHE0_USE_IDLE_GATING                 0x1UL       /**> Use IDLE gating */
1064 #define ICACHE0_USE_LOOPCACHE                   0x1UL       /**> Use Loopcache */
1065 #define ICACHE0_WAY_BITS                        0x1UL       /**> Way bits */
1066 #define ICACHE0_WORDS_PER_BLOCK                 0x0UL       /**> Words Per Block */
1067 #define ICACHE0_WPB_BITS                        0x1UL       /**> Words Per Block bits */
1068 #define ICACHE0_WPL_BITS                        0x3UL       /**> Words Per Line bits */
1069 #define PRS_ASYNC_CH_NUM                        0xCUL       /**> None */
1070 #define PRS_PRSSEL_WIDTH                        0x4UL       /**> New Param */
1071 #define PRS_SPRSSEL_WIDTH                       0x2UL       /**> New Param */
1072 #define PRS_SYNC_CH_NUM                         0x4UL       /**> None */
1073 #define GPIO_MODE_WIDTH                         0x4UL       /**> Mode Width */
1074 #define GPIO_NUM_EM4_WU                         0xCUL       /**> New Param */
1075 #define GPIO_NUM_EVEN_PA                        0x5UL       /**> Num of even pins port A */
1076 #define GPIO_NUM_EVEN_PB                        0x3UL       /**> Num of even pins port B */
1077 #define GPIO_NUM_EVEN_PC                        0x4UL       /**> Num of even pins port C */
1078 #define GPIO_NUM_EVEN_PD                        0x2UL       /**> Num of even pins port D */
1079 #define GPIO_NUM_EXT_INT                        0xCUL       /**> New Param */
1080 #define GPIO_NUM_EXT_INT_L                      0x8UL       /**> New Param */
1081 #define GPIO_NUM_EXT_INT_U                      0x4UL       /**> New Param */
1082 #define GPIO_NUM_EXT_INT_U_ZERO                 0x0UL       /**> New Param */
1083 #define GPIO_NUM_ODD_PA                         0x4UL       /**> Num of odd pins port A */
1084 #define GPIO_NUM_ODD_PB                         0x2UL       /**> Num of odd pins port B */
1085 #define GPIO_NUM_ODD_PC                         0x4UL       /**> Num of odd pins port C */
1086 #define GPIO_NUM_ODD_PD                         0x2UL       /**> Num of odd pins port D */
1087 #define GPIO_PINSEL_WIDTH                       0x4UL       /**> Route config pin select width */
1088 #define GPIO_PORTSEL_WIDTH                      0x2UL       /**> Route config port select width */
1089 #define GPIO_PORT_A_WIDTH                       0x9UL       /**> Port A Width */
1090 #define GPIO_PORT_A_WIDTH_ZERO                  0x0UL       /**> Port A Width is Zero */
1091 #define GPIO_PORT_A_WL                          0x8UL       /**> New Param */
1092 #define GPIO_PORT_A_WU                          0x1UL       /**> New Param */
1093 #define GPIO_PORT_A_WU_ZERO                     0x0UL       /**> New Param */
1094 #define GPIO_PORT_B_WIDTH                       0x5UL       /**> Port B Width */
1095 #define GPIO_PORT_B_WIDTH_ZERO                  0x0UL       /**> Port B Width is Zero */
1096 #define GPIO_PORT_B_WL                          0x5UL       /**> New Param */
1097 #define GPIO_PORT_B_WU                          0x0UL       /**> New Param */
1098 #define GPIO_PORT_B_WU_ZERO                     0x1UL       /**> New Param */
1099 #define GPIO_PORT_C_WIDTH                       0x8UL       /**> Port C Width */
1100 #define GPIO_PORT_C_WIDTH_ZERO                  0x0UL       /**> Port C Width is Zero */
1101 #define GPIO_PORT_C_WL                          0x8UL       /**> New Param */
1102 #define GPIO_PORT_C_WU                          0x0UL       /**> New Param */
1103 #define GPIO_PORT_C_WU_ZERO                     0x1UL       /**> New Param */
1104 #define GPIO_PORT_D_WIDTH                       0x4UL       /**> Port D Width */
1105 #define GPIO_PORT_D_WIDTH_ZERO                  0x0UL       /**> Port D Width is Zero */
1106 #define GPIO_PORT_D_WL                          0x4UL       /**> New Param */
1107 #define GPIO_PORT_D_WU                          0x0UL       /**> New Param */
1108 #define GPIO_PORT_D_WU_ZERO                     0x1UL       /**> New Param */
1109 #define GPIO_SLEWRATE_WIDTH                     0x3UL       /**> Slew Rate Width Param */
1110 #define LDMA_CH_BITS                            0x5UL       /**> New Param */
1111 #define LDMA_CH_NUM                             0x8UL       /**> New Param */
1112 #define LDMA_FIFO_BITS                          0x5UL       /**> New Param */
1113 #define LDMA_FIFO_DEPTH                         0x10UL      /**> New Param */
1114 #define LDMAXBAR_CH_BITS                        0x5UL       /**> None */
1115 #define LDMAXBAR_CH_NUM                         0x8UL       /**> None */
1116 #define LDMAXBAR_SIGSEL_W                       0x4UL       /**> New Param */
1117 #define LDMAXBAR_SOURCESEL_W                    0x6UL       /**> New Param */
1118 #define TIMER0_CC_NUM                           0x3UL       /**> Number of Compare/Capture Channels */
1119 #define TIMER0_CNTWIDTH                         0x20UL      /**> Counter Width */
1120 #define TIMER0_DTI                              0x1UL       /**> Dead-time insertion enabled */
1121 #define TIMER0_DTI_CC_NUM                       0x3UL       /**> Number of DTI Channels */
1122 #define TIMER0_NO_DTI                           0x0UL       /**>  */
1123 #define TIMER1_CC_NUM                           0x3UL       /**> Number of Compare/Capture Channels */
1124 #define TIMER1_CNTWIDTH                         0x20UL      /**> Counter Width */
1125 #define TIMER1_DTI                              0x1UL       /**> Dead-time insertion enabled */
1126 #define TIMER1_DTI_CC_NUM                       0x3UL       /**> Number of DTI Channels */
1127 #define TIMER1_NO_DTI                           0x0UL       /**>  */
1128 #define TIMER2_CC_NUM                           0x3UL       /**> Number of Compare/Capture Channels */
1129 #define TIMER2_CNTWIDTH                         0x10UL      /**> Counter Width */
1130 #define TIMER2_DTI                              0x1UL       /**> Dead-time insertion enabled */
1131 #define TIMER2_DTI_CC_NUM                       0x3UL       /**> Number of DTI Channels */
1132 #define TIMER2_NO_DTI                           0x0UL       /**>  */
1133 #define TIMER3_CC_NUM                           0x3UL       /**> Number of Compare/Capture Channels */
1134 #define TIMER3_CNTWIDTH                         0x10UL      /**> Counter Width */
1135 #define TIMER3_DTI                              0x1UL       /**> Dead-time insertion enabled */
1136 #define TIMER3_DTI_CC_NUM                       0x3UL       /**> Number of DTI Channels */
1137 #define TIMER3_NO_DTI                           0x0UL       /**>  */
1138 #define TIMER4_CC_NUM                           0x3UL       /**> Number of Compare/Capture Channels */
1139 #define TIMER4_CNTWIDTH                         0x10UL      /**> Counter Width */
1140 #define TIMER4_DTI                              0x1UL       /**> Dead-time insertion enabled */
1141 #define TIMER4_DTI_CC_NUM                       0x3UL       /**> Number of DTI Channels */
1142 #define TIMER4_NO_DTI                           0x0UL       /**>  */
1143 #define USART0_AUTOTX_REG                       0x1UL       /**> None */
1144 #define USART0_AUTOTX_REG_B                     0x0UL       /**> None */
1145 #define USART0_AUTOTX_TRIGGER                   0x1UL       /**> None */
1146 #define USART0_AUTOTX_TRIGGER_B                 0x0UL       /**> New Param */
1147 #define USART0_CLK_PRS                          0x1UL       /**> None */
1148 #define USART0_CLK_PRS_B                        0x0UL       /**> New Param */
1149 #define USART0_FLOW_CONTROL                     0x1UL       /**> None */
1150 #define USART0_FLOW_CONTROL_B                   0x0UL       /**> New Param */
1151 #define USART0_I2S                              0x1UL       /**> None */
1152 #define USART0_I2S_B                            0x0UL       /**> New Param */
1153 #define USART0_IRDA_AVAILABLE                   0x1UL       /**> None */
1154 #define USART0_IRDA_AVAILABLE_B                 0x0UL       /**> New Param */
1155 #define USART0_MVDIS_FUNC                       0x1UL       /**> None */
1156 #define USART0_MVDIS_FUNC_B                     0x0UL       /**> New Param */
1157 #define USART0_RX_PRS                           0x1UL       /**> None */
1158 #define USART0_RX_PRS_B                         0x0UL       /**> New Param */
1159 #define USART0_SC_AVAILABLE                     0x1UL       /**> None */
1160 #define USART0_SC_AVAILABLE_B                   0x0UL       /**> New Param */
1161 #define USART0_SYNC_AVAILABLE                   0x1UL       /**> None */
1162 #define USART0_SYNC_AVAILABLE_B                 0x0UL       /**> New Param */
1163 #define USART0_SYNC_LATE_SAMPLE                 0x1UL       /**> None */
1164 #define USART0_SYNC_LATE_SAMPLE_B               0x0UL       /**> New Param */
1165 #define USART0_TIMER                            0x1UL       /**> New Param */
1166 #define USART0_TIMER_B                          0x0UL       /**> New Param */
1167 #define USART1_AUTOTX_REG                       0x1UL       /**> None */
1168 #define USART1_AUTOTX_REG_B                     0x0UL       /**> None */
1169 #define USART1_AUTOTX_TRIGGER                   0x1UL       /**> None */
1170 #define USART1_AUTOTX_TRIGGER_B                 0x0UL       /**> New Param */
1171 #define USART1_CLK_PRS                          0x1UL       /**> None */
1172 #define USART1_CLK_PRS_B                        0x0UL       /**> New Param */
1173 #define USART1_FLOW_CONTROL                     0x1UL       /**> None */
1174 #define USART1_FLOW_CONTROL_B                   0x0UL       /**> New Param */
1175 #define USART1_I2S                              0x1UL       /**> None */
1176 #define USART1_I2S_B                            0x0UL       /**> New Param */
1177 #define USART1_IRDA_AVAILABLE                   0x1UL       /**> None */
1178 #define USART1_IRDA_AVAILABLE_B                 0x0UL       /**> New Param */
1179 #define USART1_MVDIS_FUNC                       0x1UL       /**> None */
1180 #define USART1_MVDIS_FUNC_B                     0x0UL       /**> New Param */
1181 #define USART1_RX_PRS                           0x1UL       /**> None */
1182 #define USART1_RX_PRS_B                         0x0UL       /**> New Param */
1183 #define USART1_SC_AVAILABLE                     0x1UL       /**> None */
1184 #define USART1_SC_AVAILABLE_B                   0x0UL       /**> New Param */
1185 #define USART1_SYNC_AVAILABLE                   0x1UL       /**> None */
1186 #define USART1_SYNC_AVAILABLE_B                 0x0UL       /**> New Param */
1187 #define USART1_SYNC_LATE_SAMPLE                 0x1UL       /**> None */
1188 #define USART1_SYNC_LATE_SAMPLE_B               0x0UL       /**> New Param */
1189 #define USART1_TIMER                            0x1UL       /**> New Param */
1190 #define USART1_TIMER_B                          0x0UL       /**> New Param */
1191 #define BURTC_CNTWIDTH                          0x20UL      /**> None */
1192 #define BURTC_PRECNT_WIDTH                      0xFUL       /**>  */
1193 #define I2C1_DELAY                              0x7D0UL     /**> Delay cell selection */
1194 #define I2C1_DELAY_CHAIN_NUM                    0x2UL       /**> Number of delay chain */
1195 #define SYSCFG_CHIP_PARTNUMBER                  0x1UL       /**> Chip Part Number */
1196 #define SYSCFG_DEMODRAM_INST_COUNT              0x1UL       /**>  */
1197 #define SYSCFG_FRCRAM_INST_COUNT                0x1UL       /**>  */
1198 #define SYSCFG_RAM0_INST_COUNT                  0x3UL       /**> None */
1199 #define SYSCFG_SEQRAM_INST_COUNT                0x2UL       /**> None */
1200 #define SYSCFG_SWINT_NUM                        0x4UL       /**> Software interupts */
1201 #define DCDC_DCDCMODE_WIDTH                     0x1UL       /**> Mode register width */
1202 #define DCDC_DRVSPEED_WIDTH                     0x2UL       /**> Drive Speed bitfield width */
1203 #define DCDC_IPKVAL_WIDTH                       0x4UL       /**> Peak Current Setting bitfield Width */
1204 #define DCDC_VCMPIBIAS_WIDTH                    0x2UL       /**> VCMP ibias bitfield width */
1205 #define PDM_FIFO_LEN                            0x4UL       /**> New Param */
1206 #define PDM_NUM_CH                              0x2UL       /**> None */
1207 #define PDM_CH2_PRESENT_B                       0x1UL       /**> New Param */
1208 #define PDM_CH3_PRESENT_B                       0x1UL       /**> New Param */
1209 #define PDM_NUM_CH_WIDTH                        0x1UL       /**> New Param */
1210 #define PDM_PIPELINE                            0x0UL       /**> None */
1211 #define PDM_STEREO23_PRESENT_B                  0x1UL       /**> New Param */
1212 #define ETAMPDET_NUM_CHNLS                      0x2UL       /**>  */
1213 #define RADIOAES_SIDECHANNEL_COUNTERMEASURES    0x1UL       /**> Enable sidechannel counter measures */
1214 #define SMU_NUM_PPU_PERIPHS                     0x33UL      /**> Number of PPU Peripherals */
1215 #define SMU_NUM_PPU_PERIPHS_MOD_32              0x13UL      /**> Number of PPU Peripherals (mod 32) */
1216 #define SMU_NUM_PPU_PERIPHS_SUB_32              0x13UL      /**> Number of PPU peripherals minus 32 */
1217 #define SMU_PERIPHID_BITS                       0x8UL       /**> Bits used for Peripheral ID */
1218 #define RTCC_CC_NUM                             0x3UL       /**> None */
1219 #define LETIMER0_CNT_WIDTH                      0x18UL      /**> Count Width */
1220 #define IADC0_CONFIGNUM                         0x2UL       /**> CONFIG */
1221 #define IADC0_FULLRANGEUNIPOLAR                 0x0UL       /**> FULLRANGEUNIPOLAR */
1222 #define IADC0_SCANBYTES                         0x1UL       /**> SCANBYTES */
1223 #define IADC0_ENTRIES                           0x10UL      /**> ENTRIES */
1224 #define ACMP0_DAC_INPUT                         0x0UL       /**> None */
1225 #define ACMP0_EXT_OVR_IF                        0x0UL       /**> None */
1226 #define I2C0_DELAY                              0x3E8UL     /**> Delay cell selection */
1227 #define I2C0_DELAY_CHAIN_NUM                    0x2UL       /**> Number of delay chain */
1228 #define WDOG0_PCNUM                             0x2UL       /**> None */
1229 #define EUSART0_EM2_CAPABLE                     0x1UL       /**> EM2 Capable instance */
1230 #define EUSART0_EXCLUDE_DALI                    0x1UL       /**> Exclude DALI */
1231 #define EUSART0_NOT_EM2_CAPABLE                 0x0UL       /**> Not EM2 Capable instance */
1232 #define RDMEM_FRC_BANK0_SIZE                    0x1000UL    /**> FRC_RAM_BANK0_SIZE */
1233 #define RDMEM_FRC_BANK1_SIZE                    0x0UL       /**> FRC_RAM_BANK1_SIZE */
1234 #define RDMEM_FRC_BANK2_SIZE                    0x0UL       /**> FRC_RAM_BANK2_SIZE */
1235 #define RDMEM_FRC_BANK3_SIZE                    0x0UL       /**> FRC_RAM_BANK3_SIZE */
1236 #define RDMEM_FRC_BANK4_SIZE                    0x0UL       /**> FRC_RAM_BANK4_SIZE */
1237 #define RDMEM_FRC_BANK5_SIZE                    0x0UL       /**> FRC_RAM_BANK5_SIZE */
1238 #define RDMEM_FRC_BANK6_SIZE                    0x0UL       /**> FRC_RAM_BANK6_SIZE */
1239 #define RDMEM_FRC_BANK7_SIZE                    0x0UL       /**> FRC_RAM_BANK7_SIZE */
1240 #define RDMEM_FRC_NUM_BANK                      0x1UL       /**> FRC_NUM_BANK */
1241 #define RDMEM_FRC_RAMADDRBITS                   0xCUL       /**> FRC RAM ADDRBITS */
1242 #define RDMEM_FRC_RAMADDRMINBITS                0xCUL       /**> FRC RAM address bits for one bank */
1243 #define RDMEM_FRC_RAMECCADDR_WIDTH              0x20UL      /**> FRC RAM ECC Address width */
1244 #define RDMEM_FRC_RAM_BWE_WIDTH                 0x27UL      /**> FRCRAM BWE width */
1245 #define RDMEM_FRC_RAM_DATA_WIDTH                0x27UL      /**> FRC_RAM_DATA_WIDTH */
1246 #define RDMEM_FRC_RAM_ECC_EN                    0x1UL       /**> FRC RAM ECCEN */
1247 #define RDMEM_FRC_RAM_TOTAL_SIZE                0x1000UL    /**> FRC_RAM_TOTAL_SIZE */
1248 #define RDMEM_SEQ_BANK0_SIZE                    0x2000UL    /**> SEQ_RAM_BANK0_SIZE */
1249 #define RDMEM_SEQ_BANK1_SIZE                    0x2000UL    /**> SEQ_RAM_BANK1_SIZE */
1250 #define RDMEM_SEQ_BANK2_SIZE                    0x0UL       /**> SEQ_RAM_BANK2_SIZE */
1251 #define RDMEM_SEQ_BANK3_SIZE                    0x0UL       /**> SEQ_RAM_BANK3_SIZE */
1252 #define RDMEM_SEQ_BANK4_SIZE                    0x0UL       /**> SEQ_RAM_BANK4_SIZE */
1253 #define RDMEM_SEQ_BANK5_SIZE                    0x0UL       /**> SEQ_RAM_BANK5_SIZE */
1254 #define RDMEM_SEQ_BANK6_SIZE                    0x0UL       /**> SEQ_RAM_BANK6_SIZE */
1255 #define RDMEM_SEQ_BANK7_SIZE                    0x0UL       /**> SEQ_RAM_BANK7_SIZE */
1256 #define RDMEM_SEQ_NUM_BANK                      0x2UL       /**> SEQ_NUM_BANK */
1257 #define RDMEM_SEQ_RAMADDRBITS                   0xEUL       /**> SEQ RAM ADDRBITS */
1258 #define RDMEM_SEQ_RAMADDRMINBITS                0xDUL       /**> SEQ RAM address bits for one bank */
1259 #define RDMEM_SEQ_RAMECCADDR_WIDTH              0x20UL      /**> SEQ RAM ECC Address width */
1260 #define RDMEM_SEQ_RAM_BWE_WIDTH                 0x27UL      /**> SEQRAM BWE width */
1261 #define RDMEM_SEQ_RAM_DATA_WIDTH                0x27UL      /**> SEQ_RAM_DATA_WIDTH */
1262 #define RDMEM_SEQ_RAM_ECC_EN                    0x1UL       /**> SEQ RAM ECCEN */
1263 #define RDMEM_SEQ_RAM_TOTAL_SIZE                0x4000UL    /**> SEQ_RAM_TOTAL_SIZE */
1264 #define PRORTC_CC_NUM                           0x2UL       /**> None */
1265 
1266 /* Instance macros for ACMP */
1267 #define ACMP(n)                        (((n) == 0) ? ACMP0 \
1268                                         : 0x0UL)
1269 #define ACMP_NUM(ref)                  (((ref) == ACMP0) ? 0 \
1270                                         : -1)
1271 #define ACMP_DAC_INPUT(n)              (((n) == 0) ? ACMP0_DAC_INPUT \
1272                                         : 0x0UL)
1273 #define ACMP_EXT_OVR_IF(n)             (((n) == 0) ? ACMP0_EXT_OVR_IF \
1274                                         : 0x0UL)
1275 
1276 /* Instance macros for EUSART */
1277 #define EUSART(n)                      (((n) == 0) ? EUSART0 \
1278                                         : 0x0UL)
1279 #define EUSART_NUM(ref)                (((ref) == EUSART0) ? 0 \
1280                                         : -1)
1281 #define EUSART_EM2_CAPABLE(n)          (((n) == 0) ? EUSART0_EM2_CAPABLE \
1282                                         : 0x0UL)
1283 #define EUSART_EXCLUDE_DALI(n)         (((n) == 0) ? EUSART0_EXCLUDE_DALI \
1284                                         : 0x0UL)
1285 #define EUSART_NOT_EM2_CAPABLE(n)      (((n) == 0) ? EUSART0_NOT_EM2_CAPABLE \
1286                                         : 0x0UL)
1287 
1288 /* Instance macros for I2C */
1289 #define I2C(n)                         (((n) == 0) ? I2C0   \
1290                                         : ((n) == 1) ? I2C1 \
1291                                         : 0x0UL)
1292 #define I2C_NUM(ref)                   (((ref) == I2C0) ? 0   \
1293                                         : ((ref) == I2C1) ? 1 \
1294                                         : -1)
1295 #define I2C_DELAY(n)                   (((n) == 0) ? I2C0_DELAY   \
1296                                         : ((n) == 1) ? I2C1_DELAY \
1297                                         : 0x0UL)
1298 #define I2C_DELAY_CHAIN_NUM(n)         (((n) == 0) ? I2C0_DELAY_CHAIN_NUM   \
1299                                         : ((n) == 1) ? I2C1_DELAY_CHAIN_NUM \
1300                                         : 0x0UL)
1301 
1302 /* Instance macros for TIMER */
1303 #define TIMER(n)                       (((n) == 0) ? TIMER0   \
1304                                         : ((n) == 1) ? TIMER1 \
1305                                         : ((n) == 2) ? TIMER2 \
1306                                         : ((n) == 3) ? TIMER3 \
1307                                         : ((n) == 4) ? TIMER4 \
1308                                         : 0x0UL)
1309 #define TIMER_NUM(ref)                 (((ref) == TIMER0) ? 0   \
1310                                         : ((ref) == TIMER1) ? 1 \
1311                                         : ((ref) == TIMER2) ? 2 \
1312                                         : ((ref) == TIMER3) ? 3 \
1313                                         : ((ref) == TIMER4) ? 4 \
1314                                         : -1)
1315 #define TIMER_CC_NUM(n)                (((n) == 0) ? TIMER0_CC_NUM   \
1316                                         : ((n) == 1) ? TIMER1_CC_NUM \
1317                                         : ((n) == 2) ? TIMER2_CC_NUM \
1318                                         : ((n) == 3) ? TIMER3_CC_NUM \
1319                                         : ((n) == 4) ? TIMER4_CC_NUM \
1320                                         : 0x0UL)
1321 #define TIMER_CNTWIDTH(n)              (((n) == 0) ? TIMER0_CNTWIDTH   \
1322                                         : ((n) == 1) ? TIMER1_CNTWIDTH \
1323                                         : ((n) == 2) ? TIMER2_CNTWIDTH \
1324                                         : ((n) == 3) ? TIMER3_CNTWIDTH \
1325                                         : ((n) == 4) ? TIMER4_CNTWIDTH \
1326                                         : 0x0UL)
1327 #define TIMER_DTI(n)                   (((n) == 0) ? TIMER0_DTI   \
1328                                         : ((n) == 1) ? TIMER1_DTI \
1329                                         : ((n) == 2) ? TIMER2_DTI \
1330                                         : ((n) == 3) ? TIMER3_DTI \
1331                                         : ((n) == 4) ? TIMER4_DTI \
1332                                         : 0x0UL)
1333 #define TIMER_DTI_CC_NUM(n)            (((n) == 0) ? TIMER0_DTI_CC_NUM   \
1334                                         : ((n) == 1) ? TIMER1_DTI_CC_NUM \
1335                                         : ((n) == 2) ? TIMER2_DTI_CC_NUM \
1336                                         : ((n) == 3) ? TIMER3_DTI_CC_NUM \
1337                                         : ((n) == 4) ? TIMER4_DTI_CC_NUM \
1338                                         : 0x0UL)
1339 #define TIMER_NO_DTI(n)                (((n) == 0) ? TIMER0_NO_DTI   \
1340                                         : ((n) == 1) ? TIMER1_NO_DTI \
1341                                         : ((n) == 2) ? TIMER2_NO_DTI \
1342                                         : ((n) == 3) ? TIMER3_NO_DTI \
1343                                         : ((n) == 4) ? TIMER4_NO_DTI \
1344                                         : 0x0UL)
1345 
1346 /* Instance macros for USART */
1347 #define USART(n)                       (((n) == 0) ? USART0   \
1348                                         : ((n) == 1) ? USART1 \
1349                                         : 0x0UL)
1350 #define USART_NUM(ref)                 (((ref) == USART0) ? 0   \
1351                                         : ((ref) == USART1) ? 1 \
1352                                         : -1)
1353 #define USART_AUTOTX_REG(n)            (((n) == 0) ? USART0_AUTOTX_REG   \
1354                                         : ((n) == 1) ? USART1_AUTOTX_REG \
1355                                         : 0x0UL)
1356 #define USART_AUTOTX_REG_B(n)          (((n) == 0) ? USART0_AUTOTX_REG_B   \
1357                                         : ((n) == 1) ? USART1_AUTOTX_REG_B \
1358                                         : 0x0UL)
1359 #define USART_AUTOTX_TRIGGER(n)        (((n) == 0) ? USART0_AUTOTX_TRIGGER   \
1360                                         : ((n) == 1) ? USART1_AUTOTX_TRIGGER \
1361                                         : 0x0UL)
1362 #define USART_AUTOTX_TRIGGER_B(n)      (((n) == 0) ? USART0_AUTOTX_TRIGGER_B   \
1363                                         : ((n) == 1) ? USART1_AUTOTX_TRIGGER_B \
1364                                         : 0x0UL)
1365 #define USART_CLK_PRS(n)               (((n) == 0) ? USART0_CLK_PRS   \
1366                                         : ((n) == 1) ? USART1_CLK_PRS \
1367                                         : 0x0UL)
1368 #define USART_CLK_PRS_B(n)             (((n) == 0) ? USART0_CLK_PRS_B   \
1369                                         : ((n) == 1) ? USART1_CLK_PRS_B \
1370                                         : 0x0UL)
1371 #define USART_FLOW_CONTROL(n)          (((n) == 0) ? USART0_FLOW_CONTROL   \
1372                                         : ((n) == 1) ? USART1_FLOW_CONTROL \
1373                                         : 0x0UL)
1374 #define USART_FLOW_CONTROL_B(n)        (((n) == 0) ? USART0_FLOW_CONTROL_B   \
1375                                         : ((n) == 1) ? USART1_FLOW_CONTROL_B \
1376                                         : 0x0UL)
1377 #define USART_I2S(n)                   (((n) == 0) ? USART0_I2S   \
1378                                         : ((n) == 1) ? USART1_I2S \
1379                                         : 0x0UL)
1380 #define USART_I2S_B(n)                 (((n) == 0) ? USART0_I2S_B   \
1381                                         : ((n) == 1) ? USART1_I2S_B \
1382                                         : 0x0UL)
1383 #define USART_IRDA_AVAILABLE(n)        (((n) == 0) ? USART0_IRDA_AVAILABLE   \
1384                                         : ((n) == 1) ? USART1_IRDA_AVAILABLE \
1385                                         : 0x0UL)
1386 #define USART_IRDA_AVAILABLE_B(n)      (((n) == 0) ? USART0_IRDA_AVAILABLE_B   \
1387                                         : ((n) == 1) ? USART1_IRDA_AVAILABLE_B \
1388                                         : 0x0UL)
1389 #define USART_MVDIS_FUNC(n)            (((n) == 0) ? USART0_MVDIS_FUNC   \
1390                                         : ((n) == 1) ? USART1_MVDIS_FUNC \
1391                                         : 0x0UL)
1392 #define USART_MVDIS_FUNC_B(n)          (((n) == 0) ? USART0_MVDIS_FUNC_B   \
1393                                         : ((n) == 1) ? USART1_MVDIS_FUNC_B \
1394                                         : 0x0UL)
1395 #define USART_RX_PRS(n)                (((n) == 0) ? USART0_RX_PRS   \
1396                                         : ((n) == 1) ? USART1_RX_PRS \
1397                                         : 0x0UL)
1398 #define USART_RX_PRS_B(n)              (((n) == 0) ? USART0_RX_PRS_B   \
1399                                         : ((n) == 1) ? USART1_RX_PRS_B \
1400                                         : 0x0UL)
1401 #define USART_SC_AVAILABLE(n)          (((n) == 0) ? USART0_SC_AVAILABLE   \
1402                                         : ((n) == 1) ? USART1_SC_AVAILABLE \
1403                                         : 0x0UL)
1404 #define USART_SC_AVAILABLE_B(n)        (((n) == 0) ? USART0_SC_AVAILABLE_B   \
1405                                         : ((n) == 1) ? USART1_SC_AVAILABLE_B \
1406                                         : 0x0UL)
1407 #define USART_SYNC_AVAILABLE(n)        (((n) == 0) ? USART0_SYNC_AVAILABLE   \
1408                                         : ((n) == 1) ? USART1_SYNC_AVAILABLE \
1409                                         : 0x0UL)
1410 #define USART_SYNC_AVAILABLE_B(n)      (((n) == 0) ? USART0_SYNC_AVAILABLE_B   \
1411                                         : ((n) == 1) ? USART1_SYNC_AVAILABLE_B \
1412                                         : 0x0UL)
1413 #define USART_SYNC_LATE_SAMPLE(n)      (((n) == 0) ? USART0_SYNC_LATE_SAMPLE   \
1414                                         : ((n) == 1) ? USART1_SYNC_LATE_SAMPLE \
1415                                         : 0x0UL)
1416 #define USART_SYNC_LATE_SAMPLE_B(n)    (((n) == 0) ? USART0_SYNC_LATE_SAMPLE_B   \
1417                                         : ((n) == 1) ? USART1_SYNC_LATE_SAMPLE_B \
1418                                         : 0x0UL)
1419 #define USART_TIMER(n)                 (((n) == 0) ? USART0_TIMER   \
1420                                         : ((n) == 1) ? USART1_TIMER \
1421                                         : 0x0UL)
1422 #define USART_TIMER_B(n)               (((n) == 0) ? USART0_TIMER_B   \
1423                                         : ((n) == 1) ? USART1_TIMER_B \
1424                                         : 0x0UL)
1425 
1426 /* Instance macros for WDOG */
1427 #define WDOG(n)                        (((n) == 0) ? WDOG0 \
1428                                         : 0x0UL)
1429 #define WDOG_NUM(ref)                  (((ref) == WDOG0) ? 0 \
1430                                         : -1)
1431 #define WDOG_PCNUM(n)                  (((n) == 0) ? WDOG0_PCNUM \
1432                                         : 0x0UL)
1433 
1434 /** @} End of group EFR32BG27C230F768IM40_Peripheral_Parameters  */
1435 
1436 /** @} End of group EFR32BG27C230F768IM40 */
1437 /** @}} End of group Parts */
1438 
1439 #ifdef __cplusplus
1440 }
1441 #endif
1442 #endif
1443