Silicon Errata Issues

The following errata issues apply to the PIC32CX-BZ3/PIC32CX-BZ36 family of devices.

Note:
  1. Cells with an ‘X’ indicate the issue is present in this revision of the silicon.
  2. Cells with a dash (‘—’) indicate the issue does not exist for this revision of the silicon.
  3. Blank cells indicate the issue is corrected or does not exist in this revision of the silicon.
Note: Traditional Inter-Integrated Circuit (I2C) and Serial Peripheral Interface (SPI) documentation uses the terminology “Master” and “Slave”. The equivalent Microchip terminology used in this document is “Host” and “Client” respectively.

Supply Voltage and Power Mode

Device parts are not powering at 1.9V

Work Around

Ensure the minimum supply voltage is 2.1V.

Affected Silicon Revisions

A0B0
X

Power Management Support

The PIC32CX-BZ3 Power Management Unit (PMU) supports only the MLDO mode only. The PIC32CX-BZ36 Power Management Unit (PMU) supports both MLDO and Buck mode.

Work Around

None.

Affected Silicon Revisions

A0B0
X

System Does Not Enter Sleep Mode with Flash Power Down (NVMCON2.SLEEP = 0) Bit Disabled and System Clock Equal to or Less than the FRC Frequency

The system is not entering the Sleep mode when the Flash power down (NVMCON2.SLEEP = 0) bit is disabled and system is working at equal to or less than the FRC frequency.

Work Around

Flash power down (NVMCON2.SLEEP = 1) bit to be enabled to enter into the Flash Deep Sleep mode if system is running at equal to or less than the FRC frequency.

Affected Silicon Revisions

A0B0
X

GPIO Output Configuration in Deep Sleep and Extreme Deep Sleep

In the 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 the 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 CPU is in the Deep Sleep/Extreme Deep Sleep mode and when GPIO is configured as the output state pin HIGH.

Work Around

None.

Affected Silicon Revisions

A0B0
X

GPIO Change Notification Interrupt Not Firing After Sleep

Issue occurs when CNEN0x = 110 or 101. Device would not wake up on pin state change

CNEN0x = 110, interrupt on change for a negative edge transition is enabled for PORTx[n]

CNEN0x = 101, interrupt on change for a positive edge transition is enabled for PORTx[n]

Work Around

CNEN0x = 110, interrupt on change for a negative edge transition is enabled for PORTx[n]. Keep the PORT value as HIGH and then enter SLEEP mode, the negative edge can be detected

CNEN0x = 101, interrupt on change for a positive edge transition is enabled for PORTx[n]. Keep the PORT value as LOW and then enter SLEEP mode, the positive edge can be detected

Affected Silicon Revisions

A0B0
XX

POR Rearm Event

The POR event is not getting triggered even when the voltage is going below 1.45V.

Work Around

Discharge VDD to Zero.

Affected Silicon Revisions

A0B0
XX

Analog Comparator (AC)

AC_CMPx Output is Not Gated Either by COMPCTRLx.ENABLE or PMD1.ACMD

Analog Comparator output (AC_CMPx) will not be disabled by setting either COMPCTRLx.ENABLE = 0 or PMD1.ACMD = 1.

Work Around

Write the CFGCON1.CMPx_OE register bit to ‘0’ to disable AC.

Affected Silicon Revisions

A0B0
X

Wrong VDD Scaler Reference for AC_CMP0

AC_CMP0 uses a fixed VDD/2 reference, but the observed reference voltage is not equal to VDD/2.

Work Around

Get the expected VDD scaler for AC_CMP0 from SCALER1.VALUE[3:0] = 0x02 value. For example, VDD = 3.3V voltage, the VDD scaler reference for AC_CMP0 is:

VScale = VDD x (R_Bottom)/R_Total

VScale = 3.3 x 598.5/900 = 2.1945V

Affected Silicon Revisions

A0B0
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 VDD scaler as reference for both the comparators. Both the comparators will see the same VDD scaler reference.

Work Around

Get the expected VDD scaler for both AC_CMP0, AC_CMP1 comparators using the following formula:

R_Bottom = R_Bottom of configured SCALER1.VALUE[3:0]

R_Total = 900 – [598.5 – R_Bottom]

VScale = VDD(R_Bottom)/R_Total

For details on R_Bottom and R_Total values, refer to the Analog Comparator (AC) chapter of the device’s data sheet.

Affected Silicon Revisions

A0B0
X

