mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
<>
Date:
Fri Oct 28 11:17:30 2016 +0100
Revision:
149:156823d33999
Parent:
targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/emlib/Changes_emlib.txt@144:ef7eb2e8f9f7
Child:
150:02e0a0aed4ec
This updates the lib to the mbed lib v128

NOTE: This release includes a restructuring of the file and directory locations and thus some
include paths in your code may need updating accordingly.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 144:ef7eb2e8f9f7 1 ================ Revision history ============================================
<> 144:ef7eb2e8f9f7 2 4.2.1:
<> 144:ef7eb2e8f9f7 3 - Added errata fix for an issue that may cause BOD resets in EM2 when using
<> 144:ef7eb2e8f9f7 4 DCDC-to-DVDD mode. The fix is implemented in EMU_DCDCInit().
<> 144:ef7eb2e8f9f7 5 - Added function EMU_DCDCPowerOff() for boards with physically disconnected DCDC.
<> 144:ef7eb2e8f9f7 6 - Current consumption is optimized for DCDC bypass mode. This update is
<> 144:ef7eb2e8f9f7 7 implemented in EMU_DCDCInit().
<> 144:ef7eb2e8f9f7 8
<> 144:ef7eb2e8f9f7 9 4.2.0:
<> 144:ef7eb2e8f9f7 10 - Updated I2C clock divider equation for platform 2 parts. Added constraints
<> 144:ef7eb2e8f9f7 11 to HFPER clock frequency in I2C_BusFreqSet().
<> 144:ef7eb2e8f9f7 12 - EMU EMU_EM23VregMode_TypeDef replaced with a bool.
<> 144:ef7eb2e8f9f7 13 - Added support for GPIO alternate drive strength and alternate control modes.
<> 144:ef7eb2e8f9f7 14 - DCDC setup is simplified. More tuning and optimization settings added to
<> 144:ef7eb2e8f9f7 15 EMU_DCDCInit().
<> 144:ef7eb2e8f9f7 16 - Added member pinRetentionMode to EMU_EM4Init_TypeDef.
<> 144:ef7eb2e8f9f7 17 - Added function EMU_UnlatchPinRetention() to support unlatching of pin
<> 144:ef7eb2e8f9f7 18 retention in EM4H/S.
<> 144:ef7eb2e8f9f7 19 - Fixed bug in ADC_InitScan() which caused a overwrite of single conversion
<> 144:ef7eb2e8f9f7 20 mode calibration values.
<> 144:ef7eb2e8f9f7 21 - Added support for CRYPTO module on Pearl and Jade Geckos (em_crypto.c/h)
<> 144:ef7eb2e8f9f7 22
<> 144:ef7eb2e8f9f7 23 4.1.1:
<> 144:ef7eb2e8f9f7 24 - EMU_DCDCInit() updated with new parameters for EM2 and 3. Current consumption
<> 144:ef7eb2e8f9f7 25 with DCDC at expected levels for EFR32 and EFM32PG revA1, A2 and B0.
<> 144:ef7eb2e8f9f7 26 - EMU_DCDCInit_TypeDef updated with more parameters. EMU_DcdcLpcmpBiasMode_TypeDef
<> 144:ef7eb2e8f9f7 27 is removed.
<> 144:ef7eb2e8f9f7 28 - More assertions added to EMU_DCDCInit().
<> 144:ef7eb2e8f9f7 29 - HFXO default parameters updated.
<> 144:ef7eb2e8f9f7 30 - ADC defaults updated.
<> 144:ef7eb2e8f9f7 31 - RMU pin mode set fixed.
<> 144:ef7eb2e8f9f7 32 - Added missing define for cmuSelect_ULFRCO.
<> 144:ef7eb2e8f9f7 33 - Added missing functions for handling peripheral interrupts.
<> 144:ef7eb2e8f9f7 34 - Added support for VMON.
<> 144:ef7eb2e8f9f7 35
<> 144:ef7eb2e8f9f7 36 4.1.0:
<> 144:ef7eb2e8f9f7 37 - The typedef EMU_EM23Init_TypeDef which is a parameter to EMU_EM23Init()
<> 144:ef7eb2e8f9f7 38 has got a new definition.
<> 144:ef7eb2e8f9f7 39 - Initial support _SILICON_LABS_32B_PLATFORM_2 devices added
<> 144:ef7eb2e8f9f7 40
<> 144:ef7eb2e8f9f7 41 4.0.0:
<> 144:ef7eb2e8f9f7 42 - Use ARM CMSIS version 4.2.0.
<> 144:ef7eb2e8f9f7 43 - New style version macros in em_version.h.
<> 144:ef7eb2e8f9f7 44
<> 144:ef7eb2e8f9f7 45 3.20.14:
<> 144:ef7eb2e8f9f7 46 - USB release only.
<> 144:ef7eb2e8f9f7 47
<> 144:ef7eb2e8f9f7 48 3.20.13:
<> 144:ef7eb2e8f9f7 49 - Added new style family #defines in em_system.h, including EZR32 families.
<> 144:ef7eb2e8f9f7 50 - Fixed I2C_FREQ_STANDARD_MAX macros.
<> 144:ef7eb2e8f9f7 51 - Fixed bug in MSC_WriteWord which called internal functions that were linked
<> 144:ef7eb2e8f9f7 52 to flash for armgcc. All subsequent calls of MSC_WriteWord should now be
<> 144:ef7eb2e8f9f7 53 linked to RAM for all supported compilers. The internals of MSC_WriteWord
<> 144:ef7eb2e8f9f7 54 will check the global variable SystemCoreClock in order to make sure the
<> 144:ef7eb2e8f9f7 55 frequency is high enough for flash operations. If the core clock frequency
<> 144:ef7eb2e8f9f7 56 is changed, software is responsible for calling MSC_Init or
<> 144:ef7eb2e8f9f7 57 SystemCoreClockGet in order to set the SystemCoreClock variable to the
<> 144:ef7eb2e8f9f7 58 correct value.
<> 144:ef7eb2e8f9f7 59 - Added errata fix IDAC_101.
<> 144:ef7eb2e8f9f7 60
<> 144:ef7eb2e8f9f7 61 3.20.12:
<> 144:ef7eb2e8f9f7 62 - Added errata fix EMU_108.
<> 144:ef7eb2e8f9f7 63 - #ifdef's now use register defines instead of a mix of register and family defines.
<> 144:ef7eb2e8f9f7 64 - Added a case for when there are only 4 DMA channels available:
<> 144:ef7eb2e8f9f7 65 Alignment was (correctly) defined at 7 bit, but got asserted for 8 bit, leading
<> 144:ef7eb2e8f9f7 66 to unpredictable tripped asserts.
<> 144:ef7eb2e8f9f7 67 - Added USART_INITPRSTRIGGER_DEFAULT defined structure to support HWCONF.
<> 144:ef7eb2e8f9f7 68 - Added support for LFC clock tree.
<> 144:ef7eb2e8f9f7 69 - Added CMU_USHFRCOBandSet() and CMU_USHFRCOBandGet().
<> 144:ef7eb2e8f9f7 70
<> 144:ef7eb2e8f9f7 71 3.20.10:
<> 144:ef7eb2e8f9f7 72 - Maintenance release, no changes.
<> 144:ef7eb2e8f9f7 73
<> 144:ef7eb2e8f9f7 74 3.20.9:
<> 144:ef7eb2e8f9f7 75 - Added support for Happy Gecko including support for the new oscillator USHFRCO.
<> 144:ef7eb2e8f9f7 76 - Added MSC_WriteWordFast() function. This flash write function has a similar
<> 144:ef7eb2e8f9f7 77 performance as the old MSC_WriteWord(), but it disables interrupts and
<> 144:ef7eb2e8f9f7 78 requires a core clock frequency of at least 14MHz. The new MSC_WriteWord()
<> 144:ef7eb2e8f9f7 79 is slower, but it does not disable interrupts and may be called with core
<> 144:ef7eb2e8f9f7 80 clock frequencies down to 1MHz.
<> 144:ef7eb2e8f9f7 81 - Fixed a bug in EMU_EnterEM4() that set other EM4 configuration bits to 0
<> 144:ef7eb2e8f9f7 82 on EM4 entry.
<> 144:ef7eb2e8f9f7 83 - Added EMU_EM23Init().
<> 144:ef7eb2e8f9f7 84 - Fixed a bug in CMU_FlashWaitStateControl() where it failed to set the
<> 144:ef7eb2e8f9f7 85 required wait-state configuration if the MSC is locked.
<> 144:ef7eb2e8f9f7 86 - Added EMU interrupt handling functions.
<> 144:ef7eb2e8f9f7 87 - BURTC_Reset() changed to use async reset RMU_CTRL_BURSTEN instead of
<> 144:ef7eb2e8f9f7 88 reset value writeback. This makes the function independent of a selected
<> 144:ef7eb2e8f9f7 89 and enabled clock.
<> 144:ef7eb2e8f9f7 90 - BURTC_Sync() now returns without waiting for BURTC->SYNCBUSY to clear
<> 144:ef7eb2e8f9f7 91 when no clock is selected in BURTC_CTRL_CLKSEL.
<> 144:ef7eb2e8f9f7 92 - Fixed assertion bug in ACMP_ChannelSet() that checked the negSel parameter
<> 144:ef7eb2e8f9f7 93 against the wrong upper bound.
<> 144:ef7eb2e8f9f7 94
<> 144:ef7eb2e8f9f7 95 3.20.7:
<> 144:ef7eb2e8f9f7 96 - Fixed CMU_MAX_FREQ_HFLE macro for Wonder family.
<> 144:ef7eb2e8f9f7 97 - Fixed MSC_WriteWord() bug.
<> 144:ef7eb2e8f9f7 98 - Added syncbusy wait in RTC_Reset() for Gecko family.
<> 144:ef7eb2e8f9f7 99
<> 144:ef7eb2e8f9f7 100 3.20.6:
<> 144:ef7eb2e8f9f7 101 - Corrected fix for Errata EMU_E107.
<> 144:ef7eb2e8f9f7 102
<> 144:ef7eb2e8f9f7 103 3.20.5:
<> 144:ef7eb2e8f9f7 104 - Updated license texts.
<> 144:ef7eb2e8f9f7 105 - Removed unnecessary fix for Wonder Gecko.
<> 144:ef7eb2e8f9f7 106 - Updated LFXO temperature compensation in CHIP_Init().
<> 144:ef7eb2e8f9f7 107 - Changed LESENSE_ScanStart, LESENSE_ScanStop, LESENSE_DecoderStart,
<> 144:ef7eb2e8f9f7 108 LESENSE_ResultBufferClear() and LESENSE_Reset() functions to wait until
<> 144:ef7eb2e8f9f7 109 CMD register writes complete in order to make sure CMD register writes do
<> 144:ef7eb2e8f9f7 110 not break each other, and for register values to be consistent when
<> 144:ef7eb2e8f9f7 111 returning from functions that write to the CMD register.
<> 144:ef7eb2e8f9f7 112 - Added fix for Errata EMU_E107.
<> 144:ef7eb2e8f9f7 113 - Added family to SYSTEM_ChipRevision_TypeDef.
<> 144:ef7eb2e8f9f7 114 - Fixed bug in function AES_OFB128 which failed on Zero Gecko.
<> 144:ef7eb2e8f9f7 115 - Fixed RMU_ResetCauseGet() to return correct reset causes.
<> 144:ef7eb2e8f9f7 116 - Fixed bug in RTC_CounterReset() which failed to reset counter immediately
<> 144:ef7eb2e8f9f7 117 after return on Gecko devices.
<> 144:ef7eb2e8f9f7 118 - Added static inline non-blocking USART receive functions (USART_Rx...).
<> 144:ef7eb2e8f9f7 119 - Added function SYSTEM_GetFamily().
<> 144:ef7eb2e8f9f7 120 - Added function DAC_ChannelOutputSet().
<> 144:ef7eb2e8f9f7 121 - Fixed MSC_WriteWord() to not use WDOUBLE if LPWRITE is set.
<> 144:ef7eb2e8f9f7 122
<> 144:ef7eb2e8f9f7 123 3.20.2:
<> 144:ef7eb2e8f9f7 124 - Fixed bug regarding when MEMINFO in DEVINFO was introduced.
<> 144:ef7eb2e8f9f7 125 The correct crossover is production revision 18.
<> 144:ef7eb2e8f9f7 126 - Fixed bug in WDOG_Feed() which does not feed the watchdog if the watchdog
<> 144:ef7eb2e8f9f7 127 is disabled. Previously, the watchdog was broken after WDOG_Feed() fed it
<> 144:ef7eb2e8f9f7 128 when it was disabled.
<> 144:ef7eb2e8f9f7 129 - Fixed issue in em_i2c.c, which should set the NACK bit in the I2C CMD
<> 144:ef7eb2e8f9f7 130 register for the next to last byte received. The exception is when only
<> 144:ef7eb2e8f9f7 131 one byte is to be received. Then the NACK bit must be set like the
<> 144:ef7eb2e8f9f7 132 previous code was doing.
<> 144:ef7eb2e8f9f7 133 - Added function BURTC_ClockFreqGet() in order to determine clock frequency
<> 144:ef7eb2e8f9f7 134 of BURTC.
<> 144:ef7eb2e8f9f7 135 - Fixed bug in BURTC_Reset() which made a subsequent call to BURTC_Init hang.
<> 144:ef7eb2e8f9f7 136 - Added support for the IDAC module on the Zero Gecko family, em_idac.c/h.
<> 144:ef7eb2e8f9f7 137 - Fixed bug in DAC_PrescaleCalc() which could return higher values than
<> 144:ef7eb2e8f9f7 138 the maximum prescaler value. The fix makes sure to return the max prescaler
<> 144:ef7eb2e8f9f7 139 value resulting in possible higher DAC frequency than requested.
<> 144:ef7eb2e8f9f7 140 - Fixed I2C_BusFreqSet to use documented values for Nlow and Nhigh values,
<> 144:ef7eb2e8f9f7 141 and do not decrement the div(isor) by one according to the formula because
<> 144:ef7eb2e8f9f7 142 this resulted in higher I2C bus frequencies than desired.
<> 144:ef7eb2e8f9f7 143
<> 144:ef7eb2e8f9f7 144 3.20.0:
<> 144:ef7eb2e8f9f7 145 - LEUART: Added LEUART_TxDmaInEM2Enable() and LEUART_RxDmaInEM2Enable() for
<> 144:ef7eb2e8f9f7 146 enabling and disabling DMA LEUART RX and Tx in EM2 support.
<> 144:ef7eb2e8f9f7 147
<> 144:ef7eb2e8f9f7 148 3.0.3:
<> 144:ef7eb2e8f9f7 149 - Internal release for testing Wonder Gecko support.
<> 144:ef7eb2e8f9f7 150 - SYSTEM: Added function to enable/disable FPU access on Wonder parts,
<> 144:ef7eb2e8f9f7 151 SYSTEM_FpuAccessModeSet().
<> 144:ef7eb2e8f9f7 152 - USART: Added USART_SpiTransfer() function.
<> 144:ef7eb2e8f9f7 153
<> 144:ef7eb2e8f9f7 154 3.0.2:
<> 144:ef7eb2e8f9f7 155 - MSC: In MSC_WriteWord(), added support for double word write cycle support
<> 144:ef7eb2e8f9f7 156 (WDOUBLE) on devices with more than 512KiBytes of Flash memory. This can
<> 144:ef7eb2e8f9f7 157 almost double the speed of the MSC_WriteWord function for large data sizes.
<> 144:ef7eb2e8f9f7 158 - MSC: In MSC_ErasePage(), added support for devices with Flash page size
<> 144:ef7eb2e8f9f7 159 larger than 512 bytes, like Giant and Leopard Gecko.
<> 144:ef7eb2e8f9f7 160 - CMU: Fixed bug in CMU_ClockDivSet(). Clear HFLE and HFCORECLKLEDIV flags when
<> 144:ef7eb2e8f9f7 161 the core runs at frequencies up to 32MHz.
<> 144:ef7eb2e8f9f7 162 - CMU: Fixed bug in CMU_ClockEnable(): Set the HFLE and HFCORECLKLEDIV flags
<> 144:ef7eb2e8f9f7 163 when the CORE clock runs at frequencies higher than 32MHz.
<> 144:ef7eb2e8f9f7 164 - CMU: Fixed bug in CMU_ClockSelectSet(): Set HFLE and DIV4 factor for peripheral
<> 144:ef7eb2e8f9f7 165 clock if HFCORE clock for LE is enabled and the CORE clock runs at
<> 144:ef7eb2e8f9f7 166 frequencies higher than 32MHz.
<> 144:ef7eb2e8f9f7 167 - BITBAND: Added BITBAND_PeripheralRead() and BITBAND_SRAMRead() functions.
<> 144:ef7eb2e8f9f7 168 - DMA: Added #ifndef EXCLUDE_DEFAULT_DMA_IRQ_HANDLER around DMA_IRQHandler in
<> 144:ef7eb2e8f9f7 169 order for the user to implement a custom IRQ handler or run without a DMA
<> 144:ef7eb2e8f9f7 170 IRQ handler by defining EXCLUDE_DEFAULT_DMA_IRQ_HANDLER with the -D compiler
<> 144:ef7eb2e8f9f7 171 option.
<> 144:ef7eb2e8f9f7 172 - BURTC: In functions BURTC_Init() and BURTC_CompareSet(), moved SYNCBUSY
<> 144:ef7eb2e8f9f7 173 loops in front of modifications of registers COMP0 and LPMODE.
<> 144:ef7eb2e8f9f7 174 - MSC: Fixed ram_code section error on Keil toolchain.
<> 144:ef7eb2e8f9f7 175 - MSC: Removed uneeded code from MSC init and deinit which would have no
<> 144:ef7eb2e8f9f7 176 effect (Big thanks to Martin Schreiber for reporting this bug!).
<> 144:ef7eb2e8f9f7 177 - System: Added access functions for reading some values out of the Device
<> 144:ef7eb2e8f9f7 178 Information page.
<> 144:ef7eb2e8f9f7 179
<> 144:ef7eb2e8f9f7 180 3.0.1:
<> 144:ef7eb2e8f9f7 181 - LFXO fix for Giant family.
<> 144:ef7eb2e8f9f7 182 - USART: Fix for EFM32TG108Fxx which does not have USART0.
<> 144:ef7eb2e8f9f7 183 - EBI: The write to the CTRL register now happens before the ROUTE registers
<> 144:ef7eb2e8f9f7 184 are set. This avoids potential glitches.
<> 144:ef7eb2e8f9f7 185 - LESENSE: Fix issue when using lesenseAltExMapACMP.
<> 144:ef7eb2e8f9f7 186 - TIMER: Fix compilation on devices where ADC is not available.
<> 144:ef7eb2e8f9f7 187 - LCD: Fix bug where Aloc field would not be set to 0.
<> 144:ef7eb2e8f9f7 188 - BURTC: Fix Reset function by adding reset of COMP0 register and removing
<> 144:ef7eb2e8f9f7 189 reset of POWERDOWN register. The POWERDOWN register cannot be used to
<> 144:ef7eb2e8f9f7 190 power up the blocks after it has been powered down.
<> 144:ef7eb2e8f9f7 191 - CMU: Fixed bug where ClockDivSet, ClockDivGet and ClockFreqGet didn't work for
<> 144:ef7eb2e8f9f7 192 cmuClock_LCDpre clock. Also corrected 3 wrongly typed constants.
<> 144:ef7eb2e8f9f7 193 - CMU: Fixed bug where LFBE field in LFCLKSEL was not cleared before setting
<> 144:ef7eb2e8f9f7 194 bit-value.
<> 144:ef7eb2e8f9f7 195 - CMU: Fixed bug with CMU_ClockSelectGet. Did not give correct return value
<> 144:ef7eb2e8f9f7 196 for cmuClock_LFB.
<> 144:ef7eb2e8f9f7 197 - I2C: Fixed bug where I2C_Init would set divisor depending on the previous
<> 144:ef7eb2e8f9f7 198 master/slave configuration, not the one set in the initialization.
<> 144:ef7eb2e8f9f7 199 - I2C: Fixed issue in the function I2C_BusFreqSet (called by I2C_Init). The
<> 144:ef7eb2e8f9f7 200 input parameter 'I2C_ClockHLR_TypeDef type' was not in use. The fix enables
<> 144:ef7eb2e8f9f7 201 the parameter to add support for 'i2cClockHLRAsymetric' and 'i2cClockHLRFast'
<> 144:ef7eb2e8f9f7 202 modes. In order to use 'i2cClockHLRAsymetric' and 'i2cClockHLRFast' the
<> 144:ef7eb2e8f9f7 203 frequency of the HFPER clock may need to be increased.
<> 144:ef7eb2e8f9f7 204 - OPAMP: Fixed bug in the function OPAMP_Enable where an incorrect register
<> 144:ef7eb2e8f9f7 205 was used when setting the OPA2 calibration value.
<> 144:ef7eb2e8f9f7 206 - LEUART: Fixed issue in LEUART_BaudrateSet when a high clock frequency and a
<> 144:ef7eb2e8f9f7 207 low baudrate can overflow the clock divisor register (CLKDIV). The fix uses
<> 144:ef7eb2e8f9f7 208 an assert statement to check whether the calculated clock divisor is out of
<> 144:ef7eb2e8f9f7 209 range.
<> 144:ef7eb2e8f9f7 210 - USART: Fixed issue in USART_BaudrateAsyncSet when a high clock frequency and
<> 144:ef7eb2e8f9f7 211 a low baudrate can overflow the clock divisor register (CLKDIV). The fix uses
<> 144:ef7eb2e8f9f7 212 an assert statement to check whether the calculated clock divisor is out of
<> 144:ef7eb2e8f9f7 213 range.
<> 144:ef7eb2e8f9f7 214
<> 144:ef7eb2e8f9f7 215 3.0.0:
<> 144:ef7eb2e8f9f7 216 - efm32lib renamed emlib, as it will include support for non-EFM32 devices
<> 144:ef7eb2e8f9f7 217 in the future
<> 144:ef7eb2e8f9f7 218 - Added CMSIS_V3 compatibility fixes, and use of CMSIS_V3 definitions
<> 144:ef7eb2e8f9f7 219 - See Device/Changes-EnergyMicro.txt for detailed path changes
<> 144:ef7eb2e8f9f7 220 - New prefixes of all files, efm32_<peripherqal>.c/h to em_<peripheral>.c/h
<> 144:ef7eb2e8f9f7 221 - New names for readme and changes files
<> 144:ef7eb2e8f9f7 222 - RMU - BUMODERST not masked away when EM4 bits has been set
<> 144:ef7eb2e8f9f7 223 - CMU - CMU_LFClkGet now accounts for ULFRCO bit for Tiny Gecko
<> 144:ef7eb2e8f9f7 224
<> 144:ef7eb2e8f9f7 225 2.4.1:
<> 144:ef7eb2e8f9f7 226 - New, open source friendly license
<> 144:ef7eb2e8f9f7 227 - Fixed BURTC initialization hang if init->enable was false
<> 144:ef7eb2e8f9f7 228 - Fixed CMU issue with USBC and USB checks not being used correctly
<> 144:ef7eb2e8f9f7 229 - Added CMU feature, missing TIMER3 support
<> 144:ef7eb2e8f9f7 230 - Improved accuracy of SPI mode for USART baudrate calculation
<> 144:ef7eb2e8f9f7 231 - Corrected USBC HFCLKNODIV setting to comply with new header file defines
<> 144:ef7eb2e8f9f7 232
<> 144:ef7eb2e8f9f7 233 2.4.0:
<> 144:ef7eb2e8f9f7 234 - Added efm32_version.h defining software version number
<> 144:ef7eb2e8f9f7 235 - Added BURTC support for Giant and Leopard Gecko
<> 144:ef7eb2e8f9f7 236 - Added RMU_ResetControl for BU reset flag
<> 144:ef7eb2e8f9f7 237 - Added some missing features to EMU for back up domain and EM4 support
<> 144:ef7eb2e8f9f7 238 - ADC TimebaseCalc(), Giant/Leopard Gecko have max 5 bits in TIMEBASE field
<> 144:ef7eb2e8f9f7 239 - Removed EMU Backup Power Domain threshold setings from EMU_BUPDInit, added
<> 144:ef7eb2e8f9f7 240 EMU_BUThresRangeSet() and EMU_BUThresholdSet() API calls. Threshold values
<> 144:ef7eb2e8f9f7 241 are factory calibrated and should not usually be overridden by the user.
<> 144:ef7eb2e8f9f7 242
<> 144:ef7eb2e8f9f7 243 2.3.2:
<> 144:ef7eb2e8f9f7 244 - Added Tiny Gecko and Giant Gecko support in RMU for new reset causes
<> 144:ef7eb2e8f9f7 245 - CMU_ClockFreqGet will now report correct clock rates if HFLE is set (/4)
<> 144:ef7eb2e8f9f7 246 - Added Giant Gecko specific MSC_MassErase(), erase entire flash
<> 144:ef7eb2e8f9f7 247 - Added Giant Gecko specific MSC_BusStrategy (inline) function
<> 144:ef7eb2e8f9f7 248 - MSC_Init() will now configure TIMEBASE correctly according to AUXHFRCO clock
<> 144:ef7eb2e8f9f7 249 rate for Tiny Gecko and Giant Gecko
<> 144:ef7eb2e8f9f7 250
<> 144:ef7eb2e8f9f7 251 2.3.0:
<> 144:ef7eb2e8f9f7 252 - USART - Added USART_InitPrsTrigger to initialize USART PRS triggered
<> 144:ef7eb2e8f9f7 253 transmissions.
<> 144:ef7eb2e8f9f7 254 - CMU - numerous updates, now supports full clock tree of Giant/Tiny Gecko
<> 144:ef7eb2e8f9f7 255 - CMU_ClockDivSet/Get will now use real dividend and not logarithmic values
<> 144:ef7eb2e8f9f7 256 as earlier. Prior enumerated values have been kept for backward compatibility.
<> 144:ef7eb2e8f9f7 257 - Added support for CMU HFLE and DIV4 factor for core clock for LE
<> 144:ef7eb2e8f9f7 258 peripherals
<> 144:ef7eb2e8f9f7 259 - Added support for alternate LCD segment animation range for Giant Gecko
<> 144:ef7eb2e8f9f7 260 - Fixed bug: Don't enable VCMP low power reference until after warm up,
<> 144:ef7eb2e8f9f7 261 allow biasprog value of 0 in VCMP_Init()
<> 144:ef7eb2e8f9f7 262 - Added support for ALTMAP (256MB address map) in EBI_BankAddress()
<> 144:ef7eb2e8f9f7 263 - TIMER_Init() will now reset CNT value
<> 144:ef7eb2e8f9f7 264
<> 144:ef7eb2e8f9f7 265 2.2.2:
<> 144:ef7eb2e8f9f7 266 - Added DAC0 channel 0 and 1 to ACMP for Tiny and Giant devices
<> 144:ef7eb2e8f9f7 267 - Fixed bug in CMU for MSC WAITSTATE configuration, leading to too high wait
<> 144:ef7eb2e8f9f7 268 states depending on clock rate
<> 144:ef7eb2e8f9f7 269 - Fixed bug in CMU for UART1 clock enable
<> 144:ef7eb2e8f9f7 270
<> 144:ef7eb2e8f9f7 271 2.2.1:
<> 144:ef7eb2e8f9f7 272 - UART_Reset() and LEUART_Reset() will now reset ROUTE register as well, this
<> 144:ef7eb2e8f9f7 273 will mean GPIO pins will not be driven after this call. Take care to ensure
<> 144:ef7eb2e8f9f7 274 that GPIO ROUTE register is configured after calls to *UART_Init*Sync
<> 144:ef7eb2e8f9f7 275 - Fixed problems with EFM_ASSERT when using UART in USART API
<> 144:ef7eb2e8f9f7 276 - Added Giant Gecko support for EBI (new modes and TFT direct drive)
<> 144:ef7eb2e8f9f7 277 - Added Giant Gecko support for CMU 2 WAIT STATES, and I2C1
<> 144:ef7eb2e8f9f7 278 - Added Giant Gecko support for UART1 in CMU
<> 144:ef7eb2e8f9f7 279 - Added Giant Gecko support for DMA LOOP and 2D Copy operations
<> 144:ef7eb2e8f9f7 280
<> 144:ef7eb2e8f9f7 281 2.1.0:
<> 144:ef7eb2e8f9f7 282 - EMU_Restore will now disable HFRCO if it was not enabled when entering
<> 144:ef7eb2e8f9f7 283 an Energy Mode
<> 144:ef7eb2e8f9f7 284 - Run time changes only applies to Gecko devices, filter out Tiny and Giant
<> 144:ef7eb2e8f9f7 285 for CHIP_Init();
<> 144:ef7eb2e8f9f7 286 - Added const specificers to various initialization structures, to ensure
<> 144:ef7eb2e8f9f7 287 they can reside in flash instead of SRAM
<> 144:ef7eb2e8f9f7 288 - Bugfix in efm32_i2c.c, keep returning i2cTransferInProgress until done
<> 144:ef7eb2e8f9f7 289
<> 144:ef7eb2e8f9f7 290 2.0.1:
<> 144:ef7eb2e8f9f7 291 - Changed enum OPAMP_PosSel_TypeDef. Enum value opaPosSelOpaIn changed from
<> 144:ef7eb2e8f9f7 292 DAC_OPA0MUX_POSSEL_OPA1IN to DAC_OPA0MUX_POSSEL_OPA0INP.
<> 144:ef7eb2e8f9f7 293 - Bugfix in efm32_lesense.h, LESENSE_ChClk_TypeDef now contains unshifted
<> 144:ef7eb2e8f9f7 294 values, fixed the implementation in efm32_lesense.c where the bug prevented
<> 144:ef7eb2e8f9f7 295 the sampleClk to be set to AUXHFRCO.
<> 144:ef7eb2e8f9f7 296
<> 144:ef7eb2e8f9f7 297 2.0.0:
<> 144:ef7eb2e8f9f7 298 - USART_Init-functions now calls USART_Reset() which will also disable/reset
<> 144:ef7eb2e8f9f7 299 interrupt
<> 144:ef7eb2e8f9f7 300 - USART_BaudrateSyncSet() now asserts on invalid oversample configuration
<> 144:ef7eb2e8f9f7 301 - Added initialization of parity bit in LEUART_Init()
<> 144:ef7eb2e8f9f7 302 - Added Tiny Gecko support for CMU, ULFRCO, LESENSE clocks and continuous
<> 144:ef7eb2e8f9f7 303 calibration
<> 144:ef7eb2e8f9f7 304 - Added Tiny Gecko support for GPIO, EM4 pin retention and wake up support
<> 144:ef7eb2e8f9f7 305 - Added Tiny Gecko support for I2S, SPI auto TX mode on USART
<> 144:ef7eb2e8f9f7 306 - Added Tiny Gecko support for CACHE mesasurements for MSC module
<> 144:ef7eb2e8f9f7 307 - Added Tiny Gecko support for LCD module (with no HIGH segment registers)
<> 144:ef7eb2e8f9f7 308 - Added Tiny Gecko support for TIMER, PWM 2x, (DT lock not supported)
<> 144:ef7eb2e8f9f7 309 - Added Tiny Gecko support for LESENSE module
<> 144:ef7eb2e8f9f7 310 - Added Tiny Gecko support for PRS input in PCNT
<> 144:ef7eb2e8f9f7 311 - Added Tiny Gecko support for async signals in PRS, PRS_SourceAsyncSignalSet()
<> 144:ef7eb2e8f9f7 312 - Initial support for some Giant Gecko features, where overlapping with Tiny
<> 144:ef7eb2e8f9f7 313 - Removed LPFEN / LPFREQ support from DAC
<> 144:ef7eb2e8f9f7 314 - Fixed comments around interrupt functions, making it clear it is bitwise
<> 144:ef7eb2e8f9f7 315 logical or interrupt flags
<> 144:ef7eb2e8f9f7 316 - Fixed PCNT initialization for external clock configurations, making sure
<> 144:ef7eb2e8f9f7 317 config is synchronized at startup to 3 clocks. Note fix only works for
<> 144:ef7eb2e8f9f7 318 >revC EFM32G devices.
<> 144:ef7eb2e8f9f7 319 - Fixed efm32_cmu.c, EFM_ASSERT statement for LEUART clock div logic was
<> 144:ef7eb2e8f9f7 320 inverted
<> 144:ef7eb2e8f9f7 321 - Fixed ADC_InitScan, PRSSEL shift value corrected
<> 144:ef7eb2e8f9f7 322 - Fixed CMU_ClockFreqGet for devices that do not have I2C
<> 144:ef7eb2e8f9f7 323 - Fixed I2C_TransferInit for devices with more than one I2C-bus (Giant Gecko)
<> 144:ef7eb2e8f9f7 324 - Changed ACMP_Disable() implementation, now only disables the ACMP instance
<> 144:ef7eb2e8f9f7 325 by clearing the EN bit in the CTRL register
<> 144:ef7eb2e8f9f7 326 - Removed ACMP_DisableNoReset() function
<> 144:ef7eb2e8f9f7 327 - Fixed ACMP_Init(), removed automatic enabling, added new structure member
<> 144:ef7eb2e8f9f7 328 "enaReq" for ACMP_Init_TypeDef to control, fixed the EFM_ASSERT of the
<> 144:ef7eb2e8f9f7 329 biasprog parameter
<> 144:ef7eb2e8f9f7 330 - Added default configuration macro ACMP_INIT_DEFAULT for ACMP_Init_TypeDef
<> 144:ef7eb2e8f9f7 331 - Fixed ACMP_CapsenseInit(), removed automatic enabling, added new structure member
<> 144:ef7eb2e8f9f7 332 "enaReq" for ACMP_CapsenseInit_TypeDef to control, fixed the EFM_ASSERT of
<> 144:ef7eb2e8f9f7 333 the biasprog parameter
<> 144:ef7eb2e8f9f7 334 - Changed the name of the default configuration macro for
<> 144:ef7eb2e8f9f7 335 ACMP_CapsenseInit_TypeDef to ACMP_CAPSENSE_INIT_DEFAULT
<> 144:ef7eb2e8f9f7 336 - Added RTC_Reset and RTC_CounterReset functions for RTC
<> 144:ef7eb2e8f9f7 337
<> 144:ef7eb2e8f9f7 338 1.3.0:
<> 144:ef7eb2e8f9f7 339 - MSC is automatically enabled/disabled when using the MSC API. This saves
<> 144:ef7eb2e8f9f7 340 power, and reduces errors due to not calling MSC_Init().
<> 144:ef7eb2e8f9f7 341 - Added API for controlling Cortex-M3 MPU (memory protection unit)
<> 144:ef7eb2e8f9f7 342 - Adjusted bit fields to comply with latest CMSIS release, see EFM_CMSIS
<> 144:ef7eb2e8f9f7 343 changes file for details
<> 144:ef7eb2e8f9f7 344 - Fixed issue with bit mask clearing in ACMP
<> 144:ef7eb2e8f9f7 345 - Functions ACMP_Enable and ACMP_DisableNoReset added
<> 144:ef7eb2e8f9f7 346 - Added comment about rev.C chips in PCNT, CMD_LTOPBIM not neccessary any more
<> 144:ef7eb2e8f9f7 347 - Added missing instance validity asserts to peripherals (ACMP, LEUART, USART)
<> 144:ef7eb2e8f9f7 348 - Fixed UART0 check in CMU_ClockFreqGet()
<> 144:ef7eb2e8f9f7 349 - Fixed command sync for PCNT before setting TOPB value during init
<> 144:ef7eb2e8f9f7 350 - Fixed instance validity check macro in PCNT
<> 144:ef7eb2e8f9f7 351 - Fixed TIMER_Reset() removed write to unimplemented timer channel registers
<> 144:ef7eb2e8f9f7 352 - Fixed EFM_ASSERT statements in ACMP, VCMP
<> 144:ef7eb2e8f9f7 353 - General code style update: added missing curly braces, default cases, etc.
<> 144:ef7eb2e8f9f7 354
<> 144:ef7eb2e8f9f7 355 1.2.1:
<> 144:ef7eb2e8f9f7 356 - Feature complete efm32lib, now also includes peripheral API for modules
<> 144:ef7eb2e8f9f7 357 AES,PCNT,MSC,ACMP,VCMP,LCD,EBI
<> 144:ef7eb2e8f9f7 358 - Fixed _TIMER_CC_CTRL_ICEDGE flags for correct timer configuration
<> 144:ef7eb2e8f9f7 359 - Fixed ADC calibration of Single and Scan mode of operation
<> 144:ef7eb2e8f9f7 360 - Added PCNT (ChipRev A/B PCNT0 errata NOT supported) and AES support
<> 144:ef7eb2e8f9f7 361 - Fixed conditional inclusion in efm32_emu.h
<> 144:ef7eb2e8f9f7 362 - Fixed code for LEUART0 for devices with multiple LEUARTs.
<> 144:ef7eb2e8f9f7 363 - Fixed incorrect setting of DOUT for GPIO configuration
<> 144:ef7eb2e8f9f7 364
<> 144:ef7eb2e8f9f7 365 1.1.4
<> 144:ef7eb2e8f9f7 366 - Fix for TIMER_INIT_DEFAULT
<> 144:ef7eb2e8f9f7 367
<> 144:ef7eb2e8f9f7 368 1.1.3:
<> 144:ef7eb2e8f9f7 369 - Added ADC, DAC, LETIMER, PRS, TIMER (except DTI) support
<> 144:ef7eb2e8f9f7 370 - Added utility for fetching chip revision (efm32_system.c/h)
<> 144:ef7eb2e8f9f7 371 - Removed RTC instance ref in API, only one RTC will be supported
<> 144:ef7eb2e8f9f7 372 (Affects also define in efm32_cmu.h)
<> 144:ef7eb2e8f9f7 373 - Added default init struct macros for LEUART, USART
<> 144:ef7eb2e8f9f7 374 - Added msbf parameter in USART synchronous init struct, USART_InitSync_TypeDef.
<> 144:ef7eb2e8f9f7 375 - Updated reset for I2C, USART, LEUART to also reset IEN register.
<> 144:ef7eb2e8f9f7 376 - Corrected fault in GPIO_PortOutSet()
<> 144:ef7eb2e8f9f7 377
<> 144:ef7eb2e8f9f7 378 1.1.2:
<> 144:ef7eb2e8f9f7 379 - Corrected minor issues in EMU, EM3 mode when restoring clocks
<> 144:ef7eb2e8f9f7 380 - Corrected RMU reset cause checking
<> 144:ef7eb2e8f9f7 381 - Changed GPIO enumerator symbols to start with gpio (from GPIO_)
<> 144:ef7eb2e8f9f7 382 - Changed CMU and WDOG enum typedefs to start with CMU_/WDOG_ (from cmu/wdog)
<> 144:ef7eb2e8f9f7 383 - Added USART/UART, LEUART, DMA, I2C support
<> 144:ef7eb2e8f9f7 384
<> 144:ef7eb2e8f9f7 385 1.1.1:
<> 144:ef7eb2e8f9f7 386 - First version including support for CMU, DBG, EMU, GPIO, RTC, WDOG