t
Fork of mbed-dev by
targets/TARGET_Silicon_Labs/TARGET_EFM32/emlib/Changes_emlib.txt@161:2cc1468da177, 2017-03-30 (annotated)
- Committer:
- <>
- Date:
- Thu Mar 30 13:45:57 2017 +0100
- Revision:
- 161:2cc1468da177
- Parent:
- 150:02e0a0aed4ec
This updates the lib to the mbed lib v139
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
<> | 144:ef7eb2e8f9f7 | 1 | ================ Revision history ============================================ |
<> | 161:2cc1468da177 | 2 | 5.1.2: |
<> | 161:2cc1468da177 | 3 | Misc. bugfixes and improvements. |
<> | 161:2cc1468da177 | 4 | |
<> | 161:2cc1468da177 | 5 | 5.1.1: |
<> | 161:2cc1468da177 | 6 | - Enabled errata CMU_E113 workaround for EFM32GG revE. |
<> | 161:2cc1468da177 | 7 | |
<> | 161:2cc1468da177 | 8 | 5.1.0: |
<> | 161:2cc1468da177 | 9 | - em_timer: Added support for WTIMER0 and WTIMER1. Added EFM_ASSERT in |
<> | 161:2cc1468da177 | 10 | em_timer to check that operations on a 16 bit timer is always <= 0xFFFF. |
<> | 161:2cc1468da177 | 11 | - em_usart: Updated the baudrate sync calculation in USART_BaudrateSyncSet(). |
<> | 161:2cc1468da177 | 12 | The calculated baudrate is not using any fractional bits and it is always |
<> | 161:2cc1468da177 | 13 | lower than or equal to the specified frequency. |
<> | 161:2cc1468da177 | 14 | - em_emu: added function EMU_DCDCConductionModeSet() to allow switching |
<> | 161:2cc1468da177 | 15 | between DCDC Low-Noise Continuous Conduction Mode (CCM) and |
<> | 161:2cc1468da177 | 16 | Discontinuous Conduction Mode (DCM). |
<> | 161:2cc1468da177 | 17 | - SYSTEM_GetSRAMSize() updated to return size of SRAM excluding RAMH for EFR32xG1. |
<> | 161:2cc1468da177 | 18 | - em_csen: Added support for CSEN (Capacitive Sense Module). |
<> | 161:2cc1468da177 | 19 | - em_adc: updated ADC_PosSel_TypeDef enum names. |
<> | 161:2cc1468da177 | 20 | - em_vdac: Added support for VDAC (voltage DAC). |
<> | 161:2cc1468da177 | 21 | - em_smu: Added support for SMU (Security Management Unit) module. |
<> | 161:2cc1468da177 | 22 | SMU is used to restrict access to device peripherals. |
<> | 161:2cc1468da177 | 23 | - Updated emlib to use the _SILICON_LABS_32B_SERIES_x, |
<> | 161:2cc1468da177 | 24 | _SILICON_LABS_32B_SERIES_x_CONFIG and _SILICON_LABS_GECKO_INTERNAL_SDID_x |
<> | 161:2cc1468da177 | 25 | macros instead of the _SILICON_LABS_32B_PLATFORM_x and |
<> | 161:2cc1468da177 | 26 | _SILICON_LABS_32B_PLATFORM_x_GEN_x macros. |
<> | 161:2cc1468da177 | 27 | - em_rtcc: added workarounds for errata RTCC_E203 and RTCC_E204 for |
<> | 161:2cc1468da177 | 28 | EFR32xG12, EFM32xG12, EFR32xG13 and EFM32xG13 devices. |
<> | 161:2cc1468da177 | 29 | - em_lesense: added LESENSE_DecoderPrsOut() for configuring PRS output |
<> | 161:2cc1468da177 | 30 | from the LESENSE decoder on EFM32xG12 and EFR32xG12. |
<> | 161:2cc1468da177 | 31 | - em_lesense: added support for the new evaluation modes for EFM32xG12 and |
<> | 161:2cc1468da177 | 32 | EFR32xG12. |
<> | 161:2cc1468da177 | 33 | - em_emu: added EMU_RamPowerDown() function for powering down a memory range |
<> | 161:2cc1468da177 | 34 | and deprecating EMU_MemPwrDown(). |
<> | 161:2cc1468da177 | 35 | - em_emu: added support for voltage scaling. |
<> | 161:2cc1468da177 | 36 | - em_emu: added support for EM2 and 3 peripheral retention control. |
<> | 161:2cc1468da177 | 37 | - em_chip: added current consumption fixes for EFM32xG12 and EFR32xG12. |
<> | 161:2cc1468da177 | 38 | - em_emu: added support for DCDC EM01-LP mode. |
<> | 161:2cc1468da177 | 39 | - em_lesense: Support for Series 1 devices |
<> | 161:2cc1468da177 | 40 | - em_acmp: Added ACMP_ExternalInputSelect() which is used when the ACMP is |
<> | 161:2cc1468da177 | 41 | controlled by an external module like LESENSE. |
<> | 161:2cc1468da177 | 42 | |
<> | 150:02e0a0aed4ec | 43 | 5.0.0: |
<> | 150:02e0a0aed4ec | 44 | - em_core: New module, contains API for enabling/disabling interrupts |
<> | 150:02e0a0aed4ec | 45 | and implementing critical regions. |
<> | 150:02e0a0aed4ec | 46 | em_core replaces em_int which is deprecated and marked for removal in a |
<> | 150:02e0a0aed4ec | 47 | later release. |
<> | 150:02e0a0aed4ec | 48 | - em_emu: Added EMU_SetBiasMode() for Series 1 Configuration 1 devices. |
<> | 150:02e0a0aed4ec | 49 | - em_chip: Adding EMU_E210 errata fix in CHIP_Init(). |
<> | 150:02e0a0aed4ec | 50 | - em_adc: Changed default value of negSel in ADC_INITSINGLE_DEFAULT |
<> | 150:02e0a0aed4ec | 51 | from adcNegSelAPORT0XCH1 to adcNegSelVSS. |
<> | 150:02e0a0aed4ec | 52 | - em_emu, em_cmu, em_chip, em_system: Added support for Series 1, |
<> | 150:02e0a0aed4ec | 53 | Configuration 2 parts (eg. EFR32MG12) |
<> | 150:02e0a0aed4ec | 54 | - em_gpio: Fixed GPIO_ExtIntConfig() to enable correct interrupt number on |
<> | 150:02e0a0aed4ec | 55 | Series 1 devices. |
<> | 150:02e0a0aed4ec | 56 | - em_ldma: Updated LDMA_Init() and LDMA_StartTransfer() to support pointers |
<> | 150:02e0a0aed4ec | 57 | to const memory. |
<> | 150:02e0a0aed4ec | 58 | - em_ldma: Adding LDMA_DESCRIPTOR_SINGLE_P2P_BYTE which can be used when |
<> | 150:02e0a0aed4ec | 59 | transfering bytes from one peripheral to another peripheral. |
<> | 150:02e0a0aed4ec | 60 | - em_i2c: Fixed bug that may clear IEN bits set by the user. |
<> | 150:02e0a0aed4ec | 61 | - em_emu: DCDC LN mode RCOBAND is now set based on LNFORCECCM. |
<> | 150:02e0a0aed4ec | 62 | - em_emu: Member dcdcLnCompCtrl added to EMU_DCDCInit_TypeDef. This parameter |
<> | 150:02e0a0aed4ec | 63 | allows configuraiton of 1uF or 4.7uF DCDC capacitor. 1uF is default for |
<> | 150:02e0a0aed4ec | 64 | Series 1 Device Configuration 1 while 4.7 is default for Series 1 |
<> | 150:02e0a0aed4ec | 65 | Device Configuration 2 and later. |
<> | 150:02e0a0aed4ec | 66 | - Updated documentation with more code examples for em_assert, em_common, |
<> | 150:02e0a0aed4ec | 67 | em_cryotimer, em_gpcrc, em_ldma, em_msc, em_ramfunc, em_system, em_usart. |
<> | 150:02e0a0aed4ec | 68 | |
<> | 150:02e0a0aed4ec | 69 | 4.4.0: |
<> | 150:02e0a0aed4ec | 70 | - em_emu: Putting DCDC in bypass mode before entering EM4S. |
<> | 150:02e0a0aed4ec | 71 | - em_cmu: In the CMU_HFXOInit_TypeDef struct the following members have been |
<> | 150:02e0a0aed4ec | 72 | deprecated and are no longer in use: autoStartEm01, autoSelEm01, and |
<> | 150:02e0a0aed4ec | 73 | autoStartSelOnRacWakeup. Any application using the HFXO autostart feature |
<> | 150:02e0a0aed4ec | 74 | must use the CMU_HFXOAutostartEnable() function instead. |
<> | 150:02e0a0aed4ec | 75 | - em_emu: Updating DCDC LP comparator bias thresholds for EM2/3/4 according to |
<> | 150:02e0a0aed4ec | 76 | updated reference manual. The thresholds are compared to the |
<> | 150:02e0a0aed4ec | 77 | em234LoadCurrent_uA value of the EMU_DCDCInit_TypeDef struct. |
<> | 150:02e0a0aed4ec | 78 | - em_msc: Fix for errata FLASH_E201 - Potential program failure after power on |
<> | 150:02e0a0aed4ec | 79 | After a flash write the first word is checked to verify write operation. On |
<> | 150:02e0a0aed4ec | 80 | a verification failure the first word is re-programmed. |
<> | 150:02e0a0aed4ec | 81 | - em_adc: Enforcing at least 8 cycle aquisition time when reading ADC internal |
<> | 150:02e0a0aed4ec | 82 | temp sensor using a 1.25V reference on platform 2 generation 1 devices. |
<> | 150:02e0a0aed4ec | 83 | - em_adc: Setting GPBIASACC when initializing measurement of the ADC internal |
<> | 150:02e0a0aed4ec | 84 | temp sensor as documented in the reference manual. |
<> | 150:02e0a0aed4ec | 85 | - em_emu: Fix for errata EMU_E208 - Occasional Full Reset After Exiting EM4H |
<> | 150:02e0a0aed4ec | 86 | - em_cmu: Added the possibility to configure external clock as HFXO |
<> | 150:02e0a0aed4ec | 87 | and LFXO source via the CMU_HFXOInit() and CMU_LFXOInit() functions. |
<> | 150:02e0a0aed4ec | 88 | - em_emu: Added EMU_EnterEM4H and EMU_EnterEM4S functions. |
<> | 150:02e0a0aed4ec | 89 | - Fixed shift bug in ADC_EM2ClockConfig_TypeDef. |
<> | 150:02e0a0aed4ec | 90 | - Added bounds check on ADC prescaler. |
<> | 150:02e0a0aed4ec | 91 | - Updated ADC_INITSCAN_DEFAULT to match ADC_ScanInputClear(). |
<> | 150:02e0a0aed4ec | 92 | |
<> | 150:02e0a0aed4ec | 93 | 4.3.1: |
<> | 150:02e0a0aed4ec | 94 | - EFR32 and EFM32PG/JG em_cmu: Added automatic switching to HFXO |
<> | 150:02e0a0aed4ec | 95 | PEAKDETSHUNTOPTMODE=CMD mode after the first enable. This means automatic |
<> | 150:02e0a0aed4ec | 96 | peak detection and shunt current optimization runs at the first call to |
<> | 150:02e0a0aed4ec | 97 | CMU_OscillatorEnable(cmuOsc_HFXO, true, true) or |
<> | 150:02e0a0aed4ec | 98 | CMU_ClockSelectSet(cmuClock_HF, cmuSelect_HFXO) only. |
<> | 150:02e0a0aed4ec | 99 | Optimization can be restarted by calling CMU_OscillatorTuningOptimize(). This is |
<> | 150:02e0a0aed4ec | 100 | required if the temperature changes by more than 100degC. |
<> | 150:02e0a0aed4ec | 101 | - Added CMU_HFXOAutostartEnable() function to support automatic HFXO start and |
<> | 150:02e0a0aed4ec | 102 | select. |
<> | 150:02e0a0aed4ec | 103 | - Updated default timeouts for CMU_HFXOInit() to optimize HFXO startup |
<> | 150:02e0a0aed4ec | 104 | time. The startup time reduction depends on the oscillator specification. |
<> | 150:02e0a0aed4ec | 105 | The new defaults are safe for typical oscillator specifications. |
<> | 150:02e0a0aed4ec | 106 | - em_ldma: LDMA_StartTransfer() now only enable a DMA channel once. |
<> | 150:02e0a0aed4ec | 107 | - em_cmu: Fixed condtitional compilation bug in CMU_ClockSelectGet(). |
<> | 150:02e0a0aed4ec | 108 | - em_usart: Fixed bug in USART_BaudrateCalc() function. |
<> | 150:02e0a0aed4ec | 109 | - em_usart: Improved corner cases in synchrounous baudrate calculation math. |
<> | 150:02e0a0aed4ec | 110 | - em_emu.c: EMU_DCDCLnRcoBandSet() calls EMU_DCDCOptimizeSlice() as the slice |
<> | 150:02e0a0aed4ec | 111 | configuration depends on RCO band. |
<> | 150:02e0a0aed4ec | 112 | |
<> | 150:02e0a0aed4ec | 113 | 4.3.0: |
<> | 150:02e0a0aed4ec | 114 | - em_cmu: Removed unused fields from CMU_HFXOInit_TypeDef. The removed fields |
<> | 150:02e0a0aed4ec | 115 | are regIshStartup and timeoutWarmSteady. |
<> | 150:02e0a0aed4ec | 116 | - em_rtc.h: Added RTC_CounterSet function for modifying the RTC Counter. |
<> | 150:02e0a0aed4ec | 117 | - em_burtc.c: Fixed bug when doing low frequency domain synchronization. |
<> | 150:02e0a0aed4ec | 118 | - em_gpio.c: Deprecated GPIO_IntConfig(), use new function GPIO_ExtIntConfig() |
<> | 150:02e0a0aed4ec | 119 | instead. |
<> | 150:02e0a0aed4ec | 120 | - Removed deprecated file em_part.h. |
<> | 150:02e0a0aed4ec | 121 | - em_dma.c: Replaced infinite loop on bus errors in default irq handler with |
<> | 150:02e0a0aed4ec | 122 | an assert. |
<> | 150:02e0a0aed4ec | 123 | - em_gpio.c: Use direct register write instead of BUS API in GPIO_PinModeSet |
<> | 150:02e0a0aed4ec | 124 | to prevent glitches. |
<> | 150:02e0a0aed4ec | 125 | - Fixed incorrect handling of CMU_CTRL_WSHFLE and CMU_HFPRESC_HFCLKLEPRESC in |
<> | 150:02e0a0aed4ec | 126 | em_cmu.c for EFM32 Pearl and Jade Gecko. |
<> | 150:02e0a0aed4ec | 127 | - Type enumerations cmuClock_HFLE and cmuSelect_HFCLKLE can now be used for |
<> | 150:02e0a0aed4ec | 128 | all families to select or reference the divided down HF clock for LE peripherals. |
<> | 150:02e0a0aed4ec | 129 | - Code size optimization in em_cmu.c. |
<> | 150:02e0a0aed4ec | 130 | - Added GPCRC support. |
<> | 150:02e0a0aed4ec | 131 | - Added support for WARNSEL, WINSEL and WDOGRSTDIS to em_wdog. Added interrupt |
<> | 150:02e0a0aed4ec | 132 | functions. Added support for multiple WDOG instances. Deprecated functions |
<> | 150:02e0a0aed4ec | 133 | WDOG_Enable(), WDOG_Feed(), WDOG_Init() and WDOG_Lock(). |
<> | 150:02e0a0aed4ec | 134 | - GPIO_EM4GetPinWakeupCause() now returns the content of the EM4WU field from |
<> | 150:02e0a0aed4ec | 135 | the GPIO_IF register for platform 2 devices. |
<> | 150:02e0a0aed4ec | 136 | - Added function GPIO_SlewrateSet() to set slewrate for GPIO ports. |
<> | 150:02e0a0aed4ec | 137 | - Added fix for GPIO_E201 in CHIP_Init(). |
<> | 150:02e0a0aed4ec | 138 | - Added function CMU_HFRCOBandGet() and CMU_HFRCOBandSet() for platform 2. |
<> | 150:02e0a0aed4ec | 139 | Functions with the same names are present for platform 1, but the parameter |
<> | 150:02e0a0aed4ec | 140 | and return types are different. Platform 1 and 2 also do not support the same |
<> | 150:02e0a0aed4ec | 141 | HFRCO/AUXHFRCO frequencies. |
<> | 150:02e0a0aed4ec | 142 | - Added HFLE wait-state control to CMU_HFRCOBandSet(). This is a bug on |
<> | 150:02e0a0aed4ec | 143 | EFM32 Wonder Gecko only as HFLE DIV4 is required at 24MHz, in between the 28HMz |
<> | 150:02e0a0aed4ec | 144 | and 21MHz HFRCO bands. |
<> | 150:02e0a0aed4ec | 145 | - Fixed reset-cause XMASKs for platform 2, gen 1 parts. Improved |
<> | 150:02e0a0aed4ec | 146 | documentation in em_rmu.c. |
<> | 150:02e0a0aed4ec | 147 | - Added support for configuring IrDA on USART1 for EFM32 Happy Gecko. The |
<> | 150:02e0a0aed4ec | 148 | function USART_InitIrDA() is deprecated, and replaced by USARTn_InitIrDA(). |
<> | 150:02e0a0aed4ec | 149 | - Added module em_ramfunc. Fixed issue with calls from em_msc RAM code to Flash. |
<> | 150:02e0a0aed4ec | 150 | - Updated current limiter threshold equations for LNCLIMILIMSEL, LPCLIMILIMSEL |
<> | 150:02e0a0aed4ec | 151 | and DCDCZDETCTRL. |
<> | 150:02e0a0aed4ec | 152 | - Member type EMU_DcdcLnTransientMode_TypeDef in EMU_DCDCInit_TypeDef changed to |
<> | 150:02e0a0aed4ec | 153 | EMU_DcdcLnReverseCurrentControl_TypeDef to enable support for reverse current |
<> | 150:02e0a0aed4ec | 154 | limiter. |
<> | 150:02e0a0aed4ec | 155 | - EM2/3 current consumption optimization: Default value |
<> | 150:02e0a0aed4ec | 156 | emuDcdcAnaPeripheralPower_AVDD in EMU_DCDCINIT_DEFAULT for EFR32 |
<> | 150:02e0a0aed4ec | 157 | changed to emuDcdcAnaPeripheralPower_DCDC. |
<> | 150:02e0a0aed4ec | 158 | - EM2/3 current consumption optimization: DCDC_LP_NFET_CNT updated to 7 |
<> | 150:02e0a0aed4ec | 159 | |
<> | 150:02e0a0aed4ec | 160 | 4.2.3: |
<> | 150:02e0a0aed4ec | 161 | - Added DMA and LDMA functions to enable/disable channel requests. |
<> | 150:02e0a0aed4ec | 162 | |
<> | 150:02e0a0aed4ec | 163 | 4.2.2: |
<> | 150:02e0a0aed4ec | 164 | - em_gpio.c: Use direct register write instead of BUS API in GPIO_PinModeSet |
<> | 150:02e0a0aed4ec | 165 | to prevent glitches. |
<> | 150:02e0a0aed4ec | 166 | |
<> | 144:ef7eb2e8f9f7 | 167 | 4.2.1: |
<> | 144:ef7eb2e8f9f7 | 168 | - Added errata fix for an issue that may cause BOD resets in EM2 when using |
<> | 144:ef7eb2e8f9f7 | 169 | DCDC-to-DVDD mode. The fix is implemented in EMU_DCDCInit(). |
<> | 144:ef7eb2e8f9f7 | 170 | - Added function EMU_DCDCPowerOff() for boards with physically disconnected DCDC. |
<> | 144:ef7eb2e8f9f7 | 171 | - Current consumption is optimized for DCDC bypass mode. This update is |
<> | 144:ef7eb2e8f9f7 | 172 | implemented in EMU_DCDCInit(). |
<> | 144:ef7eb2e8f9f7 | 173 | |
<> | 144:ef7eb2e8f9f7 | 174 | 4.2.0: |
<> | 144:ef7eb2e8f9f7 | 175 | - Updated I2C clock divider equation for platform 2 parts. Added constraints |
<> | 144:ef7eb2e8f9f7 | 176 | to HFPER clock frequency in I2C_BusFreqSet(). |
<> | 144:ef7eb2e8f9f7 | 177 | - EMU EMU_EM23VregMode_TypeDef replaced with a bool. |
<> | 144:ef7eb2e8f9f7 | 178 | - Added support for GPIO alternate drive strength and alternate control modes. |
<> | 144:ef7eb2e8f9f7 | 179 | - DCDC setup is simplified. More tuning and optimization settings added to |
<> | 144:ef7eb2e8f9f7 | 180 | EMU_DCDCInit(). |
<> | 144:ef7eb2e8f9f7 | 181 | - Added member pinRetentionMode to EMU_EM4Init_TypeDef. |
<> | 144:ef7eb2e8f9f7 | 182 | - Added function EMU_UnlatchPinRetention() to support unlatching of pin |
<> | 144:ef7eb2e8f9f7 | 183 | retention in EM4H/S. |
<> | 144:ef7eb2e8f9f7 | 184 | - Fixed bug in ADC_InitScan() which caused a overwrite of single conversion |
<> | 144:ef7eb2e8f9f7 | 185 | mode calibration values. |
<> | 150:02e0a0aed4ec | 186 | - Added support for CRYPTO module on EFM32 Pearl and Jade Gecko (em_crypto.c/h). |
<> | 144:ef7eb2e8f9f7 | 187 | |
<> | 144:ef7eb2e8f9f7 | 188 | 4.1.1: |
<> | 144:ef7eb2e8f9f7 | 189 | - EMU_DCDCInit() updated with new parameters for EM2 and 3. Current consumption |
<> | 150:02e0a0aed4ec | 190 | with DCDC at expected levels for EFR32 and EFM32 Pearl and Jade Gecko. |
<> | 144:ef7eb2e8f9f7 | 191 | - EMU_DCDCInit_TypeDef updated with more parameters. EMU_DcdcLpcmpBiasMode_TypeDef |
<> | 144:ef7eb2e8f9f7 | 192 | is removed. |
<> | 144:ef7eb2e8f9f7 | 193 | - More assertions added to EMU_DCDCInit(). |
<> | 144:ef7eb2e8f9f7 | 194 | - HFXO default parameters updated. |
<> | 144:ef7eb2e8f9f7 | 195 | - ADC defaults updated. |
<> | 144:ef7eb2e8f9f7 | 196 | - RMU pin mode set fixed. |
<> | 144:ef7eb2e8f9f7 | 197 | - Added missing define for cmuSelect_ULFRCO. |
<> | 144:ef7eb2e8f9f7 | 198 | - Added missing functions for handling peripheral interrupts. |
<> | 144:ef7eb2e8f9f7 | 199 | - Added support for VMON. |
<> | 144:ef7eb2e8f9f7 | 200 | |
<> | 144:ef7eb2e8f9f7 | 201 | 4.1.0: |
<> | 150:02e0a0aed4ec | 202 | - New signature for RMU_ResetControl() function. |
<> | 144:ef7eb2e8f9f7 | 203 | - The typedef EMU_EM23Init_TypeDef which is a parameter to EMU_EM23Init() |
<> | 144:ef7eb2e8f9f7 | 204 | has got a new definition. |
<> | 150:02e0a0aed4ec | 205 | - Initial support _SILICON_LABS_32B_PLATFORM_2 devices added. |
<> | 144:ef7eb2e8f9f7 | 206 | |
<> | 144:ef7eb2e8f9f7 | 207 | 4.0.0: |
<> | 144:ef7eb2e8f9f7 | 208 | - Use ARM CMSIS version 4.2.0. |
<> | 144:ef7eb2e8f9f7 | 209 | - New style version macros in em_version.h. |
<> | 144:ef7eb2e8f9f7 | 210 | |
<> | 144:ef7eb2e8f9f7 | 211 | 3.20.14: |
<> | 144:ef7eb2e8f9f7 | 212 | - USB release only. |
<> | 144:ef7eb2e8f9f7 | 213 | |
<> | 144:ef7eb2e8f9f7 | 214 | 3.20.13: |
<> | 144:ef7eb2e8f9f7 | 215 | - Added new style family #defines in em_system.h, including EZR32 families. |
<> | 144:ef7eb2e8f9f7 | 216 | - Fixed I2C_FREQ_STANDARD_MAX macros. |
<> | 144:ef7eb2e8f9f7 | 217 | - Fixed bug in MSC_WriteWord which called internal functions that were linked |
<> | 144:ef7eb2e8f9f7 | 218 | to flash for armgcc. All subsequent calls of MSC_WriteWord should now be |
<> | 150:02e0a0aed4ec | 219 | linked to RAM for all supported compilers. The internals of MSC_WriteWord() |
<> | 144:ef7eb2e8f9f7 | 220 | will check the global variable SystemCoreClock in order to make sure the |
<> | 144:ef7eb2e8f9f7 | 221 | frequency is high enough for flash operations. If the core clock frequency |
<> | 144:ef7eb2e8f9f7 | 222 | is changed, software is responsible for calling MSC_Init or |
<> | 144:ef7eb2e8f9f7 | 223 | SystemCoreClockGet in order to set the SystemCoreClock variable to the |
<> | 144:ef7eb2e8f9f7 | 224 | correct value. |
<> | 144:ef7eb2e8f9f7 | 225 | - Added errata fix IDAC_101. |
<> | 144:ef7eb2e8f9f7 | 226 | |
<> | 144:ef7eb2e8f9f7 | 227 | 3.20.12: |
<> | 144:ef7eb2e8f9f7 | 228 | - Added errata fix EMU_108. |
<> | 144:ef7eb2e8f9f7 | 229 | - #ifdef's now use register defines instead of a mix of register and family defines. |
<> | 144:ef7eb2e8f9f7 | 230 | - Added a case for when there are only 4 DMA channels available: |
<> | 144:ef7eb2e8f9f7 | 231 | Alignment was (correctly) defined at 7 bit, but got asserted for 8 bit, leading |
<> | 144:ef7eb2e8f9f7 | 232 | to unpredictable tripped asserts. |
<> | 144:ef7eb2e8f9f7 | 233 | - Added USART_INITPRSTRIGGER_DEFAULT defined structure to support HWCONF. |
<> | 144:ef7eb2e8f9f7 | 234 | - Added support for LFC clock tree. |
<> | 144:ef7eb2e8f9f7 | 235 | - Added CMU_USHFRCOBandSet() and CMU_USHFRCOBandGet(). |
<> | 144:ef7eb2e8f9f7 | 236 | |
<> | 144:ef7eb2e8f9f7 | 237 | 3.20.10: |
<> | 144:ef7eb2e8f9f7 | 238 | - Maintenance release, no changes. |
<> | 144:ef7eb2e8f9f7 | 239 | |
<> | 144:ef7eb2e8f9f7 | 240 | 3.20.9: |
<> | 144:ef7eb2e8f9f7 | 241 | - Added support for Happy Gecko including support for the new oscillator USHFRCO. |
<> | 144:ef7eb2e8f9f7 | 242 | - Added MSC_WriteWordFast() function. This flash write function has a similar |
<> | 144:ef7eb2e8f9f7 | 243 | performance as the old MSC_WriteWord(), but it disables interrupts and |
<> | 144:ef7eb2e8f9f7 | 244 | requires a core clock frequency of at least 14MHz. The new MSC_WriteWord() |
<> | 144:ef7eb2e8f9f7 | 245 | is slower, but it does not disable interrupts and may be called with core |
<> | 144:ef7eb2e8f9f7 | 246 | clock frequencies down to 1MHz. |
<> | 144:ef7eb2e8f9f7 | 247 | - Fixed a bug in EMU_EnterEM4() that set other EM4 configuration bits to 0 |
<> | 144:ef7eb2e8f9f7 | 248 | on EM4 entry. |
<> | 144:ef7eb2e8f9f7 | 249 | - Added EMU_EM23Init(). |
<> | 144:ef7eb2e8f9f7 | 250 | - Fixed a bug in CMU_FlashWaitStateControl() where it failed to set the |
<> | 144:ef7eb2e8f9f7 | 251 | required wait-state configuration if the MSC is locked. |
<> | 144:ef7eb2e8f9f7 | 252 | - Added EMU interrupt handling functions. |
<> | 144:ef7eb2e8f9f7 | 253 | - BURTC_Reset() changed to use async reset RMU_CTRL_BURSTEN instead of |
<> | 144:ef7eb2e8f9f7 | 254 | reset value writeback. This makes the function independent of a selected |
<> | 144:ef7eb2e8f9f7 | 255 | and enabled clock. |
<> | 144:ef7eb2e8f9f7 | 256 | - BURTC_Sync() now returns without waiting for BURTC->SYNCBUSY to clear |
<> | 144:ef7eb2e8f9f7 | 257 | when no clock is selected in BURTC_CTRL_CLKSEL. |
<> | 144:ef7eb2e8f9f7 | 258 | - Fixed assertion bug in ACMP_ChannelSet() that checked the negSel parameter |
<> | 144:ef7eb2e8f9f7 | 259 | against the wrong upper bound. |
<> | 144:ef7eb2e8f9f7 | 260 | |
<> | 144:ef7eb2e8f9f7 | 261 | 3.20.7: |
<> | 144:ef7eb2e8f9f7 | 262 | - Fixed CMU_MAX_FREQ_HFLE macro for Wonder family. |
<> | 144:ef7eb2e8f9f7 | 263 | - Fixed MSC_WriteWord() bug. |
<> | 144:ef7eb2e8f9f7 | 264 | - Added syncbusy wait in RTC_Reset() for Gecko family. |
<> | 144:ef7eb2e8f9f7 | 265 | |
<> | 144:ef7eb2e8f9f7 | 266 | 3.20.6: |
<> | 144:ef7eb2e8f9f7 | 267 | - Corrected fix for Errata EMU_E107. |
<> | 144:ef7eb2e8f9f7 | 268 | |
<> | 144:ef7eb2e8f9f7 | 269 | 3.20.5: |
<> | 144:ef7eb2e8f9f7 | 270 | - Updated license texts. |
<> | 144:ef7eb2e8f9f7 | 271 | - Removed unnecessary fix for Wonder Gecko. |
<> | 144:ef7eb2e8f9f7 | 272 | - Updated LFXO temperature compensation in CHIP_Init(). |
<> | 144:ef7eb2e8f9f7 | 273 | - Changed LESENSE_ScanStart, LESENSE_ScanStop, LESENSE_DecoderStart, |
<> | 144:ef7eb2e8f9f7 | 274 | LESENSE_ResultBufferClear() and LESENSE_Reset() functions to wait until |
<> | 144:ef7eb2e8f9f7 | 275 | CMD register writes complete in order to make sure CMD register writes do |
<> | 144:ef7eb2e8f9f7 | 276 | not break each other, and for register values to be consistent when |
<> | 144:ef7eb2e8f9f7 | 277 | returning from functions that write to the CMD register. |
<> | 144:ef7eb2e8f9f7 | 278 | - Added fix for Errata EMU_E107. |
<> | 144:ef7eb2e8f9f7 | 279 | - Added family to SYSTEM_ChipRevision_TypeDef. |
<> | 144:ef7eb2e8f9f7 | 280 | - Fixed bug in function AES_OFB128 which failed on Zero Gecko. |
<> | 144:ef7eb2e8f9f7 | 281 | - Fixed RMU_ResetCauseGet() to return correct reset causes. |
<> | 144:ef7eb2e8f9f7 | 282 | - Fixed bug in RTC_CounterReset() which failed to reset counter immediately |
<> | 144:ef7eb2e8f9f7 | 283 | after return on Gecko devices. |
<> | 144:ef7eb2e8f9f7 | 284 | - Added static inline non-blocking USART receive functions (USART_Rx...). |
<> | 144:ef7eb2e8f9f7 | 285 | - Added function SYSTEM_GetFamily(). |
<> | 144:ef7eb2e8f9f7 | 286 | - Added function DAC_ChannelOutputSet(). |
<> | 144:ef7eb2e8f9f7 | 287 | - Fixed MSC_WriteWord() to not use WDOUBLE if LPWRITE is set. |
<> | 144:ef7eb2e8f9f7 | 288 | |
<> | 144:ef7eb2e8f9f7 | 289 | 3.20.2: |
<> | 144:ef7eb2e8f9f7 | 290 | - Fixed bug regarding when MEMINFO in DEVINFO was introduced. |
<> | 144:ef7eb2e8f9f7 | 291 | The correct crossover is production revision 18. |
<> | 144:ef7eb2e8f9f7 | 292 | - Fixed bug in WDOG_Feed() which does not feed the watchdog if the watchdog |
<> | 144:ef7eb2e8f9f7 | 293 | is disabled. Previously, the watchdog was broken after WDOG_Feed() fed it |
<> | 144:ef7eb2e8f9f7 | 294 | when it was disabled. |
<> | 144:ef7eb2e8f9f7 | 295 | - Fixed issue in em_i2c.c, which should set the NACK bit in the I2C CMD |
<> | 144:ef7eb2e8f9f7 | 296 | register for the next to last byte received. The exception is when only |
<> | 144:ef7eb2e8f9f7 | 297 | one byte is to be received. Then the NACK bit must be set like the |
<> | 144:ef7eb2e8f9f7 | 298 | previous code was doing. |
<> | 144:ef7eb2e8f9f7 | 299 | - Added function BURTC_ClockFreqGet() in order to determine clock frequency |
<> | 144:ef7eb2e8f9f7 | 300 | of BURTC. |
<> | 144:ef7eb2e8f9f7 | 301 | - Fixed bug in BURTC_Reset() which made a subsequent call to BURTC_Init hang. |
<> | 144:ef7eb2e8f9f7 | 302 | - Added support for the IDAC module on the Zero Gecko family, em_idac.c/h. |
<> | 144:ef7eb2e8f9f7 | 303 | - Fixed bug in DAC_PrescaleCalc() which could return higher values than |
<> | 144:ef7eb2e8f9f7 | 304 | the maximum prescaler value. The fix makes sure to return the max prescaler |
<> | 144:ef7eb2e8f9f7 | 305 | value resulting in possible higher DAC frequency than requested. |
<> | 144:ef7eb2e8f9f7 | 306 | - Fixed I2C_BusFreqSet to use documented values for Nlow and Nhigh values, |
<> | 144:ef7eb2e8f9f7 | 307 | and do not decrement the div(isor) by one according to the formula because |
<> | 144:ef7eb2e8f9f7 | 308 | this resulted in higher I2C bus frequencies than desired. |
<> | 144:ef7eb2e8f9f7 | 309 | |
<> | 144:ef7eb2e8f9f7 | 310 | 3.20.0: |
<> | 144:ef7eb2e8f9f7 | 311 | - LEUART: Added LEUART_TxDmaInEM2Enable() and LEUART_RxDmaInEM2Enable() for |
<> | 144:ef7eb2e8f9f7 | 312 | enabling and disabling DMA LEUART RX and Tx in EM2 support. |
<> | 144:ef7eb2e8f9f7 | 313 | |
<> | 144:ef7eb2e8f9f7 | 314 | 3.0.3: |
<> | 144:ef7eb2e8f9f7 | 315 | - Internal release for testing Wonder Gecko support. |
<> | 144:ef7eb2e8f9f7 | 316 | - SYSTEM: Added function to enable/disable FPU access on Wonder parts, |
<> | 144:ef7eb2e8f9f7 | 317 | SYSTEM_FpuAccessModeSet(). |
<> | 144:ef7eb2e8f9f7 | 318 | - USART: Added USART_SpiTransfer() function. |
<> | 144:ef7eb2e8f9f7 | 319 | |
<> | 144:ef7eb2e8f9f7 | 320 | 3.0.2: |
<> | 144:ef7eb2e8f9f7 | 321 | - MSC: In MSC_WriteWord(), added support for double word write cycle support |
<> | 144:ef7eb2e8f9f7 | 322 | (WDOUBLE) on devices with more than 512KiBytes of Flash memory. This can |
<> | 144:ef7eb2e8f9f7 | 323 | almost double the speed of the MSC_WriteWord function for large data sizes. |
<> | 144:ef7eb2e8f9f7 | 324 | - MSC: In MSC_ErasePage(), added support for devices with Flash page size |
<> | 144:ef7eb2e8f9f7 | 325 | larger than 512 bytes, like Giant and Leopard Gecko. |
<> | 144:ef7eb2e8f9f7 | 326 | - CMU: Fixed bug in CMU_ClockDivSet(). Clear HFLE and HFCORECLKLEDIV flags when |
<> | 144:ef7eb2e8f9f7 | 327 | the core runs at frequencies up to 32MHz. |
<> | 144:ef7eb2e8f9f7 | 328 | - CMU: Fixed bug in CMU_ClockEnable(): Set the HFLE and HFCORECLKLEDIV flags |
<> | 144:ef7eb2e8f9f7 | 329 | when the CORE clock runs at frequencies higher than 32MHz. |
<> | 144:ef7eb2e8f9f7 | 330 | - CMU: Fixed bug in CMU_ClockSelectSet(): Set HFLE and DIV4 factor for peripheral |
<> | 144:ef7eb2e8f9f7 | 331 | clock if HFCORE clock for LE is enabled and the CORE clock runs at |
<> | 144:ef7eb2e8f9f7 | 332 | frequencies higher than 32MHz. |
<> | 144:ef7eb2e8f9f7 | 333 | - BITBAND: Added BITBAND_PeripheralRead() and BITBAND_SRAMRead() functions. |
<> | 144:ef7eb2e8f9f7 | 334 | - DMA: Added #ifndef EXCLUDE_DEFAULT_DMA_IRQ_HANDLER around DMA_IRQHandler in |
<> | 144:ef7eb2e8f9f7 | 335 | order for the user to implement a custom IRQ handler or run without a DMA |
<> | 144:ef7eb2e8f9f7 | 336 | IRQ handler by defining EXCLUDE_DEFAULT_DMA_IRQ_HANDLER with the -D compiler |
<> | 144:ef7eb2e8f9f7 | 337 | option. |
<> | 144:ef7eb2e8f9f7 | 338 | - BURTC: In functions BURTC_Init() and BURTC_CompareSet(), moved SYNCBUSY |
<> | 144:ef7eb2e8f9f7 | 339 | loops in front of modifications of registers COMP0 and LPMODE. |
<> | 144:ef7eb2e8f9f7 | 340 | - MSC: Fixed ram_code section error on Keil toolchain. |
<> | 144:ef7eb2e8f9f7 | 341 | - MSC: Removed uneeded code from MSC init and deinit which would have no |
<> | 144:ef7eb2e8f9f7 | 342 | effect (Big thanks to Martin Schreiber for reporting this bug!). |
<> | 144:ef7eb2e8f9f7 | 343 | - System: Added access functions for reading some values out of the Device |
<> | 144:ef7eb2e8f9f7 | 344 | Information page. |
<> | 144:ef7eb2e8f9f7 | 345 | |
<> | 144:ef7eb2e8f9f7 | 346 | 3.0.1: |
<> | 144:ef7eb2e8f9f7 | 347 | - LFXO fix for Giant family. |
<> | 144:ef7eb2e8f9f7 | 348 | - USART: Fix for EFM32TG108Fxx which does not have USART0. |
<> | 144:ef7eb2e8f9f7 | 349 | - EBI: The write to the CTRL register now happens before the ROUTE registers |
<> | 144:ef7eb2e8f9f7 | 350 | are set. This avoids potential glitches. |
<> | 144:ef7eb2e8f9f7 | 351 | - LESENSE: Fix issue when using lesenseAltExMapACMP. |
<> | 144:ef7eb2e8f9f7 | 352 | - TIMER: Fix compilation on devices where ADC is not available. |
<> | 144:ef7eb2e8f9f7 | 353 | - LCD: Fix bug where Aloc field would not be set to 0. |
<> | 144:ef7eb2e8f9f7 | 354 | - BURTC: Fix Reset function by adding reset of COMP0 register and removing |
<> | 144:ef7eb2e8f9f7 | 355 | reset of POWERDOWN register. The POWERDOWN register cannot be used to |
<> | 144:ef7eb2e8f9f7 | 356 | power up the blocks after it has been powered down. |
<> | 144:ef7eb2e8f9f7 | 357 | - CMU: Fixed bug where ClockDivSet, ClockDivGet and ClockFreqGet didn't work for |
<> | 144:ef7eb2e8f9f7 | 358 | cmuClock_LCDpre clock. Also corrected 3 wrongly typed constants. |
<> | 144:ef7eb2e8f9f7 | 359 | - CMU: Fixed bug where LFBE field in LFCLKSEL was not cleared before setting |
<> | 144:ef7eb2e8f9f7 | 360 | bit-value. |
<> | 144:ef7eb2e8f9f7 | 361 | - CMU: Fixed bug with CMU_ClockSelectGet. Did not give correct return value |
<> | 144:ef7eb2e8f9f7 | 362 | for cmuClock_LFB. |
<> | 144:ef7eb2e8f9f7 | 363 | - I2C: Fixed bug where I2C_Init would set divisor depending on the previous |
<> | 144:ef7eb2e8f9f7 | 364 | master/slave configuration, not the one set in the initialization. |
<> | 144:ef7eb2e8f9f7 | 365 | - I2C: Fixed issue in the function I2C_BusFreqSet (called by I2C_Init). The |
<> | 144:ef7eb2e8f9f7 | 366 | input parameter 'I2C_ClockHLR_TypeDef type' was not in use. The fix enables |
<> | 144:ef7eb2e8f9f7 | 367 | the parameter to add support for 'i2cClockHLRAsymetric' and 'i2cClockHLRFast' |
<> | 144:ef7eb2e8f9f7 | 368 | modes. In order to use 'i2cClockHLRAsymetric' and 'i2cClockHLRFast' the |
<> | 144:ef7eb2e8f9f7 | 369 | frequency of the HFPER clock may need to be increased. |
<> | 144:ef7eb2e8f9f7 | 370 | - OPAMP: Fixed bug in the function OPAMP_Enable where an incorrect register |
<> | 144:ef7eb2e8f9f7 | 371 | was used when setting the OPA2 calibration value. |
<> | 144:ef7eb2e8f9f7 | 372 | - LEUART: Fixed issue in LEUART_BaudrateSet when a high clock frequency and a |
<> | 144:ef7eb2e8f9f7 | 373 | low baudrate can overflow the clock divisor register (CLKDIV). The fix uses |
<> | 144:ef7eb2e8f9f7 | 374 | an assert statement to check whether the calculated clock divisor is out of |
<> | 144:ef7eb2e8f9f7 | 375 | range. |
<> | 144:ef7eb2e8f9f7 | 376 | - USART: Fixed issue in USART_BaudrateAsyncSet when a high clock frequency and |
<> | 144:ef7eb2e8f9f7 | 377 | a low baudrate can overflow the clock divisor register (CLKDIV). The fix uses |
<> | 144:ef7eb2e8f9f7 | 378 | an assert statement to check whether the calculated clock divisor is out of |
<> | 144:ef7eb2e8f9f7 | 379 | range. |
<> | 144:ef7eb2e8f9f7 | 380 | |
<> | 144:ef7eb2e8f9f7 | 381 | 3.0.0: |
<> | 144:ef7eb2e8f9f7 | 382 | - efm32lib renamed emlib, as it will include support for non-EFM32 devices |
<> | 144:ef7eb2e8f9f7 | 383 | in the future |
<> | 144:ef7eb2e8f9f7 | 384 | - Added CMSIS_V3 compatibility fixes, and use of CMSIS_V3 definitions |
<> | 144:ef7eb2e8f9f7 | 385 | - See Device/Changes-EnergyMicro.txt for detailed path changes |
<> | 144:ef7eb2e8f9f7 | 386 | - New prefixes of all files, efm32_<peripherqal>.c/h to em_<peripheral>.c/h |
<> | 144:ef7eb2e8f9f7 | 387 | - New names for readme and changes files |
<> | 144:ef7eb2e8f9f7 | 388 | - RMU - BUMODERST not masked away when EM4 bits has been set |
<> | 144:ef7eb2e8f9f7 | 389 | - CMU - CMU_LFClkGet now accounts for ULFRCO bit for Tiny Gecko |
<> | 144:ef7eb2e8f9f7 | 390 | |
<> | 144:ef7eb2e8f9f7 | 391 | 2.4.1: |
<> | 144:ef7eb2e8f9f7 | 392 | - New, open source friendly license |
<> | 144:ef7eb2e8f9f7 | 393 | - Fixed BURTC initialization hang if init->enable was false |
<> | 144:ef7eb2e8f9f7 | 394 | - Fixed CMU issue with USBC and USB checks not being used correctly |
<> | 144:ef7eb2e8f9f7 | 395 | - Added CMU feature, missing TIMER3 support |
<> | 144:ef7eb2e8f9f7 | 396 | - Improved accuracy of SPI mode for USART baudrate calculation |
<> | 144:ef7eb2e8f9f7 | 397 | - Corrected USBC HFCLKNODIV setting to comply with new header file defines |
<> | 144:ef7eb2e8f9f7 | 398 | |
<> | 144:ef7eb2e8f9f7 | 399 | 2.4.0: |
<> | 144:ef7eb2e8f9f7 | 400 | - Added efm32_version.h defining software version number |
<> | 144:ef7eb2e8f9f7 | 401 | - Added BURTC support for Giant and Leopard Gecko |
<> | 144:ef7eb2e8f9f7 | 402 | - Added RMU_ResetControl for BU reset flag |
<> | 144:ef7eb2e8f9f7 | 403 | - Added some missing features to EMU for back up domain and EM4 support |
<> | 144:ef7eb2e8f9f7 | 404 | - ADC TimebaseCalc(), Giant/Leopard Gecko have max 5 bits in TIMEBASE field |
<> | 144:ef7eb2e8f9f7 | 405 | - Removed EMU Backup Power Domain threshold setings from EMU_BUPDInit, added |
<> | 144:ef7eb2e8f9f7 | 406 | EMU_BUThresRangeSet() and EMU_BUThresholdSet() API calls. Threshold values |
<> | 144:ef7eb2e8f9f7 | 407 | are factory calibrated and should not usually be overridden by the user. |
<> | 144:ef7eb2e8f9f7 | 408 | |
<> | 144:ef7eb2e8f9f7 | 409 | 2.3.2: |
<> | 144:ef7eb2e8f9f7 | 410 | - Added Tiny Gecko and Giant Gecko support in RMU for new reset causes |
<> | 144:ef7eb2e8f9f7 | 411 | - CMU_ClockFreqGet will now report correct clock rates if HFLE is set (/4) |
<> | 144:ef7eb2e8f9f7 | 412 | - Added Giant Gecko specific MSC_MassErase(), erase entire flash |
<> | 144:ef7eb2e8f9f7 | 413 | - Added Giant Gecko specific MSC_BusStrategy (inline) function |
<> | 144:ef7eb2e8f9f7 | 414 | - MSC_Init() will now configure TIMEBASE correctly according to AUXHFRCO clock |
<> | 144:ef7eb2e8f9f7 | 415 | rate for Tiny Gecko and Giant Gecko |
<> | 144:ef7eb2e8f9f7 | 416 | |
<> | 144:ef7eb2e8f9f7 | 417 | 2.3.0: |
<> | 144:ef7eb2e8f9f7 | 418 | - USART - Added USART_InitPrsTrigger to initialize USART PRS triggered |
<> | 144:ef7eb2e8f9f7 | 419 | transmissions. |
<> | 144:ef7eb2e8f9f7 | 420 | - CMU - numerous updates, now supports full clock tree of Giant/Tiny Gecko |
<> | 144:ef7eb2e8f9f7 | 421 | - CMU_ClockDivSet/Get will now use real dividend and not logarithmic values |
<> | 144:ef7eb2e8f9f7 | 422 | as earlier. Prior enumerated values have been kept for backward compatibility. |
<> | 144:ef7eb2e8f9f7 | 423 | - Added support for CMU HFLE and DIV4 factor for core clock for LE |
<> | 144:ef7eb2e8f9f7 | 424 | peripherals |
<> | 144:ef7eb2e8f9f7 | 425 | - Added support for alternate LCD segment animation range for Giant Gecko |
<> | 144:ef7eb2e8f9f7 | 426 | - Fixed bug: Don't enable VCMP low power reference until after warm up, |
<> | 144:ef7eb2e8f9f7 | 427 | allow biasprog value of 0 in VCMP_Init() |
<> | 144:ef7eb2e8f9f7 | 428 | - Added support for ALTMAP (256MB address map) in EBI_BankAddress() |
<> | 144:ef7eb2e8f9f7 | 429 | - TIMER_Init() will now reset CNT value |
<> | 144:ef7eb2e8f9f7 | 430 | |
<> | 144:ef7eb2e8f9f7 | 431 | 2.2.2: |
<> | 144:ef7eb2e8f9f7 | 432 | - Added DAC0 channel 0 and 1 to ACMP for Tiny and Giant devices |
<> | 144:ef7eb2e8f9f7 | 433 | - Fixed bug in CMU for MSC WAITSTATE configuration, leading to too high wait |
<> | 144:ef7eb2e8f9f7 | 434 | states depending on clock rate |
<> | 144:ef7eb2e8f9f7 | 435 | - Fixed bug in CMU for UART1 clock enable |
<> | 144:ef7eb2e8f9f7 | 436 | |
<> | 144:ef7eb2e8f9f7 | 437 | 2.2.1: |
<> | 144:ef7eb2e8f9f7 | 438 | - UART_Reset() and LEUART_Reset() will now reset ROUTE register as well, this |
<> | 144:ef7eb2e8f9f7 | 439 | will mean GPIO pins will not be driven after this call. Take care to ensure |
<> | 144:ef7eb2e8f9f7 | 440 | that GPIO ROUTE register is configured after calls to *UART_Init*Sync |
<> | 144:ef7eb2e8f9f7 | 441 | - Fixed problems with EFM_ASSERT when using UART in USART API |
<> | 144:ef7eb2e8f9f7 | 442 | - Added Giant Gecko support for EBI (new modes and TFT direct drive) |
<> | 144:ef7eb2e8f9f7 | 443 | - Added Giant Gecko support for CMU 2 WAIT STATES, and I2C1 |
<> | 144:ef7eb2e8f9f7 | 444 | - Added Giant Gecko support for UART1 in CMU |
<> | 144:ef7eb2e8f9f7 | 445 | - Added Giant Gecko support for DMA LOOP and 2D Copy operations |
<> | 144:ef7eb2e8f9f7 | 446 | |
<> | 144:ef7eb2e8f9f7 | 447 | 2.1.0: |
<> | 144:ef7eb2e8f9f7 | 448 | - EMU_Restore will now disable HFRCO if it was not enabled when entering |
<> | 144:ef7eb2e8f9f7 | 449 | an Energy Mode |
<> | 144:ef7eb2e8f9f7 | 450 | - Run time changes only applies to Gecko devices, filter out Tiny and Giant |
<> | 144:ef7eb2e8f9f7 | 451 | for CHIP_Init(); |
<> | 144:ef7eb2e8f9f7 | 452 | - Added const specificers to various initialization structures, to ensure |
<> | 144:ef7eb2e8f9f7 | 453 | they can reside in flash instead of SRAM |
<> | 144:ef7eb2e8f9f7 | 454 | - Bugfix in efm32_i2c.c, keep returning i2cTransferInProgress until done |
<> | 144:ef7eb2e8f9f7 | 455 | |
<> | 144:ef7eb2e8f9f7 | 456 | 2.0.1: |
<> | 144:ef7eb2e8f9f7 | 457 | - Changed enum OPAMP_PosSel_TypeDef. Enum value opaPosSelOpaIn changed from |
<> | 144:ef7eb2e8f9f7 | 458 | DAC_OPA0MUX_POSSEL_OPA1IN to DAC_OPA0MUX_POSSEL_OPA0INP. |
<> | 144:ef7eb2e8f9f7 | 459 | - Bugfix in efm32_lesense.h, LESENSE_ChClk_TypeDef now contains unshifted |
<> | 144:ef7eb2e8f9f7 | 460 | values, fixed the implementation in efm32_lesense.c where the bug prevented |
<> | 144:ef7eb2e8f9f7 | 461 | the sampleClk to be set to AUXHFRCO. |
<> | 144:ef7eb2e8f9f7 | 462 | |
<> | 144:ef7eb2e8f9f7 | 463 | 2.0.0: |
<> | 144:ef7eb2e8f9f7 | 464 | - USART_Init-functions now calls USART_Reset() which will also disable/reset |
<> | 144:ef7eb2e8f9f7 | 465 | interrupt |
<> | 144:ef7eb2e8f9f7 | 466 | - USART_BaudrateSyncSet() now asserts on invalid oversample configuration |
<> | 144:ef7eb2e8f9f7 | 467 | - Added initialization of parity bit in LEUART_Init() |
<> | 144:ef7eb2e8f9f7 | 468 | - Added Tiny Gecko support for CMU, ULFRCO, LESENSE clocks and continuous |
<> | 144:ef7eb2e8f9f7 | 469 | calibration |
<> | 144:ef7eb2e8f9f7 | 470 | - Added Tiny Gecko support for GPIO, EM4 pin retention and wake up support |
<> | 144:ef7eb2e8f9f7 | 471 | - Added Tiny Gecko support for I2S, SPI auto TX mode on USART |
<> | 144:ef7eb2e8f9f7 | 472 | - Added Tiny Gecko support for CACHE mesasurements for MSC module |
<> | 144:ef7eb2e8f9f7 | 473 | - Added Tiny Gecko support for LCD module (with no HIGH segment registers) |
<> | 144:ef7eb2e8f9f7 | 474 | - Added Tiny Gecko support for TIMER, PWM 2x, (DT lock not supported) |
<> | 144:ef7eb2e8f9f7 | 475 | - Added Tiny Gecko support for LESENSE module |
<> | 144:ef7eb2e8f9f7 | 476 | - Added Tiny Gecko support for PRS input in PCNT |
<> | 144:ef7eb2e8f9f7 | 477 | - Added Tiny Gecko support for async signals in PRS, PRS_SourceAsyncSignalSet() |
<> | 144:ef7eb2e8f9f7 | 478 | - Initial support for some Giant Gecko features, where overlapping with Tiny |
<> | 144:ef7eb2e8f9f7 | 479 | - Removed LPFEN / LPFREQ support from DAC |
<> | 144:ef7eb2e8f9f7 | 480 | - Fixed comments around interrupt functions, making it clear it is bitwise |
<> | 144:ef7eb2e8f9f7 | 481 | logical or interrupt flags |
<> | 144:ef7eb2e8f9f7 | 482 | - Fixed PCNT initialization for external clock configurations, making sure |
<> | 144:ef7eb2e8f9f7 | 483 | config is synchronized at startup to 3 clocks. Note fix only works for |
<> | 144:ef7eb2e8f9f7 | 484 | >revC EFM32G devices. |
<> | 144:ef7eb2e8f9f7 | 485 | - Fixed efm32_cmu.c, EFM_ASSERT statement for LEUART clock div logic was |
<> | 144:ef7eb2e8f9f7 | 486 | inverted |
<> | 144:ef7eb2e8f9f7 | 487 | - Fixed ADC_InitScan, PRSSEL shift value corrected |
<> | 144:ef7eb2e8f9f7 | 488 | - Fixed CMU_ClockFreqGet for devices that do not have I2C |
<> | 144:ef7eb2e8f9f7 | 489 | - Fixed I2C_TransferInit for devices with more than one I2C-bus (Giant Gecko) |
<> | 144:ef7eb2e8f9f7 | 490 | - Changed ACMP_Disable() implementation, now only disables the ACMP instance |
<> | 144:ef7eb2e8f9f7 | 491 | by clearing the EN bit in the CTRL register |
<> | 144:ef7eb2e8f9f7 | 492 | - Removed ACMP_DisableNoReset() function |
<> | 144:ef7eb2e8f9f7 | 493 | - Fixed ACMP_Init(), removed automatic enabling, added new structure member |
<> | 144:ef7eb2e8f9f7 | 494 | "enaReq" for ACMP_Init_TypeDef to control, fixed the EFM_ASSERT of the |
<> | 144:ef7eb2e8f9f7 | 495 | biasprog parameter |
<> | 144:ef7eb2e8f9f7 | 496 | - Added default configuration macro ACMP_INIT_DEFAULT for ACMP_Init_TypeDef |
<> | 144:ef7eb2e8f9f7 | 497 | - Fixed ACMP_CapsenseInit(), removed automatic enabling, added new structure member |
<> | 144:ef7eb2e8f9f7 | 498 | "enaReq" for ACMP_CapsenseInit_TypeDef to control, fixed the EFM_ASSERT of |
<> | 144:ef7eb2e8f9f7 | 499 | the biasprog parameter |
<> | 144:ef7eb2e8f9f7 | 500 | - Changed the name of the default configuration macro for |
<> | 144:ef7eb2e8f9f7 | 501 | ACMP_CapsenseInit_TypeDef to ACMP_CAPSENSE_INIT_DEFAULT |
<> | 144:ef7eb2e8f9f7 | 502 | - Added RTC_Reset and RTC_CounterReset functions for RTC |
<> | 144:ef7eb2e8f9f7 | 503 | |
<> | 144:ef7eb2e8f9f7 | 504 | 1.3.0: |
<> | 144:ef7eb2e8f9f7 | 505 | - MSC is automatically enabled/disabled when using the MSC API. This saves |
<> | 144:ef7eb2e8f9f7 | 506 | power, and reduces errors due to not calling MSC_Init(). |
<> | 144:ef7eb2e8f9f7 | 507 | - Added API for controlling Cortex-M3 MPU (memory protection unit) |
<> | 144:ef7eb2e8f9f7 | 508 | - Adjusted bit fields to comply with latest CMSIS release, see EFM_CMSIS |
<> | 144:ef7eb2e8f9f7 | 509 | changes file for details |
<> | 144:ef7eb2e8f9f7 | 510 | - Fixed issue with bit mask clearing in ACMP |
<> | 144:ef7eb2e8f9f7 | 511 | - Functions ACMP_Enable and ACMP_DisableNoReset added |
<> | 144:ef7eb2e8f9f7 | 512 | - Added comment about rev.C chips in PCNT, CMD_LTOPBIM not neccessary any more |
<> | 144:ef7eb2e8f9f7 | 513 | - Added missing instance validity asserts to peripherals (ACMP, LEUART, USART) |
<> | 144:ef7eb2e8f9f7 | 514 | - Fixed UART0 check in CMU_ClockFreqGet() |
<> | 144:ef7eb2e8f9f7 | 515 | - Fixed command sync for PCNT before setting TOPB value during init |
<> | 144:ef7eb2e8f9f7 | 516 | - Fixed instance validity check macro in PCNT |
<> | 144:ef7eb2e8f9f7 | 517 | - Fixed TIMER_Reset() removed write to unimplemented timer channel registers |
<> | 144:ef7eb2e8f9f7 | 518 | - Fixed EFM_ASSERT statements in ACMP, VCMP |
<> | 144:ef7eb2e8f9f7 | 519 | - General code style update: added missing curly braces, default cases, etc. |
<> | 144:ef7eb2e8f9f7 | 520 | |
<> | 144:ef7eb2e8f9f7 | 521 | 1.2.1: |
<> | 144:ef7eb2e8f9f7 | 522 | - Feature complete efm32lib, now also includes peripheral API for modules |
<> | 144:ef7eb2e8f9f7 | 523 | AES,PCNT,MSC,ACMP,VCMP,LCD,EBI |
<> | 144:ef7eb2e8f9f7 | 524 | - Fixed _TIMER_CC_CTRL_ICEDGE flags for correct timer configuration |
<> | 144:ef7eb2e8f9f7 | 525 | - Fixed ADC calibration of Single and Scan mode of operation |
<> | 144:ef7eb2e8f9f7 | 526 | - Added PCNT (ChipRev A/B PCNT0 errata NOT supported) and AES support |
<> | 144:ef7eb2e8f9f7 | 527 | - Fixed conditional inclusion in efm32_emu.h |
<> | 144:ef7eb2e8f9f7 | 528 | - Fixed code for LEUART0 for devices with multiple LEUARTs. |
<> | 144:ef7eb2e8f9f7 | 529 | - Fixed incorrect setting of DOUT for GPIO configuration |
<> | 144:ef7eb2e8f9f7 | 530 | |
<> | 144:ef7eb2e8f9f7 | 531 | 1.1.4 |
<> | 144:ef7eb2e8f9f7 | 532 | - Fix for TIMER_INIT_DEFAULT |
<> | 144:ef7eb2e8f9f7 | 533 | |
<> | 144:ef7eb2e8f9f7 | 534 | 1.1.3: |
<> | 144:ef7eb2e8f9f7 | 535 | - Added ADC, DAC, LETIMER, PRS, TIMER (except DTI) support |
<> | 144:ef7eb2e8f9f7 | 536 | - Added utility for fetching chip revision (efm32_system.c/h) |
<> | 144:ef7eb2e8f9f7 | 537 | - Removed RTC instance ref in API, only one RTC will be supported |
<> | 144:ef7eb2e8f9f7 | 538 | (Affects also define in efm32_cmu.h) |
<> | 144:ef7eb2e8f9f7 | 539 | - Added default init struct macros for LEUART, USART |
<> | 144:ef7eb2e8f9f7 | 540 | - Added msbf parameter in USART synchronous init struct, USART_InitSync_TypeDef. |
<> | 144:ef7eb2e8f9f7 | 541 | - Updated reset for I2C, USART, LEUART to also reset IEN register. |
<> | 144:ef7eb2e8f9f7 | 542 | - Corrected fault in GPIO_PortOutSet() |
<> | 144:ef7eb2e8f9f7 | 543 | |
<> | 144:ef7eb2e8f9f7 | 544 | 1.1.2: |
<> | 144:ef7eb2e8f9f7 | 545 | - Corrected minor issues in EMU, EM3 mode when restoring clocks |
<> | 144:ef7eb2e8f9f7 | 546 | - Corrected RMU reset cause checking |
<> | 144:ef7eb2e8f9f7 | 547 | - Changed GPIO enumerator symbols to start with gpio (from GPIO_) |
<> | 144:ef7eb2e8f9f7 | 548 | - Changed CMU and WDOG enum typedefs to start with CMU_/WDOG_ (from cmu/wdog) |
<> | 144:ef7eb2e8f9f7 | 549 | - Added USART/UART, LEUART, DMA, I2C support |
<> | 144:ef7eb2e8f9f7 | 550 | |
<> | 144:ef7eb2e8f9f7 | 551 | 1.1.1: |
<> | 144:ef7eb2e8f9f7 | 552 | - First version including support for CMU, DBG, EMU, GPIO, RTC, WDOG |