Analog-to-Digital Converter (ADC)

Scan

The scan list conversions defined in the ADCCSS1 register will restart without finishing the current scan list and does 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 ADC core.

Work Around

Ensure that the STRGSRC[4:0] bits trigger source repetition rate.

Affected Silicon Revisions

A0B0
XX

Improper Comparison Operation in Stand by Sleep Mode

A comparison in single shot mode will not be completed when entering in Standby sleep mode with RUNSTDBY=0.

Work Around

Set RUNSTBDY=1 before entering in Standby mode or wait for standby exit to start a new comparison.

Affected Silicon Revisions

A0B0
XX

Glitches in ADC Conversion Result

When the ADC Control clock is asynchronous with the System clock, the conversion result may have glitches if the CPU reads ADCBUFx while a new conversion result is being updated.

Work Around

The user has to accurately read ADCBUFx before the next conversion begins. If the ADC is operated in the free running mode, ensure that each converted value is read immediately after the ready bit is set. This can be achieved either by implementing a tight polling loop or using low latency interrupts.

Affected Silicon Revisions

A0B0
XX

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.

Work Around

Get the expected input using the below formula:

VDD33/2 = VDD x (598.5/900)

For example, VDD = 3.3V

VDD33/2 = 3.3 x (598.5/900) = 2.1945V

Affected Silicon Revisions

A0B0
XX

Configurable Custom Logic (CCL)

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, then enabled again, the sequential logic is kept under Reset.

Work Around

Write CTRL.ENABLE again after LUT is enabled (LUTCTRL0.ENABLE=1/LUTCTRL2.ENABLE=1) back.

Affected Silicon Revisions

A0B0
XX

PAC Error when Writing CCL.CTRL.SWRST Bit Description

Writing the Software Reset bit in the control register (CTRL.SWRST) will trigger a PAC protection error.

Work Around

Clear the CCL PAC error each time a CCL software Reset is executed.

Affected Silicon Revisions

A0B0
XX

Capacitive Voltage Divider (CVD) Controller

False CVD event

Invalid CVD event can get created while FIFO counter is incrementing.

Work Around

Check the status of CVDSTAT[FIFOCNT] >= CVDCON[FIFOTH] after getting CVD interrupt to confirm true interrupt.

Affected Silicon Revisions

A0B0
X

Direct Memory Access Controller (DMAC)

DMA Writeback Descriptor Corruption Issue

Writeback descriptors could be corrupted on an active channel with ongoing transfers when another channel is being disabled or suspended.

Work Around

None

Affected Silicon Revisions

A0B0
XX

Fetch Error can Appear when Enable One Channel and Link Request on Another

When at least one channel using linked descriptors is already active, a channel Fetch Error (FERR) may occur upon enabling a channel with no linked descriptor or the second descriptor (index 1) of the channel being enabled may be fetched by one of the already active channels using linked descriptors. These errors may happen when a channel is being enabled during the link request of another channel and if the channel number of the channel being enabled is lower than the channel already active.

Work Around

When enabling a channel while other channels using linked descriptors are already active, the channel number of the new channel to enable must be greater than the other channel numbers.

Affected Silicon Revisions

A0B0
XX

External Interrupt Controller (EIC)

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.

Work Around

Asynchronous edge detection does not work; instead use the synchronous edge detection (ASYNCH.ASYNCH[x] = 0). To reduce power consumption when using synchronous edge detection, either set the GCLK_EIC frequency as low as possible or select the 32KHz_LPCLK clock (EIC CTRLA.CKSEL = 1).

Affected Silicon Revisions

A0B0
XX

If NMI is Configured in Synchronous Edge Detection Mode, Spurious Interrupts may occur after a Software Reset

If the NMI is configured in synchronous edge detection mode (NMICTR.NMISENSE = 1, 2 or 3; NMICTRL.NMIASYNCH = 0), spurious NMI interrupts may occur after a software reset (CTRLA.SWRST = 1).

Work Around

  • Configure one dummy EIC external interrupt x (EXTINTx) in edge detection mode
  • Enable the EIC: CTRLA.ENABLE = 1
  • Wait for synchronization completion (SYNCBUSY.ENABLE = 0)
  • Configure the NMI in edge detection mode

Affected Silicon Revisions

A0B0
XX

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 0. It is, then, impossible to know if the event user for this channel is ready or not to accept new events.

Work Around

Generate software events for this user through a dedicated channel configured with event detection set on rising edges (CHANNELn.EDGSEL = 0x1).

