1 Silicon Errata Summary
Module | Feature | Issue Summary | Affected Revisions | ||
---|---|---|---|---|---|
PIC32CX1012BZ25048/WBZ451/WBZ451H | PIC32CX1012BZ24032/WBZ450 | ||||
A0 | A2 | A2 | |||
Supply Voltage and Power Mode | GPIO Output Configuration in Deep Sleep and Extreme Deep Sleep |
In Deep Sleep and Extreme Deep Sleep modes, GPIO must not be set to the output state of pin HIGH. Configuring the GPIO state to pin High during Deep Sleep and Extreme Deep Sleep modes will cause leakage current and potential reliability issues on the Silicon. This issue is only applicable when the system is in Deep Sleep/Extreme Deep Sleep mode and when GPIO is configured as output state pin HIGH. | X | ||
POR Rearm Event | The POR event is not getting triggered even when the voltage is going below 1.45V. | X | X | X | |
Analog-to-Digital Converter (ADC) | Level Trigger | The ADC level trigger does not perform burst conversions in Debug mode. | X | X | X |
Scan |
The Scan list conversions defined in the ADCCSS1 register will restart without finishing the current scan list and do not generate an EOSRDY bit (ADCCON2[29]) end of scan interrupt status if a new trigger event from the STRGSRC[4:0] bits (ADCCON1[20:16]) trigger source occurs before the scan list completion on the shared ADC2 core. | X | X | X | |
Wrong VDD33/2 for ADC Internal Input Channel AN11 |
The ADC internal input channel, AN11, is connected with VDD33/2, but the observed input voltage is not equal to VDD/2. | X | |||
Analog Comparator (AC) | Disabling Analog Comparator | Analog Comparator output (AC_CMPx) will
not be disabled by setting either COMPCTRLx.ENABLE = 0
or PMD1.ACMD = 1 . | X | X | X |
Incorrect VDD Scaler Reference for AC_CMP0 | AC_CMP0 is supposed to use a fixed VDD/2 reference when VDD scaler option is used. But the observed reference voltage is not equal to VDD/2. | X | |||
Wrong VDD Scaler Reference with CMP0 and CMP1 Enabled Concurrently | Incorrect VDD scaler reference voltage is observed when AC_CMP0 and AC_CMP1 are enabled concurrently with the VDD scaler as a reference for both the comparators. Both the comparators will see the same VDD scaler reference. | X | |||
Clock Reset Unit (CRU) | Peripheral Bus Clocks | The Power-on Reset (POR) value of the PB3 clock is not correct. | X | X | X |
Configurable Custom Logic (CCL) | Enable Protected Registers | The SEQCTRLx and LUCTRLx registers are enable-protected by the CTRL.ENABLE bit; however, they should be enable-protected by the LUTCTRLx.ENABLE bits. | X | X | X |
Output Logic is Stuck when Enabling a LUT with Sequential Logic after the CCL is Enabled | When the LUT is disabled
(LUTCTRL0.ENABLE=0 or
LUTCTRL2.ENABLE=0 ) to clear the flip-flop/latch
output and enabled again, the sequential logic is kept under
Reset. | X | X | X | |
PAC Error when Writing CCL.CTRL.SWRST Bit | Writing the Software Reset bit in the Control A register (CTRLA.SWRST) will trigger a PAC protection error. | X | X | X | |
Sequential Logic | LUT output is corrupted after enabling CCL when sequential logic is used. | X | X | X | |
Device | VIL Input Low Voltage | There is degraded VIL/VIH performance when the GPIO pull-up/pull-down resistors are enabled on PB0, PB1, PB2, PB3,PB4, PB5, PB6, PB8 or PB9. These pins may not be able to recognize a logic low level if the pull-up on that pad is enabled. | X | ||
VDD min for A0 device is 2.1V | Some A0 devices may not operate below 2.1V. | X | |||
Device Service Unit (DSU) | Programming or Debugging | Device debugging and programming is not supported when the device’s supply voltage is greater than 3.0V and the device is operating outside of room temperature. | X | ||
CRC32 | DSU CRC32 will not complete when targeting NVM memory space while the NVM cache is disabled. | X | X | X | |
Direct Memory Access Controller (DMAC) | DMAC in Debug Mode | In debug mode, DMAC does not restart
after a debug halt when DBGCTRL.DBGRUN = 0 . | X | X | X |
DMA Writeback Descriptor Corruption Issue |
Aborting or disabling a DMA channel could lead to a corruption issue in the writeback descriptor of an active channel where there are ongoing transfers. | X | X | X | |
Occurrence of Fetch Error |
When at least one channel using linked descriptors is already active, a channel Fetch Error (FERR) may occur on enabling a channel with no linked descriptor or when one of the already active channels using linked descriptors may fetch the enabled second descriptor (index 1) of the channel. These errors can occur when a channel is enabled during the link request of another channel and if the channel number of the enabled channel is lower than the already active channel. | X | X | X | |
External Interrupt Controller (EIC) | Edge Detection | When enabling EIC, SYNCBUSY.ENABLE is released before EIC is fully enabled. Edge detection can be done only after three cycles of the selected GCLK (GCLK_EIC or CLK_ULP32K). | X | X | X |
Asynchronous Edge Detection | When the asynchronous edge detection is enabled and the system is in Standby mode, only the first edge will be detected. The following edges are ignored until the system wakes up. | X | X | X | |
Asynchronous Edge Detection |
When the asynchronous edge detection is enabled (without debouncer) and the system is in the Standby Sleep mode, only the first edge will generate an event. The edges following the first edge of the waveform do not generate events until the system wakes up. | X | X | X | |
Event System (EVSYS) | Software Event |
BUSYCH flag never resets upon software events in synchronous/resynchronized path modes with event detection on falling edges. If a software event occurs when the EVSYS is set in
synchronous/resynchronized path modes (CHANNELn.PATH=0x0/0x1) with
event detection set on falling edges (CHANNELn.EDGSEL=0x2), the
CHSTATUS.BUSYCHn flag will be set but will never come back to
| X | X | X |
Spurious Overrun |
Overrun interrupt flag may be incorrectly set upon software events in synchronous/resynchronized path modes with event detection on both rising and falling edges. If a software event occurs when the EVSYS is set in
synchronous/resynchronized path modes
(CHANNELn.PATH= | X | X | X | |
Spurious Overrun |
In the Synchronous mode, spurious overrun interrupts can happen when
the generic clock for a channel is always
CHANNEL.ONDEMAND= | X | X | X | |
Flash Controller Module | SYS Reset Not Getting Released when Asserted Post-Erase Retry |
After the Erase Retry operation (using
NVMCON2.VREAD1= | X | X | X |
DMA in Sleep Mode | Flash read/write by DMA not working in Standby Sleep mode if Flash power down is enabled. | X | |||
Frequency Meter (FREQM) | Measurement Clock Stalls |
During a measurement slot, the measurement clock stalls (or is very slow), the STATUS.BUSY will never de-assert and the DONE interrupt will not be raised. | X | X | X |
I2C | SCL/SDA Transition Time |
SCL/SDA minimum transition time is not met in Fast-mode plus (1 MHz). | X | X | X |
Peripheral Access Controller (PAC) | PAC Protection Error in FREQM | FREQM reads on the Control B register (FREQM.CTRLB) generate a PAC protection error. | X | X | X |
PAC Protection Error in CCL | Writing the Software Reset bit in the Control A register (CTRLASWRST) will trigger a PAC protection error. | X | X | X | |
Prefetch Cache | CPU Hang Configuration Switch | CHECON.ADRWS is not hard wired to ‘0’ and is configurable to 1 or 0, with reset/default value as 1. CPU hangs when CHECON.ADRWS configuration switches from 1 to 0 and a Flash read access. While CHECON.ADRWS is switching to ‘0’ (default is ‘1’), the ADRWS will be latched at next clock, and if a Flash read access happens at the same clock, the system hangs waiting for an internal ack due to the PFM cache miss. | X | ||
Quad I/O Serial Peripheral Interface (QSPI) | QSPI Status Register Bits Not Updated when PB-Bridge-B (PB2_CLK) is Not Equal to System Clock (SYS_CLK) | If PB2_CLK is not equal to System Clock (sys_clk), the QSPI Status register bits are not updated. | X | X | X |
RAM Error Correction Code (ECC) | ERRADDR Register may Read as ‘0’ when PB-Bridge-B (PB2_CLK) is Not Equal to System Clock (SYS_CLK) | If PB2_CLK is not equal to System Clock
(sys_clk), ERRADDR register read will not return the failing address
(caused by Single Bit Error/Dual Bit Error), instead it may return
‘0 ’. | X | X | X |
Real-Time Counter (RTC) | False Tamper Detection | False tamper detections may occur when configuring the RTC INn and OUTn pins. | X | X | X |
Incorrect Periodic Daily Event at 23:59:58 | Periodic Delay Event must be asserted at the end of the prescaler period to be generated on the last second of the day. As the prescaler overflow does not qualify the Periodic Delay Event, the event is generated at the beginning of the prescaler period, hence, one second earlier than specified. | X | X | X | |
Reset of General Purpose Registers on Tamper Detection | General Purpose Registers n (GPn) are
Reset on tamper detection even if GPTRST = 0 . | X | X | X | |
Reset of INTFLAG.TAMPER Bit Fails |
When DMA is enabled (CTRLB.DMAEN= | X | X | X | |
RTC SYNCBUSY Register Bits Not Cleared |
Entering the Deep Sleep mode without waiting for SYNCBUSY.ENABLE and SYNCBUSY.COUNTSYNC synchronization completion may freeze these bits statuses. | X | X | X | |
Timestamp is Updated Even Tamper Flag is Not Cleared | When the tamper happens, DMA is triggered and DMA captures TIMESTAMP and TAMPID. INTFLAG.TAMPER flag is not cleared after reading TIMESTAMP. | X | X | X | |
Timestamp Register is Cleared After Debug Read |
The read of the RTC timestamp register in Debug mode will clear the
DMA request flag and unlock the TIMESTAMP register, although a debug
read does not alter the TIMESTAMP value. Further read of timestamp
register by DMA or CPU will return | X | X | X | |
Write Corruption | An 8-bit or 16-bit write access for a
32-bit register, or 8-bit write access for a 16-bit register, can fail
for the following registers:
| X | X | X | |
COUNTSYNC | When COUNTSYNC is enabled, the first COUNT value is not correctly synchronized and, therefore, it is a wrong value. | X | X | X | |
Tamper Input Filter | Majority debouncing, as part of RTC tamper detection, does not work when enabled by setting the Debouncer Majority Enable bit CTRLB.DEBMAJ. | X | X | X | |
Tamper Detection | Upon enabling the RTC, a false tamper detection could be reported by the RTC. | X | X | X | |
Tamper Detection Timestamp | If an external reset occurs during a tamper detection, the TIMESTAMP register will not be updated when the next tamper detection is triggered. | X | X | X | |
Unwanted Event and Interrupt Generation |
When CTRLA.PRESCALER is set to OFF and either CTRLB.RTCOUT is set or one of the TAMCTRL.DEBNCn bits is set, the RTC prescaler behaves like CTRLA.PRESCALER = DIV1. The periodic events and periodic interrupts will be generated. | X | X | X | |
Serial Communication Interface (SERCOM) | Two Stop Bits Mode is Not Supported in SERCOM USART LIN Host Mode | Two stop bits mode
(CTRLB.SBMODE=0x1 ) is not supported in SERCOM USART
LIN Host mode (CTRLA.FORM=0x2 ) in the case where break,
sync and identifier fields are automatically transmitted when DATA is
written with the identifier (CTRLB.LINCMD=0x2 ). Only
one stop bit mode is supported. | X | X | X |
SERCOM LIN Adding Additional Delay Between Break and Sync Bits |
In SERCOM USART LIN Host mode (CTRLA.FORM= CTRLC.HDRDLY= CTRLC.HDRDLY= | X | X | X | |
SERCOM-USART: INTFLAG.TXC being Set Incorrectly |
When the USART is used in the 32-bit mode with hardware handshaking
(CTS/RTS), the TXC flag may be set before transmission has
completed. TXC may incorrectly be set regardless of whether Data
Length Enable (LENGTH.LENEN) is set to ‘ | X | X | X | |
SERCOM-USART: Overconsumption in Standby Mode |
When the SERCOM USART configured as CTRLA.RUNSTDBY =
| X | X | X | |
SERCOM-USART: Flow Control in 32-bit Extension Mode |
When the USART is used in the 32-bit mode with hardware handshaking
(CTS/RTS), the TXC flag may be set before transmission has
completed. TXC may incorrectly be set regardless of whether Data
Length Enable (LENGTH.LENEN) is set to ‘ | X | X | X | |
SERCOM-USART: Auto-Baud Mode | In USART Auto-Baud mode, missing stop bits are not recognized as inconsistent sync (ISF) or framing (FERR) errors. | X | X | X | |
SERCOM-USART: Collision Detection | In USART operating mode with Collision
Detection enabled (CTRLB.COLDEN=1 ), the SERCOM will not
abort the current transfer as expected if a collision is detected and if
the SERCOM APB Clock is lower than the SERCOM Generic Clock. | X | X | X | |
SERCOM-USART: SERCOM USART in TX Mode Only |
When the SERCOM USART is configured as
CTRLA.RUNSTDBY= | X | X | X | |
SERCOM-USART: Debug Mode | In USART operating mode, if
DBGCTRL.DBGSTOP=1 , data transmission is not halted
after entering Debug mode. | X | X | X | |
SERCOM-USART: Error Interrupts |
The SERCOM USART does not wake from the Standby Sleep mode for ERROR interrupts FERR and PERR. | X | X | X | |
SERCOM-USART: 32-bit Extension Mode | When 32-bit Extension mode is enabled and data to be sent are not in multiples of 4 bytes (which means the length counter must be enabled), additional bytes will be sent over the line. | X | X | X | |
SERCOM-UART: TXINV and RXINV Bits | The TXINV and RXINV bits in the CTRLA register have inverted functionality. | X | X | X | |
STATUS.CLKHOLD Bit in Host and Client Modes | The STATUS.CLKHOLD bit in host and client modes can be written; however, it is a read-only status bit. | X | X | X | |
SERCOM-I2C: Automatic Acknowledge Feature Not Usable | The I2C client AACKEN feature is not usable when doing a repeated start. | X | X | X | |
SERCOM-I2C: Error Interrupt after Unexpected STOP |
When an unexpected STOP occurs on the I2C bus, the STATUS.BUSERR and INTFLAG.ERROR bits are set but may not wake the system from the Standby Sleep mode. An unexpected START will not produce this issue. | X | X | X | |
SERCOM-I2C: Repeated Start Not Issued Correctly |
For the Host Write operations (excluding the High-Speed mode), in 10-bit addressing mode, writing CTRLB.CMD = 0x1 does not issue a Repeated Start command correctly. | X | X | X | |
SERCOM-I2C: I2C in Client Mode | In I2C mode, LENERR, SEXTOUT, LOWTOUT, COLL and BUSERR bits are not cleared when INTFLAG.AMATCH is cleared. | X | X | X | |
SERCOM-I2C: Client Mode with DMA | In I2C Client Transmitter mode, at the reception of a NACK, if there is still data to be sent in the DMA buffer, the DMA will push a data to the DATA register. | X | X | X | |
SERCOM-I2C: I2C Client in DATA32B Mode | When SERCOM is configured as an
I2C client in 32-bit Data Mode
(DATA32B=1 ) and the I2C host reads from
the I2C client (client transmitter) and outputs its NACK
(indicating no more data is needed), the I2C client still
receives a DRDY interrupt. | X | X | X | |
SERCOM-I2C: 10-Bit Addressing Mode | The 10-bit addressing in I2C Client mode is not functional. | X | X | X | |
SERCOM-I2C: Repeated Start | When the quick command is enabled
(CTRLB.QCEN=1 ), the software can issue a repeated
start by writing either CTRLB.CMD or ADDR.ADDR bit fields. If, in these
conditions, SCL Stretch mode is CTRLA.SCLSM=1, a bus
error will be generated. | X | X | X | |
SERCOM-SPI: Data Preload | In SPI Client mode and with Client Data
Preload Enabled (CTRLB.PLOADEN=1 ), the first data sent
from the client will be a dummy byte if the host cannot keep the Client
Select (SS) line low until the end of transmission. | X | X | X | |
SERCOM-SPI: Client Data Preload |
Preloading a new SPI data (CTRLB.PLOADEN= | X | X | X | |
SERCOM-SPI: Hardware Client Select Control | When Hardware Client Select Control is
enabled (CTRLB.MSSEN=1 ), the Client Select (SS) pin
goes high after. | X | X | X | |
System Bus | Bus Error Address Checks | When accessing peripherals on the PB-PIC® bus, an access beyond the implemented memory region 0x4401_FFFF will cause the CPU to hang, waiting for a bus error signal. | X | ||
System Configuration Registers | CFGCON0 Registers | CFGCON0.SWOEN is non-functional, which makes the PB7 function SWO during debugging only. | X | ||
System Bus QoS | The Power-on Reset values of the CFGPGQOS register sets all bus host QoS values to zero (Background) instead of the required Power-on Reset values. | X | X | X | |
Timer/Counter for Control Applications (TCC) | Counting-down Mode Not Supported in RAMP2 |
The Timer/Counter counting-down mode (CTRLBCLR.DIR = CTRLBSET.DIR =
| X | X | X |
ALOCK Feature | The ALOCK feature is not functional. | X | X | X | |
Hi-resolution in 2RAMP Mode | In 2RAMP mode with Hi-resolution, multiple restarts can be observed when a fault occurs. | X | X | X | |
LUPD in Descendent Mode |
When the TCC is used in the Down-Counting mode, transfer of the PERBUF register value to the PER register is delayed by one counter cycle, and, therefore, the LUPD feature must not be used with the PER register. | X | X | X | |
Re-trigger in RAMP2 Operations |
Re-trigger in RAMP2 operations (RAMP2, RAMP2A, RAMP2C) is not
supported if a prescaler is used (CTRLA.PRESCALER ! =
| X | X | X | |
Re-trigger |
If a Re-trigger event (EVCTRL.EVACTn = 0x1, RETRIGGER) occurs at the Channel Compare Match [n] time, the next Waveform Output [n] is corrupted. | X | X | X | |
TCC in Dithering Mode |
Using the TCC in the Dithering mode with external retrigger events can lead to an unexpected stretch of right-aligned pulses or shrink of left-aligned pulses. | X | X | X | |
TCC in SYNC or RESYNC Mode | The TCC peripheral is not compatible with an EVSYS channel in the SYNC or RESYNC mode. | X | X | X | |
TCC Outputs | TCC0/TCC1 output not working as expected with PPS, output signals not visible on output pins via PPS even though the TCC is working correctly. TCC2 cannot be used to drive external pins. | X | |||
MCx Interrupt Status Flag is Not Cleared Automatically |
In the capture operation, MC0/MC1 interrupt status flags (INTFLAG.MC0/INTFLAG.MC1) are not automatically cleared when the CC0/CC1 registers are read. | X | X | X | |
DMA Request is Not Set on Overflow Condition in One-shot DMA Trigger Mode of RAMP2C Operation | TCC Overflow (OVF) will not trigger a DMA request in One-shot DMA trigger (DMAOS) mode of RAMP2C operation. | X | X | X | |
Timer/Counter (TC) | Issues After Clearing STATUS.PERBUFV/STATUS.CCBUFx flag |
When clearing the STATUS.PERBUFV/STATUS.CCBUFx flag, the SYNCBUSY flag is released before the PERBUF/CCBUFx register is restored to its appropriate value. | X | X | X |
Re-trigger |
If a Re-trigger event (EVCTRL.EVACTn= | X | X | X | |
MCx Interrupt Status Flag is Not Cleared Automatically |
In a capture operation, MC0/MC1 interrupt status flags (INTFLAG.MC0/INTFLAG.MC1) are not automatically cleared when CC0/CC1 registers are read. | X | X | X | |
TC.PER not updated properly | In the 8-bit mode, the PER register updates using the DMA are not possible in the Standby mode. | X | X | X | |
TC Outputs | TC0/1/2/3 output not working as expected with PPS, output signals are not visible on output pins via PPS even though the TC is working correctly. | X | |||
ALOCK Feature | ALOCK feature is not functional. | X | X | X | |
Watchdog Timer (WDT) | Watchdog Counter |
When the interval between clearing the watchdog timer (in other words, clearing the Run mode watchdog counter) and the sleep instruction is less than 1 WDT clock cycle, the “Run Mode” watchdog counter is not cleared. | X | X | X |
- Cells with ‘X’ indicate the issue is present in this revision of the silicon.
- Cells with ‘—’ indicate this silicon revision does not exist for this issue.
- The blank cell indicates the issue was corrected or does not exist in this revision of the silicon.