EFM32 Wonder Gecko EFM32WG Errata This document contains information on the EFM32WG errata. The latest available revision of this device is revision A. For errata on older revisions, refer to the errata history section for the device. The revision information is typically specified in or near the trace code on the device. Refer to the package marking information in the data sheet for more information. Errata effective date: January 2019. silabs.com | Building a more connected world. Rev. 1.30 EFM32WG Errata Active Errata Summary 1. Active Errata Summary These tables list all known errata for the EFM32WG and all unresolved errata in revision A of the EFM32WG. Table 1.1. Errata History Overview Designator Title/Problem Exists on Revision: A BU_E105 LFXO Missing Cycles During IOVDD Ramping X CMU_E114 Device Not Waking Up From EM2 When Using Prescaled Non-HFRCO Oscillator as HFCLK X DAC_E109 DAC Output Drift Over Lifetime X DMA_E102 2D Copy Corrupted by Ping-Pong or Scatter-Gather Operation on Another Channel X EMU_E107 Interrupts During EM2 Entry X EMU_E110 Potential Hard Fault when Exiting EM2 or EM3 X LCD_E103 Indeterminate Animation Engine Start-Up X LCD_E104 Increased Current Draw when VLCD > VDDIO and LCD Pins are Used for GPIO X PCNT_E102 PCNT Pulse Width Filtering Does Not Work X RMU_E101 POR Calibration Initialization Issue X RMU_E102 Regulator Output May Be 0V After Supply Falls to Intermediate Voltage and Recovers X RMU_E103 Reset May Fail to Trigger During Supply Voltage Brownouts X TIMER_E103 Capture/Compare Output is Unreliable with RSSCOIST Enabled X USART_E113 IrDA Modulation and Transmission of PRS Input Data X USB_E103 HNP Sequence Fails if A-Device Connects After 3.4 ms X USB_E104 USB A-Device Delays the HNP Switch Back Process X USB_E105 B-Device as Host Driving K-J Pairs During Reset X USB_E109 Missing USB_GINTSTS.SESSREQINT Interrupt with USB_PCGCCTL.STOPPCLK = 1 X USB_E110 Unexpected USB_HCx_INT.CHHLTD Interrupt X silabs.com | Building a more connected world. Rev. 1.30 | 2 EFM32WG Errata Active Errata Summary Table 1.2. Active Errata Status Summary Errata # Designator Title/Problem Workaround Affected Resolution Exists Revision LFXO Missing Cycles During IOVDD Ramping Yes A -- 1 BU_E105 2 CMU_E114 Device Not Waking Up From EM2 When Using Prescaled Non-HFRCO Oscillator as HFCLK Yes A -- 3 DAC_E109 DAC Output Drift Over Lifetime Yes A -- 4 DMA_E102 2D Copy Corrupted by Ping-Pong or Scatter-Gather Operation on Another Channel Yes A -- 5 EMU_E107 Interrupts During EM2 Entry Yes A -- 6 EMU_E110 Potential Hard Fault when Exiting EM2 or EM3 Yes A A devices (date code 1742) 7 LCD_E103 Indeterminate Animation Engine Start-Up Yes A -- 8 LCD_E104 Increased Current Draw when VLCD > VDDIO and LCD Pins are Used for GPIO Yes A -- 9 PCNT_E102 PCNT Pulse Width Filtering Does Not Work No A -- 10 RMU_E101 POR Calibration Initialization Issue Yes A A devices (date code 1539 and PROD_REV 0x96), B 11 RMU_E102 Regulator Output May Be 0V After Supply Falls to Intermediate Voltage and Recovers Yes A -- 12 RMU_E103 Reset May Fail to Trigger During Supply Voltage Brownouts Yes A -- 13 TIMER_E103 Capture/Compare Output is Unreliable with RSSCOIST Enabled No A -- 14 USART_E113 IrDA Modulation and Transmission of PRS Input Data Yes A -- 15 USB_E103 HNP Sequence Fails if A-Device Connects After 3.4 ms No A -- 16 USB_E104 USB A-Device Delays the HNP Switch Back Process No A -- 17 USB_E105 B-Device as Host Driving K-J Pairs During Reset No A -- 18 USB_E109 Missing USB_GINTSTS.SESSREQINT Interrupt with USB_PCGCCTL.STOPPCLK = 1 Yes A -- 19 USB_E110 Unexpected USB_HCx_INT.CHHLTD Interrupt Yes A -- silabs.com | Building a more connected world. Rev. 1.30 | 3 EFM32WG Errata Detailed Errata Descriptions 2. Detailed Errata Descriptions 2.1 BU_E105 -- LFXO Missing Cycles During IOVDD Ramping Description of Errata LFXO missing cycles during IOVDD ramping when used in combination with Backup mode. Affected Conditions / Impacts When IOVDD is ramped, the dc-level of the XTAL signal changes, resulting in missed LFXO cycles and possible glitches on the LFXO clock. Workaround Set PRESC in BURTC_CTRL to greater then 0 when ramping IOVDD in combination with Backup mode to avoid glitches on the LFXO clock. Resolution There is currently no resolution for this issue. 2.2 CMU_E114 -- Device Not Waking Up From EM2 When Using Prescaled Non-HFRCO Oscillator as HFCLK Description of Errata Device not waking up from EM2 when using prescaled non-HFRCO oscillator as HFCLK. Affected Conditions / Impacts If the device is running from any prescaled oscillator other than HFRCO as HFCLK and HFRCO is disabled, the device will not wake up from EM2. Workaround Before entering EM2, clear CMU_CTRL_HFCLKDIV. Alternatively, enable HFRCO by setting CMU_OSCENCMD_HFRCOEN and wait until CMU_STATUS_HFRCORDY is set. Resolution There is currently no resolution for this issue. 2.3 DAC_E109 -- DAC Output Drift Over Lifetime Description of Errata The voltage output of the DAC might drift over time. Affected Conditions / Impacts When the device is powered and the DAC is disabled, stress on an internal circuit node can cause the output voltage of the DAC to drift over time, and in some cases may violate the VDACOFFSET specification. If the DAC is always enabled while the device is powered, this condition cannot occur. Workaround Both in the startup initialization code and prior to disabling the DAC in application code, set the OPAnSHORT bit in DACn_OPACTRL to a '1' for the corresponding DAC(s) used by the application. This will prevent the output voltage drift over time effect. Resolution There is currently no resolution for this issue. silabs.com | Building a more connected world. Rev. 1.30 | 4 EFM32WG Errata Detailed Errata Descriptions 2.4 DMA_E102 -- 2D Copy Corrupted by Ping-Pong or Scatter-Gather Operation on Another Channel Description of Errata When performing a 2D copy (rectangular copy) on one DMA channel, more data than is specified is occasionally transferred from the source buffer if another channel is being used in ping-pong or scatter-gather mode. Affected Conditions / Impacts The incorrect number of bytes is transferred during the 2D copy when there is corruption caused by concurrent ping-pong or scattergather operation. This would be most noticeable when 2D copy is used for moving a graphic image to a display but could cause problems in other use cases. Workaround Do not allow ping-pong or scatter-gather mode DMA transfers to occur concurrently with a 2D copy. If both types operations are required, interleave them such that the 2D copy is complete before enabling a channel in ping-pong or scatter-gather mode or vice versa. Resolution There is currently no resolution for this issue. 2.5 EMU_E107 -- Interrupts During EM2 Entry Description of Errata An interrupt from a peripheral running from the high frequency clock that is received during EM2 entry will cause the EMU to ignore the SLEEPDEEP flag. Affected Conditions / Impacts During EM2 entry, the high frequency clocks that are disabled during EM2 will run for some clock cycles after WFI isissued to allow safe shutdown of the peripherals. If an enabled interrupt is requested from one of these non-EM2 peripherals during this shutdown period, the attempt to enter EM2 will fail, and the device will enter EM1 instead. As a result, the pending interrupt will immediately wake the device to EM0. Workaround Before entering EM2, disable all high frequency peripheral interrupts in the core. Resolution There is currently no resolution for this issue. silabs.com | Building a more connected world. Rev. 1.30 | 5 EFM32WG Errata Detailed Errata Descriptions 2.6 EMU_E110 -- Potential Hard Fault when Exiting EM2 or EM3 Description of Errata The flash is powered down in EM2 and EM3 to save power. Some control registers in the flash can rarely enter an invalid state upon power-on, causing the first read of flash to be incorrect. If this occurs after exiting EM2 or EM3, the core attempts to fetch the interrupt address, but the value will be incorrect and may be invalid. In the case of an invalid value, the core will then jump to the hard fault handler for attempting to execute code from an invalid address. All subsequent reads from the flash are unaffected, and it is only the first flash read after exit from EM2 or EM3 that is potentially erroneous. Affected Conditions / Impacts When exiting EM2 or EM3, some devices may intermittently execute code incorrectly or enter the hard fault handler instead of entering the expected ISR associated with the wake source. Workaround To workaround this issue, move the interrupt vector table and interrupt service routines for EM2 or EM3 wake sources to RAM and perform a dummy read of the flash in the ISR. Additional information on the workaround and examples provided is available from the following Knowledge Base article URL: https://www.silabs.com/community/mcu/32-bit/knowledge-base.entry.html/2017/05/09/emu_e110_-_potential-i2Pn Resolution This issue has been resolved. Devices with a date code greater than or equal to 1742 will not have this issue. 2.7 LCD_E103 -- Indeterminate Animation Engine Start-Up Description of Errata The LCD controller animation engine starts counting based on when the writes to LCD_AREGA and LCD_AREGB occur in relation to the clock for the animation frame counter. Because the animation engine cannot know when the writes occur, it is not possible to know whether the A or B register will shift first, which can result in one of the registers shifting twice before the other shifts once. Affected Conditions / Impacts Animations that require specific sequencing may not start in the correct state such that frames are not displayed in the correct order. Workaround If animation sequences must be seen in a specific order, consider handling this in software instead of using the animation engine. If the purpose of the animation is to denote ongoing activity, use segments that can be cycled in a generic fashion such that the output achieve the desired effect without depending on a specific frame order. Resolution There is currently no resolution for this issue. silabs.com | Building a more connected world. Rev. 1.30 | 6 EFM32WG Errata Detailed Errata Descriptions 2.8 LCD_E104 -- Increased Current Draw when VLCD > VDDIO and LCD Pins are Used for GPIO Description of Errata A leakage path to IOVDD exists when the LCD controller is configured to use the internally boosted or external power supply (LCD_DISPCTRL_VLCDSEL = VEXTBOOST) and VLCD > VDDIO. This is due to PMOS transistors in the LCD pin logic having their source/bulk terminals connected to the highest VDD (thus the LCD power supply when external/boost mode is used) while their gates are connected to IOVDD. Affected Conditions / Impacts Use of LCD pins for GPIO results in increased current draw when the LCD controller is configured to use the internally boosted or external supply (LCD_DISPCTRL_VLCDSEL = VEXTBOOST) and VLCD > VDDIO. This is particularly noticeable when the device is operating in EM2 as the LCD to IOVDD supply leakage can amount to tens of microamps. While the GPIO functionality of the LCD pins is not impaired, for certain applications, the increased current draw can be undesirable. Workaround Do not use LCD pins for GPIO functionality if the LCD controller is configured to use an external power supply or boost mode, and the resulting VLCD can be greater than the IOVDD supply. Resolution There is currently no resolution for this issue. 2.9 PCNT_E102 -- PCNT Pulse Width Filtering Does Not Work Description of Errata PCNT pulse width filtering does not work. Affected Conditions / Impacts The PCNT pulse width filter does not work as intended. Workaround Do not use the pulse width filter, i.e. ensure FILT = 0 in PCNTn_CTRL. Resolution There is currently no resolution for this issue. silabs.com | Building a more connected world. Rev. 1.30 | 7 EFM32WG Errata Detailed Errata Descriptions 2.10 RMU_E101 -- POR Calibration Initialization Issue Description of Errata Upon initial power-on, some devices may not be able to access flash memory above the 4 kB boundary, or some calibration registers on some devices may not be set to their factory calibration values. Affected Conditions / Impacts The list of affected devices can be found in the Knowledge Base (KB) article listed under Fix/Workaround. Some devices are sensitive to the power supply ramp during initial power-on. Specific ramp profiles on these devices can cause an intermittent issue resulting in one of two failure modes (A) or (B): A. Flash memory above the 4 kB boundary is inaccessible. Reads of the flash will return zeros. Write attempts will return an invalid address error code in the MSC_STATUS register. Code execution will behave as though the memory above 4 kB was filled with zeros until the device resets itself. B. Some parts of the calibration initialization process do not complete successfully. On USB devices, the USB voltage regulator does not get calibrated. Specific peripheral registers that may not be calibrated are as follows (not all registers apply to all devices): ADC0_CAL, IDAC_CAL, DAC0_CAL, DAC0_BIASPROG, DAC0_OPACTRL, and DAC0_OPAOFFSET. A SYSRESETREQ reset will clear either failure mode, and the device will behave normally until the next power-on event. Workaround Additional information including a software workaround is available from the following KB article URL: https://www.silabs.com/community/mcu/32-bit/knowledge-base.entry.html/2015/10/09/rmu_e101_-_por_calib-cEpZ Resolution Devices with a date code and PROD_REV greater than or equal to 1539 and 0x96 respectively will not have this issue. 2.11 RMU_E102 -- Regulator Output May Be 0V After Supply Falls to Intermediate Voltage and Recovers Description of Errata Output of the on-chip regulator (DECOUPLE pin) may be approximately 0V, and the device will not respond to a pin reset. Affected Conditions / Impacts The device supply voltage is specified as 1.98V minimum. For certain supply waveforms, similar to disconnecting a battery, allowing the supply to decay to approximately 0.9V (and stopping the decay at approximately 0.9V), then reconnecting the battery, the output of the regulator (DECOUPLE pin) may be approximately 0V. In this state, code will not execute, and the device will not respond to a pin reset. More information on this issue can be found at the following KB article URL: https://www.silabs.com/community/mcu/32-bit/knowledge-base.entry.html/2019/01/09/rmu_e102_por_bodres-AQh7 Workaround Hold the RESETn pin logic low, starting before the supply is disconnected, and keep RESETn pin logic low until the supply reaches a valid voltage. If the DECOUPLE pin measures approximately 0V, power cycle the supplies by pulling them all the way to 0V before connecting supplies again. Resolution Silicon fix planned. silabs.com | Building a more connected world. Rev. 1.30 | 8 EFM32WG Errata Detailed Errata Descriptions 2.12 RMU_E103 -- Reset May Fail to Trigger During Supply Voltage Brownouts Description of Errata Reset may fail to trigger when the device supplies (AVDD_0, AVDD_2, VDD_DREG) fall to a voltage in the 1.25V - 1.45V range. Affected Conditions / Impacts If the device supplies (AVDD_0, AVDD_2, VDD_DREG) fall to a voltage in the 1.25V - 1.45V range, the device may fail to reset, allowing code execution while the supply voltage remains in the 1.25V - 1.45V range. More information on this issue can be found at the following KB article URL: https://www.silabs.com/community/mcu/32-bit/knowledge-base.entry.html/2019/01/09/rmu_e103_por_bodres-N3MD Workaround Hold the RESETn pin in logic low, starting before the device supplies fall below 1.6V, and keep the RESETn pin logic low until the device supplies reach a valid voltage again. Resolution Silicon fix planned. 2.13 TIMER_E103 -- Capture/Compare Output is Unreliable with RSSCOIST Enabled Description of Errata The TIMER capture/compare output is unreliable when RSSCOIST is enabled and the clock is prescaled. Affected Conditions / Impacts When RSSCOIST is set and PRESC > 0 in TIMERn_CTRL, the capture/compare output value is not reliable. Workaround Do not use a prescaled clock, i.e. ensure PRESC = 0 in TIMERn_CTRL when RSSCOIST is enabled. Resolution There is currently no resolution for this issue. 2.14 USART_E113 -- IrDA Modulation and Transmission of PRS Input Data Description of Errata If the USART IrDA modulator is configured to accept input from a PRS channel, the incoming data stream will not be transmitted because the required clock from the baud rate generator is never enabled. Affected Conditions / Impacts It is not possible for the USART IrDA modulator to directly transmit data from a source other than the USART's own transmitter. The USART_IRCTRL_IRPRSEN bit should remain at its reset state of 0. Workaround Assuming the data to be sent via the PRS is also data that could be received by the EFM32/EFR32 USART, then the data can be received using the USART's PRS RX feature (USART_INPUT_RXPRS = 1), stored in RAM (e.g. using DMA), and then transmitted with IrDA mode enabled. In cases where IrDA operation is transmit-only, the PRS RX data can be received on the same USART doing the transmission. If IrDA operation is bidirectional, then another USART must be used to receive the PRS data. If the data to be sent is in some other format (e.g. pulses from a timer output), then there is no direct way to transmit it using the IrDA modulator. It would be necessary to capture the data in some other way and reformat it as serial data timed according to the clock generated by the USART. Resolution There is currently no resolution for this issue. silabs.com | Building a more connected world. Rev. 1.30 | 9 EFM32WG Errata Detailed Errata Descriptions 2.15 USB_E103 -- HNP Sequence Fails if A-Device Connects After 3.4 ms Description of Errata HNP Sequence fails if A-Device connects after 3.4 ms. Affected Conditions / Impacts The B-Device core only waits for up to 3.4 ms before signalling HNP fail and reverting back to Peripheral mode. Therefore, the HNP sequence fails if the A-Device connects after 3.4 ms. Workaround No known workaround. Resolution There is currently no resolution for this issue. 2.16 USB_E104 -- USB A-Device Delays the HNP Switch Back Process Description of Errata The D+ line disconnects after 200 ms, delaying the HNP switch back process. Affected Conditions / Impacts The A-Device core delays the HNP switch back process. As per the USB-OTG 2.0 specification, the B-Device on the otherside of the USB pipe either should wait for disconnect from the A-Device or should switch to Peripheral mode and wait for the A-Device to issue a USB reset. Hence, there is no significant impact on actual operation. Workaround No known workaround. Resolution There is currently no resolution for this issue. 2.17 USB_E105 -- B-Device as Host Driving K-J Pairs During Reset Description of Errata The A-Device misinterprets the K-J pairs as Suspend after switching to High Speed mode. Affected Conditions / Impacts If the B-Device as Host on the other side of the USB pipe drives K-J pairs for more than 200 ms during USB reset, the A-Device core exits peripheral state, causing the HNP process to fail. There is no significant impact since normally the host drives USB reset for a shorter time than 200 ms. Workaround No known workaround. Resolution There is currently no resolution for this issue. silabs.com | Building a more connected world. Rev. 1.30 | 10 EFM32WG Errata Detailed Errata Descriptions 2.18 USB_E109 -- Missing USB_GINTSTS.SESSREQINT Interrupt with USB_PCGCCTL.STOPPCLK = 1 Description of Errata A Host-initiated Suspend, followed by a Host Disconnect and Host Connect will not result in a SessReq interrupt. Affected Conditions / Impacts When USB_PCGCCTL.STOPPCLK is set and the device is acting as a B-peripheral, a Host-initated Suspend, followed by a Host Disconnect and Host Connect will not result in a SessReq interrupt. Workaround If this is an expected use-case, USB_PCGCCTL.STOPPCLK should not be set. USB_PCGCCTL.GATEHCLK can still be used to save power. Resolution There is currently no resolution for this issue. 2.19 USB_E110 -- Unexpected USB_HCx_INT.CHHLTD Interrupt Description of Errata In some cases the USB_HCx_INT.CHHLTD interrupt might be incorrectly set. Affected Conditions / Impacts In some cases, an unexpected USB_HCx_INT.CHHLTD interrupt might be received from another endpoint that does not have the USB_HCx_CHAR.CHDIS, USB_HCx_INT.XACTERR, USB_HCx_INT.BBLERR, USB_HCx_INT.DATATGLERR, or USB_HCx_INT.XFERCOMPL interrupts enabled. Workaround If such an interrupt is received, the application must re-enable the channel for which it received the unexpected USB_HCx_INT.CHHLTD interrupt. Resolution There is currently no resolution for this issue. silabs.com | Building a more connected world. Rev. 1.30 | 11 EFM32WG Errata Errata History 3. Errata History This section contains the errata history for EFM32WG devices. For errata on latest revision, refer to the beginning of this document. The device data sheet explains how to identify chip revision, either from package marking or electronically. 3.1 Errata History Summary This table lists all resolved errata for the EFM32WG. Table 3.1. Errata History Status Summary Errata # Designator Title/Problem Workaround Affected Exists Revision Resolution There are no errata in the errata history for this device. silabs.com | Building a more connected world. Rev. 1.30 | 12 EFM32WG Errata Revision History 4. Revision History Revision 1.30 January, 2019 * Added DMA_E102, LCD_E103, LCD_E104, RMU_E102, RMU_E103, and USART_E113. * Resolved EMU_E110 and updated language to refer to both EM2 and EM3. * RMU_E101 workaround URL updated. Revision 1.20 April, 2017 * * * * Added EMU_E110. Updated errata formatting. Merged all errata documents for EFM32WG devices into one document. Merged errata history and errata into one document. Revision 1.10 October, 2015 * Added DAC_E109, EMU_E107, PCNT_E102, RMU_E101, and TIMER_E103. Revision 1.00 October, 2014 * Initial release for EFM32WG360 and EFM32WG900 devices. Revision 0.30 March, 2014 * Corrected typos in document. Revision 0.20 August, 2013 * Added USB_E109 and USB_E110. * Updated disclaimer, trademark and contact information. * Updated errata naming convention. Revision 0.10 April, 2013 * Initial preliminary release. silabs.com | Building a more connected world. Rev. 1.30 | 13 Simplicity Studio One-click access to MCU and wireless tools, documentation, software, source code libraries & more. Available for Windows, Mac and Linux! IoT Portfolio www.silabs.com/IoT SW/HW Quality Support and Community www.silabs.com/simplicity www.silabs.com/quality community.silabs.com Disclaimer Silicon Labs intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the Silicon Labs products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical" parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Labs reserves the right to make changes without further notice to the product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Without prior notification, Silicon Labs may update product firmware during the manufacturing process for security or reliability reasons. Such changes will not alter the specifications or the performance of the product. Silicon Labs shall have no liability for the consequences of use of the information supplied in this document. This document does not imply or expressly grant any license to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any FDA Class III devices, applications for which FDA premarket approval is required or Life Support Systems without the specific written consent of Silicon Labs. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Labs products are not designed or authorized for military applications. Silicon Labs products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. Silicon Labs disclaims all express and implied warranties and shall not be responsible or liable for any injuries or damages related to use of a Silicon Labs product in such unauthorized applications. Trademark Information Silicon Laboratories Inc.(R) , Silicon Laboratories(R), Silicon Labs(R), SiLabs(R) and the Silicon Labs logo(R), Bluegiga(R), Bluegiga Logo(R), Clockbuilder(R), CMEMS(R), DSPLL(R), EFM(R), EFM32(R), EFR, Ember(R), Energy Micro, Energy Micro logo and combinations thereof, "the world's most energy friendly microcontrollers", Ember(R), EZLink(R), EZRadio(R), EZRadioPRO(R), Gecko(R), ISOmodem(R), Precision32(R), ProSLIC(R), Simplicity Studio(R), SiPHY(R), Telegesis, the Telegesis Logo(R), USBXpress(R) and others are trademarks or registered trademarks of Silicon Labs. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. All other products or brand names mentioned herein are trademarks of their respective holders. Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 USA http://www.silabs.com