Affected Silicon Revisions

A0B0
XX

Spurious Overrun

The 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 = 0x0/0x1) with event detection set on both rising and falling edges (CHANNELn.EDGSEL = 0x3), spurious overrun interrupts may occur (INTFLAG.OVRn).

Work Around

Generate software events for the event user through a dedicated channel configured with event detection set on rising edges (CHANNELn.EDGSEL = 0x1).

Affected Silicon Revisions

A0B0
XX

Spurious Overrun

In the Synchronous mode, spurious overrun interrupts can happen when the generic clock for a channel is always CHANNEL.ONDEMAND = 0.

Work Around

Set Generic Clock on Demand feature by setting CHANNEL.ONDEMAND = 1.

Affected Silicon Revisions

A0B0
XX

Flash Controller Module

SYS Reset Not Getting Released when Asserted Post-Erase Retry

After the Erase Retry operation (using NVMCON2.VREAD1 = 1), all the operations work as expected until a SYS Reset is asserted. When the SYS Reset is asserted post-Erase Retry, the Reset is stuck and not getting released.

Work Around

To eliminate the risk of getting stuck in reset, execute one of the below mentioned options after the VREAD operation:
  1. Power-on-Reset.
  2. Configure the CFGCON1.SMCLR bit to 0 to make MLCR create Faux-POR. Assert MCLR.
  3. Enter and Exit Deep Sleep mode.

Affected Silicon Revisions

A0B0
XX

DMA in Sleep Mode

Flash read/write by DMA not working in Standby Sleep mode if Flash power down is enabled.

Work Around

If DMA is used in Standby Sleep mode, do not enable the Flash power down (NVMCON2.SLEEP = 0).

Affected Silicon Revisions

A0B0
XX

Risk of NMI False/Deep Power Down (DPD)

The NMI wakes while the CRU is entering Sleep mode and may trigger Flash DPD on early wake-up.

Work Around

If external NMI is enabled when system is entering Sleep mode, do not enable the DPD of the Flash panel in Sleep (set NVMCON2[24]:NVMSLP:NVM Power Down in Sleep Bit = 0).

Affected Silicon Revisions

A0B0
XX

GPIO

GPIO Port Value unstable in Debug and Freeze Mode

Issue occurs when a signal changes on a GPIO pad and at the same time ICD freezes the GPIO peripheral. In this case reading the port register will result in unstable values for the pads that changed.

Work Around

None

Affected Silicon Revisions

A0B0
XX

Peripheral Access Controller (PAC)

PAC Protection Error in FREQM

FREQM reads on the Control B register (FREQM.CTRLB) to generate a PAC protection error.

Work Around

None

Affected Silicon Revisions

A0B0
XX

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.

Work Around

When using the QSPI Status register bits in the application, configure PB2_CLK to be equal to SYS_CLK without any divisions.

Affected Silicon Revisions

A0B0
XX

RAM Error Correction Code (RAMECC)

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), the ERRADDR register read will not return the failing address (caused by Single Bit Error/Dual Bit Error). Instead, it may return ‘0’.

Work Around

When using RAM ECC in the application, configure PB2_CLK to be equal to SYS_CLK without any divisions.

Affected Silicon Revisions

A0B0
XX

6 Bytes Not Retained at Address 0x20000006 Offset

When SRAM is configured for memory retention, 6 bytes of memory cannot be retained.

Work Around

For ease-of-use, retention memory for deep sleep applications or similar applications should start at SRAM offset of 32 bytes.

Affected Silicon Revisions

A0B0
X

Real-Time Clock Calender (RTCC)

Tamper Input Filter

Majority debouncing, as part of RTCC tamper detection, does not work when enabled by setting the Debouncer Majority Enable bit, CTRLB.DEBMAJ.

Work Around

None

Affected Silicon Revisions

A0B0
XX

Write Corruption

An 8-bit or 16-bit write access for a 32-bit register or an 8-bit write access for a 16-bit register can fail for the following registers:
  • COUNT register in the COUNT32 mode
  • COUNT register in the COUNT16 mode
  • CLOCK register in the CLOCK mode

Work Around

Write the registers with:
  • A 32-bit write access for the COUNT register in the COUNT32 mode; CLOCK register in the CLOCK mode
  • A 16-bit write access for the COUNT register in the COUNT16 mode

Affected Silicon Revisions

A0B0
XX

COUNTSYNC

