67 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFM32G)
70 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFM32GG)
73 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFM32TG)
76 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFM32LG)
79 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFM32WG)
82 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFM32ZG)
85 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFM32HG)
88 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFM32PG1B)
89 systemPartFamilyEfm32Pearl1B = _DEVINFO_PART_DEVICE_FAMILY_EFM32PG1B,
91 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFM32JG1B)
92 systemPartFamilyEfm32Jade1B = _DEVINFO_PART_DEVICE_FAMILY_EFM32JG1B,
94 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFM32PG12B)
95 systemPartFamilyEfm32Pearl12B = _DEVINFO_PART_DEVICE_FAMILY_EFM32PG12B,
97 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFM32JG12B)
98 systemPartFamilyEfm32Jade12B = _DEVINFO_PART_DEVICE_FAMILY_EFM32JG12B,
100 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFM32PG13B)
101 systemPartFamilyEfm32Pearl13B = _DEVINFO_PART_DEVICE_FAMILY_EFM32PG13B,
103 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFM32JG13B)
104 systemPartFamilyEfm32Jade13B = _DEVINFO_PART_DEVICE_FAMILY_EFM32JG13B,
106 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EZR32WG)
109 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EZR32LG)
112 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EZR32HG)
115 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32MG1P)
116 systemPartFamilyMighty1P = _DEVINFO_PART_DEVICE_FAMILY_EFR32MG1P,
118 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32MG1B)
119 systemPartFamilyMighty1B = _DEVINFO_PART_DEVICE_FAMILY_EFR32MG1B,
121 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32MG1V)
122 systemPartFamilyMighty1V = _DEVINFO_PART_DEVICE_FAMILY_EFR32MG1V,
124 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32BG1P)
125 systemPartFamilyBlue1P = _DEVINFO_PART_DEVICE_FAMILY_EFR32BG1P,
127 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32BG1B)
128 systemPartFamilyBlue1B = _DEVINFO_PART_DEVICE_FAMILY_EFR32BG1B,
130 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32BG1V)
131 systemPartFamilyBlue1V = _DEVINFO_PART_DEVICE_FAMILY_EFR32BG1V,
133 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32FG1P)
134 systemPartFamilyFlex1P = _DEVINFO_PART_DEVICE_FAMILY_EFR32FG1P,
136 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32FG1B)
137 systemPartFamilyFlex1B = _DEVINFO_PART_DEVICE_FAMILY_EFR32FG1B,
139 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32FG1V)
140 systemPartFamilyFlex1V = _DEVINFO_PART_DEVICE_FAMILY_EFR32FG1V,
142 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32MG2P)
143 systemPartFamilyMighty2P = _DEVINFO_PART_DEVICE_FAMILY_EFR32MG2P,
145 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32MG12P)
146 systemPartFamilyMighty12P = _DEVINFO_PART_DEVICE_FAMILY_EFR32MG12P,
148 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32MG12B)
149 systemPartFamilyMighty12B = _DEVINFO_PART_DEVICE_FAMILY_EFR32MG12B,
151 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32MG12V)
152 systemPartFamilyMighty12V = _DEVINFO_PART_DEVICE_FAMILY_EFR32MG12V,
154 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32BG12P)
155 systemPartFamilyBlue12P = _DEVINFO_PART_DEVICE_FAMILY_EFR32BG12P,
157 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32BG12B)
158 systemPartFamilyBlue12B = _DEVINFO_PART_DEVICE_FAMILY_EFR32BG12B,
160 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32BG12V)
161 systemPartFamilyBlue12V = _DEVINFO_PART_DEVICE_FAMILY_EFR32BG12V,
163 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32FG12P)
164 systemPartFamilyFlex12P = _DEVINFO_PART_DEVICE_FAMILY_EFR32FG12P,
166 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32FG12B)
167 systemPartFamilyFlex12B = _DEVINFO_PART_DEVICE_FAMILY_EFR32FG12B,
169 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32FG12V)
170 systemPartFamilyFlex12V = _DEVINFO_PART_DEVICE_FAMILY_EFR32FG12V,
172 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32MG13P)
173 systemPartFamilyMighty13P = _DEVINFO_PART_DEVICE_FAMILY_EFR32MG13P,
175 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32MG13B)
176 systemPartFamilyMighty13B = _DEVINFO_PART_DEVICE_FAMILY_EFR32MG13B,
178 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32MG13V)
179 systemPartFamilyMighty13V = _DEVINFO_PART_DEVICE_FAMILY_EFR32MG13V,
181 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32BG13P)
182 systemPartFamilyBlue13P = _DEVINFO_PART_DEVICE_FAMILY_EFR32BG13P,
184 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32BG13B)
185 systemPartFamilyBlue13B = _DEVINFO_PART_DEVICE_FAMILY_EFR32BG13B,
187 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32BG13V)
188 systemPartFamilyBlue13V = _DEVINFO_PART_DEVICE_FAMILY_EFR32BG13V,
190 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32FG13P)
191 systemPartFamilyFlex13P = _DEVINFO_PART_DEVICE_FAMILY_EFR32FG13P,
193 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32FG13B)
194 systemPartFamilyFlex13B = _DEVINFO_PART_DEVICE_FAMILY_EFR32FG13B,
196 #if defined(_DEVINFO_PART_DEVICE_FAMILY_EFR32FG13V)
197 systemPartFamilyFlex13V = _DEVINFO_PART_DEVICE_FAMILY_EFR32FG13V,
203 #if defined(_DEVINFO_PART_DEVICE_FAMILY_G)
206 #if defined(_DEVINFO_PART_DEVICE_FAMILY_GG)
209 #if defined(_DEVINFO_PART_DEVICE_FAMILY_TG)
212 #if defined(_DEVINFO_PART_DEVICE_FAMILY_LG)
215 #if defined(_DEVINFO_PART_DEVICE_FAMILY_WG)
218 #if defined(_DEVINFO_PART_DEVICE_FAMILY_ZG)
221 #if defined(_DEVINFO_PART_DEVICE_FAMILY_HG)
242 #if defined(__FPU_PRESENT) && (__FPU_PRESENT == 1)
246 fpuAccessDenied = (0x0 << 20),
247 fpuAccessPrivilegedOnly = (0x5 << 20),
248 fpuAccessReserved = (0xA << 20),
249 fpuAccessFull = (0xF << 20)
250 } SYSTEM_FpuAccess_TypeDef;
268 #if defined(__FPU_PRESENT) && (__FPU_PRESENT == 1)
277 __STATIC_INLINE
void SYSTEM_FpuAccessModeSet(SYSTEM_FpuAccess_TypeDef accessMode)
279 SCB->CPACR = (SCB->CPACR & ~(0xF << 20)) | accessMode;
292 uint32_t tmp =
DEVINFO->UNIQUEL;
293 return (uint64_t)((uint64_t)
DEVINFO->UNIQUEH << 32) | tmp;
325 #if defined(_EFM32_GECKO_FAMILY)
336 #if defined(_SILICON_LABS_GECKO_INTERNAL_SDID_80) && defined(_EFR_DEVICE)
358 #if defined(_EFM32_GECKO_FAMILY)
387 #if defined(_EFM32_GIANT_FAMILY)
393 #elif defined(_EFM32_ZERO_FAMILY)
404 return 1 << ((tmp + 10) & 0xFF);
408 #if defined( _DEVINFO_DEVINFOREV_DEVINFOREV_MASK )
416 __STATIC_INLINE uint8_t SYSTEM_GetDevinfoRev(
void)
418 return (
DEVINFO->DEVINFOREV & _DEVINFO_DEVINFOREV_DEVINFOREV_MASK)
419 >> _DEVINFO_DEVINFOREV_DEVINFOREV_SHIFT;
#define _DEVINFO_PART_DEVICE_FAMILY_EZR32LG
#define _DEVINFO_CAL_TEMP_SHIFT
#define _DEVINFO_PART_DEVICE_FAMILY_HG
#define _DEVINFO_PART_DEVICE_NUMBER_SHIFT
#define _DEVINFO_MSIZE_SRAM_SHIFT
void SYSTEM_ChipRevisionGet(SYSTEM_ChipRevision_TypeDef *rev)
Get chip major/minor revision.
#define _DEVINFO_PART_DEVICE_FAMILY_SHIFT
#define _DEVINFO_CAL_TEMP_MASK
CMSIS Cortex-M Peripheral Access Layer for Silicon Laboratories microcontroller devices.
#define _DEVINFO_PART_DEVICE_FAMILY_EFM32ZG
#define _DEVINFO_MEMINFO_FLASH_PAGE_SIZE_MASK
#define _DEVINFO_PART_DEVICE_FAMILY_MASK
#define _DEVINFO_PART_DEVICE_FAMILY_EFM32G
bool SYSTEM_GetCalibrationValue(volatile uint32_t *regAddress)
Get factory calibration value for a given peripheral register.
#define _DEVINFO_MSIZE_SRAM_MASK
#define _DEVINFO_PART_DEVICE_FAMILY_EZR32HG
__STATIC_INLINE uint8_t SYSTEM_GetProdRev(void)
Get the production revision for this part.
__STATIC_INLINE SYSTEM_PartFamily_TypeDef SYSTEM_GetFamily(void)
Get family identifier of the MCU.
#define _DEVINFO_PART_DEVICE_FAMILY_ZG
#define _DEVINFO_PART_DEVICE_FAMILY_EFM32GG
#define _DEVINFO_PART_DEVICE_FAMILY_EFM32LG
#define _DEVINFO_PART_PROD_REV_SHIFT
#define _DEVINFO_PART_DEVICE_FAMILY_WG
#define _DEVINFO_PART_PROD_REV_MASK
#define _DEVINFO_PART_DEVICE_FAMILY_G
#define _DEVINFO_MSIZE_FLASH_SHIFT
#define _DEVINFO_PART_DEVICE_FAMILY_GG
#define _DEVINFO_PART_DEVICE_FAMILY_EZR32WG
__STATIC_INLINE uint16_t SYSTEM_GetSRAMSize(void)
Get the SRAM size (in KB).
__STATIC_INLINE uint16_t SYSTEM_GetPartNumber(void)
Get part number of the MCU.
#define _DEVINFO_PART_DEVICE_FAMILY_LG
#define _DEVINFO_PART_DEVICE_FAMILY_EFM32TG
#define _DEVINFO_MSIZE_FLASH_MASK
#define _DEVINFO_PART_DEVICE_FAMILY_EFM32HG
#define _DEVINFO_PART_DEVICE_FAMILY_EFM32WG
__STATIC_INLINE uint16_t SYSTEM_GetFlashSize(void)
Get the flash size (in KB).
__STATIC_INLINE uint32_t SYSTEM_GetFlashPageSize(void)
Get the flash page size in bytes.
__STATIC_INLINE uint8_t SYSTEM_GetCalibrationTemperature(void)
Get the calibration temperature (in degrees Celsius).
#define _DEVINFO_MEMINFO_FLASH_PAGE_SIZE_SHIFT
#define _DEVINFO_PART_DEVICE_NUMBER_MASK
__STATIC_INLINE uint64_t SYSTEM_GetUnique(void)
Get the unique number for this device.
SYSTEM_PartFamily_TypeDef
#define _DEVINFO_PART_DEVICE_FAMILY_TG