When COUNTSYNC is enabled, the first COUNT value is not correctly synchronized, and, thus, its value is incorrect.

Work Around

After enabling COUNTSYNC, read the COUNT register until its value is changed when compared to its first value read. After this, all consequent value reads from the COUNT register are valid.

Affected Silicon Revisions

A0B0
XX

Tamper Input Filter

Majority debouncing, as part of RTCC tamper detection, does not work when enabled by setting the Debouncer Majority Enable bit, CTRLB.DEBMAJ.

Work Around

None.

Affected Silicon Revisions

A0B0
XX

Tamper Detection

When the RTCC is configured in ACTL mode with an external tamper pin (ALSI=0) and the RTCC CTRLA.ENABLE bit is not set, a tamper can be detected and a timestamp captured. The TAMID register and INTFLAG.TAMPER bit may be (not always) set.

Work Around

When the RTCC is configured for tamper detection in ALSI mode with an external pin (ALSI=0), after setting the CTRLA.ENABLE control bit, the user must wait for 10 RTCC clock periods.

Then the user will clear the TAMPID register, clear the INTFLAG.TAMPER bit and do a dummy read of the TIMESTAMP register to remove the lock condittion on the TIMESTAMP register. After these operations the RTCC tamper is configured and running.

Affected Silicon Revisions

A0B0
XX

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.

Work Around

Enable the RTCC tamper interrupt and copy the timestamp from the RTCC CLOCK register to one of the following destinations:

  • SRAM
  • GPx register in RTCC
  • BKUPx register in RTCC

Affected Silicon Revisions

A0B0
XX

Periodic Event Generation

When CTRLA.PRESCALER is set to OFF and either CTRLB.RTCCOUT is set or one of the TAMCTRL.DEBNCn bits is set, the RTCC prescaler behaves like CTRLA.PRESCALER = DIV1. The Periodic events and Periodic interrupts will be generated.

Work Around

When the above conditions are met, clear the EVTCTRL.PEREOn bits to avoid unwanted event generation, and clear the INTENCLR.PERn bits to avoid unwanted interrupt generation.

Affected Silicon Revisions

A0B0
XX

General Purpose Register

General Purpose Registers n (GPn) are reset on tamper detection even if GPTRST = 0.

Work Around

None.

Affected Silicon Revisions

A0B0
XX

TIMESTAMP Lock by INFLAG.TAMPER

When DMA is enabled (CTRLB.DMAEN = 1), the INTFLAG.TAMPER bit is not reset by reading the TIMESTAMP register.

Work Around

Clear the INTFLAG.TAMPER bit by writing a ‘1’ to this bit when the Timestamp value has been read by the DMA.

Affected Silicon Revisions

A0B0
XX

Serial Communication Interface (SERCOM)

SERCOM-USART: Collision Detection

In the 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 (PBx_CLK) Clock is lower than the SERCOM Generic Clock.

Work Around

The SERCOM APB (PBx_CLK) clock must always be higher than the SERCOM Generic Clock to support collision detection.

Affected Silicon Revisions

A0B0
XX

SERCOM-USART: Debug Mode

In the USART operating mode, if DBGCTRL.DBGSTOP = 1, data transmission is not halted after entering the Debug mode.

Work Around

None.

Affected Silicon Revisions

A0B0
XX

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 ‘0’ or ‘1’.

Work Around

Use the 8-bit mode if using Hardware Flow control.

Affected Silicon Revisions

A0B0
XX

SERCOM-USART: Error Interrupts

The SERCOM USART does not wake from the Standby Sleep mode for ERROR interrupts FERR and PERR.

Work Around

Configure the SERCOM-USART to wake up on RX complete and check any PERR/FERR interrupt flag on wake-up.

Affected Silicon Revisions

A0B0
XX

SERCOM-USART: SERCOM USART in TX Mode Only

When the SERCOM USART is configured as CTRLA.RUNSTDBY = 0 and the Receiver is disabled (CTRLB.RXEN = 0), the clock request to the SERCOM generic clock generator feeding the SERCOM will stay asserted during the Standby Sleep mode, leading to unexpected overconsumption.

Work Around

Configure CTRLA.RXPO and CTRLA.TXPO to use the same SERCOM PAD for RX and TX or add an external pull-up on the RX pin.

Affected Silicon Revisions

A0B0
XX

SERCOM-I2C: I2C in Client Mode

In the I2C mode, the LENERR, SEXTOUT, LOWTOUT, COLL and BUSERR bits are not cleared when INTFLAG.AMATCH is cleared.

Work Around

Manually clear the status bits: LENERR, SEXTOUT, LOWTOUT, COLL and BUSERR by writing these bits to ‘1’ when set.

Affected Silicon Revisions

A0B0
XX

SERCOM-I2C: Client Mode with DMA

In the 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 data to the DATA register. Because a NACK was received, the transfer on the I 2C bus will not occur, causing the loss of this data.

Work Around

Configure the DMA transfer size to the number of data to be received by the I2C host. The DMA cannot be used if the number of data to be received by the host is not known.

Affected Silicon Revisions

A0B0
XX

SERCOM-I2C: I2C Client in DATA32B Mode

When SERCOM is configured as an I2C client in the 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.

If the CPU does not write a new data to the I2C client DATA register, the I2C client will pull the SDA line, which will result in stalling the bus permanently.

Work Around

  1. Write dummy data to the data register when a NACK is received from the host.
  2. Use command #2 (SERCOMx->I2CS.CTRLB.bit.CMD = 2) when a NACK is received from the host.
Important: Because STATUS.RXNACK always indicates the last received ACK to determine when a NACK is received from the I2C host, the I2C client software needs to consider I2CS.STATUS.RXNACK only on the second DRDY interrupt after receiving the AMATCH interrupt.

Affected Silicon Revisions

A0B0
XX

SERCOM-I2C: Repeated Start

When the Quick command is enabled (CTRLB.QCEN = 1), software can issue a repeated Start by writing either CTRLB.CMD or ADDR.ADDR bit fields. If, in these conditions, the SCL Stretch mode is CTRLA.SCLSM = 1, a bus error will be generated.

Work Around

Use the Quick Command mode (CTRLB.QCEN = 1) only if the SCL Stretch mode is CTRLA.SCLSM = 0.

Affected Silicon Revisions

A0B0
XX

SERCOM-I2C: SCL/SDA Transition Time

SCL/SDA minimum transition time is not met in Fast-mode plus (1 MHz).

Work Around

  • If desired, external series resistors can slow the fall transition.
  • Recommend REXT*CLOAD > 13 ns. REXT must not exceed 1 KΩ.
Product/InterfaceVoltage RangeIOLmin
I2C2.97 < VDDIO < 3.6316.3 mA
1.9 < VDDIO < 2.979.3 mA

Affected Silicon Revisions

A0B0
XX

SERCOM-I2C Client: Error Interrupt INTFLAG.ERROR Repeated Start

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.

Work Around

None.

Affected Silicon Revisions

A0B0
XX

SERCOM-I2C Client: I2C DRDY Raised when no Data is to be Fed

The RXNACK status bit is invalid during the first I2CS_DRDY interruption handler.

Work Around

Use a software flag to track when to ignore RXNACK (equivalent to have it true) and resets this flag in the I2CS_AMATCH interruption handler (workaround inapplicable with AACKEN=1).

Affected Silicon Revisions

A0B0
XX

SERCOM-I2C Client:I2C Client Auto Ack is Not Usable

The RXNACK status bit is invalid during the first I2CS_DRDY interruption handler.

Work Around

Do not use the AACKEN feature; implement an AMATCH handler instead.

Affected Silicon Revisions

A0B0
XX

SERCOM-SPI: Data Preload

In the SPI Client mode with Client Data Preload Enabled (CTRLB.PLOADEN = 1), the client transmitter may discard some data if the host cannot keep the Client Select pin low until the end of transmission.

Work Around

In the SPI Client mode, the Client Select pin (SS) must be kept low by the host until the end of the transmission if the Client Data Preload feature is used (CTRLB.PLOADEN = 1).

Affected Silicon Revisions

A0B0
XX

SERCOM-SPI: 32-Bit Extension Mode Additional Bytes

When the 32-bit extension mode is enabled and Data to be sent is not in multiples of 4 bytes (which means length counter needs to be enabled). In this case, additional byte(s) will be sent over the line.

Work Around

Any one of the below fix will work.

  1. Write the Inter-Character Spacing bits (CTRLC.ICSPACE) to a non-zero-value.
  2. Do not use length counter in firmware by keeping data to be sent is in multiples of 4 bytes.

Affected Silicon Revisions

A0B0
XX

SERCOM-SPI: Client Data Preload

Preloading a new SPI data (CTRLB.PLOADEN = 1) before going into the Standby Sleep mode may lead to extra power consumption.

Work Around

None.

Affected Silicon Revisions

A0B0
XX

SERCOM-SPI: Hardware Client Select Control

When Hardware Client Select Control is enabled (CTRLB.MSSEN = 1), the Client Select (SS) pin goes high after each byte transfer even if new data is ready to be sent.

Work Around

Set CTRLB.MSSEN = 0 and handle the Client Select (SS) pin by software.

Affected Silicon Revisions

A0B0
XX

SERCOM-LIN: 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.

Work Around

None.

Affected Silicon Revisions

A0B0
XX

Timer/Counter for Control Applications (TCC)

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.

Work Around

In the Down-counting mode, write period value directly to the PER register instead of writing to PERBUF. Alternatively, the Up-counting mode in the TCC can be used if the LUPD feature is required.

Affected Silicon Revisions

A0B0
XX

Corrupted Re-trigger Event Waveform Output

If a Re-trigger event (EVCTRL.EVACTn = 0x1, RETRIGGER) occurs at the Channel Compare Match [n] time, the next Waveform Output [n] is corrupted.

Work Around

Use two channels to store their two successive (n and n+1) CC register values and combine their related waveform outputs to make signal redundancy.

Affected Silicon Revisions

A0B0
XX

TCC Capture Mode with Synchronous Event

TCC input events does not support Synchronous or Resynchronized path.

Work Around

When TCC input events are used, the respective CHANNEL.PATH of the Event System used for TCC input event must be configured as Asynchronous path.

Affected Silicon Revisions

A0B0
XX

TCC in Dithering Mode with External Re-trigger Events

Using the TCC in the Dithering mode with external re-trigger events can lead to an unexpected stretch of right-aligned pulses or shrink of left-aligned pulses.

Work Around

Do not use re-trigger events or actions when the TCC module is configured in the Dithering mode.

Affected Silicon Revisions

A0B0
XX

RAMP2 Feature in Down-Counting Mode

The Timer/Counter Counting-down mode (CTRLBCLR.DIR = CTRLBSET.DIR = 1) is not supported in RAMP2 operations (RAMP2, RAMP2A, RAMP2C, RAMP2CS).

Work Around

Use the Timer/Counter Up-counting mode (CTRLBCLR.DIR = CTRLBSET.DIR = 0).

Affected Silicon Revisions

A0B0
XX

In 2RAMP Mode with Hi-resolution Reference

In 2RAMP mode with Hi-resolution, multiple restarts can be observed when a fault occurs.

Work Around

In two Ramp modes (RAMP2, RAMP2A, RAMP2C, RAMP2CS), a re-trigger is not supported in Dithering mode.

Affected Silicon Revisions

A0B0
XX

Timer/Counter (TC)

PERBUF/CCBUFx Register

When clearing the STATUS.PERBUFV/STATUS.CCBUFx flag, the SYNCBUSY flag is released before the PERBUF/CCBUFx register is restored to its appropriate value.

Work Around

Clear the STATUS.PERBUFV/STATUS.CCBUFx flag successively twice to ensure that the PERBUF/CCBUFx register value is restored before updating it.

Affected Silicon Revisions

A0B0
XX

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.

Work Around

Use two channels to store their two successive (n and n+1) CC register values and combine their related waveform outputs to make signal redundancy.

Affected Silicon Revisions

A0B0
XX

Watchdog Timer (WDT)

RUN Mode WDT Counter is Not Cleared Before Standby Sleep Instruction

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. When using LPRC as a clock source, the interval is 1 LPRC clock. Because the watchdog timer is in the LPRC domain, which is much slower than the CPU clock, the sleep instruction is executed even before the Run mode watchdog counter is cleared. Hence, the Run mode watchdog counter remains frozen to its last count instead of clearing to ‘0’.

While in the Standby Sleep mode, the Sleep mode watchdog counter increments. At the end of the WDTPS, it generates an NMI, which causes the CPU to wake up.

After wake-up, the user will expect that because WDT is cleared just before going to sleep, they have an entire WDT period available to them before they have to clear WDT again, but, because the Run mode counter was not cleared before going into sleep, the WDT Reset occurs earlier than expected.

Work Around (Either or Both Can be Used)

  1. Add a delay of more than 1 WDT Clock (LPRC clock) between clearing of the WDT and execution of sleep instruction.
  2. Execute the WDT clear instruction as soon as the CPU wakes up.

Affected Silicon Revisions

A0B0
XX