Freescale Semiconductor Mask Set Errata MPC5554_REVB Rev 10 JUL 2013 Mask Set Errata for Mask REVB Introduction This report applies to mask REVB for these products: * MPC5554 ID before 15 MAY 2008 ID from 15 May 2008 to 30 JUNE 2010 ID after 1 JULY 2010 Errata Title 645 6448 1694 BAM: Peripheral Bridge A not initialized as guarded N/A 12488 2279 BAM: Pull RXD_A high during CAN serial boot mode 2297 7062 1722 BAM: Serial download unavailable to last 16 bytes (4 words) of System RAM 2237 7461 2114 DMA: Dynamic writes to DMA control register can induce preemption failure 1123 6934 575 DSPI: Changing CTARs between frames in continuous PCS mode causes error 4031 5922 621 DSPI: DSPI D PCS[3:4] are slow speed pins N/A 10483 1103 DSPI: PCS Continuous Selection Format limitation 2264 11097 1147 DSPI: Using DSPI in DSI mode with MTO may cause data corruption N/A 9739 1082 DSPI: set up enough ASC time when MTFE=1 and CPHA=1 2823 7049 1708 EBI: Do not access external resources when the EBI is disabled 3111 11099 1151 EBI: Dual controller mode cannot be guaranteed under all conditions 1119 6826 1360 EBI: Incorrect write data on transaction following a burst access with error. 3839 5762 1844 EBI: Timed out accesses (external TA only) may generate spurious TS_B pulse 1651 7428 2773 ECSM: ECC error reported on prefetches outside the flash 2235 7447 2089 ECSM: ECC event can get reported incorrectly 2236 7429 2056 ECSM: ECC event can report incorrect address Table continues on the next page... (c) 2013 Freescale Semiconductor, Inc. ID before 15 MAY 2008 ID from 15 May 2008 to 30 JUNE 2010 ID after 1 JULY 2010 Errata Title 3819 5715 1741 EQADC : 25% calibration channel sampling requires at least 64 sampling cycles 1742 6968 652 EQADC: 50% reference channels reads 20 mv low 1921 7420 2046 FBIU: Disable prefetch before invalidating the flash BIU buffers 1920 7413 989 FLASH: Disable Prefetch during programming and erase 1793 7436 2071 FLASH: Erroneous Multi-bit Error interrupt could occur 2371 7439 2075 FLASH: Large blocks limited to 1,000 Program/erase cycles 2419 6946 605 FLASH: Minimum Programming Frequency is 25 MHz 2393 7080 1742 FLASH: Read While Write (RWW) can fail in certain conditions 1745 7444 2083 FLASH: The ADR register may get loaded with a flash address even through no ECC error has occurred 715 6764 1111 FMPLL: LOLF can be set on MFD change N/A 8014 2181 FMPLL: Non-zero pre-divider values can cause PLL lock failure N/A 18087 1232 FMPLL: Reset may not be negated if an external reset occurs during a software initiated PLL relock sequence 6531 FMPLL: Selecting GPIO mode on RSTCFG/PLLCFG[0:1] may cause PLL failure after a reset 3407 FlexCAN: CAN Transmitter Stall in case of no Remote Frame in response to Tx packet with RTR=1 4414 5952 1557 FlexCAN: Corrupt ID may be sent in early-SOF condition N/A 23304 2685 FlexCAN: Module Disable Mode functionality not described correctly 1428 6921 551 FlexCAN: Transmit Buffers May Freeze / missing frame 1831 6981 683 FlexCAN: receive time stamp may be incorrect N/A 34749 2424 FlexCAN: switching CAN protocol interface (CPI) to system clock has very small chance of causing the CPI to enter an indeterminate state 1037 6852 1488 FlexCAN: writing to an active receive MB may corrupt MB contents 5244 6276 817 JTAGC: EVTI and RDY require TCK to toggle 101 6445 1692 JTAGC: SAMPLE instruction does not sample input data during board boundary scan testing. 1638 6719 513 MPC5554: SIU_MIDR Revision field updated to 0x0011 716 11094 1140 MPC5554: VDD Current does not meet specification N/A 40092 6726 NPC: MCKO clock may be gated one clock period early when MCKO frequency is programmed as SYS_CLK/8.and gating is enabled 2273 7451 2096 NZ6C3: No sync message generated after 255 direct branch messages in history mode 1362 7430 2058 NZ6C3: Branch Trace History field on PCM message is zero 2706 7456 2103 NZ6C3: Data Trace of stmw instructions may cause overruns 1707 7410 985 NZ6C3: Incorrect data traced on misaligned little endian store 108 6899 1618 NZ6C3: No indication of an exception causing a Nexus Program Trace (PT) message as opposed to a retired branch instruction causing a PT message. 2097 7424 2052 NZ6C3: RFM not sent for history buffer overflow caused by 'evsel' Table continues on the next page... Mask Set Errata for Mask REVB, Rev 10 JUL 2013 2 Freescale Semiconductor, Inc. ID before 15 MAY 2008 ID from 15 May 2008 to 30 JUNE 2010 ID after 1 JULY 2010 Errata Title 1824 6971 658 Pad Ring: Do not use SOUT_D function on the PLLCFG1 pin in SPI slave mode 2372 6861 1513 Pad Ring: ESD specifications are not met 4381 5934 1528 Pad Ring: Pin behavior during power sequencing 63 6700 488 Pad Ring: Possible poor system clock just after POR negation. 64 7224 1969 Pad Ring: RSTOUT is 3-stated during the power-on sequence. 3377 Pad Ring:Nexus pins may drive an unknown value immediately after power up but before the 1st clock edge 59 6504 2323 SIU: The WKPCFG pin controls the internal pull devices on all eMIOS and eTPU pins. N/A 8913 1031 e200z6: Cache Invalidate/Clear Aborts due to masked core Interrupt 507 7419 2044 e200z6: Core renamed from e500z6 1323 11095 1143 e200z6: Data Storage Exception taken instead of Machine Check 3413 7350 846 e200z6: Debug interrupt (IVOR15) can be taken erroneously 1231 6824 1348 e200z6: JTAG Part Identification changed to 0x1 674 7380 914 e200z6: MFSPR may read prior value of SPEFSCR 2312 7068 1729 e200z6: MMU has 32 Table Entries 3474 7352 851 e200z6: wrong exception taken after FPU instruction preceding a lmw 3421 e200z: Cache returns value, even when disabled 5093 11091 1136 eDMA: BWC setting may be ignored between 1st and 2nd transfers and after the last write of each minor loop. 1332 7417 2043 eDMA: Unexpected start of channel 15 during a spurious preemption 1970 6778 1168 eMIOS: Asynchronous reads of the A and B registers in IPM and IPWM modes may not be coherent 2013 7083 1747 eMIOS: Comparators A and B enabled by writing to A2 and B2 in DAOC mode 522 6472 2281 eMIOS: Delayed A write not available in OPWFM, OPWM, OPEMC, and MC mode 862 6459 2261 eMIOS: Inverted output polarity with 0%/100% duty cycle in OPWM and OPWFM modes 2305 7147 1834 eMIOS: OPMWC unable to produce close to 100% duty cycle signal 1278 6788 1201 eMIOS: Possible incoherent access in PEA mode 860 6655 421 eMIOS: Possible incoherent accesses in IPWM/IPM modes 2251 6992 702 eMIOS: Writes to EMIOS_MCR register in IPM and IPWM modes may cause incoherent reads 2247 7064 1725 eQADC: Leakage on analog input near 5 volts 2878 7114 1773 eQADC: conversions of muxed digital/analog channels close to the rail N/A 8632 1013 eSCI : Automatic reset of the LIN state machine cause incorrect transmission N/A 27326 1381 eSCI: LIN Wakeup flag set after aborted LIN frame transmission N/A 17048 1221 eSCI: LIN bit error indicated at start of transmission after LIN reset Table continues on the next page... Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 3 ID before 15 MAY 2008 ID from 15 May 2008 to 30 JUNE 2010 ID after 1 JULY 2010 Errata Title N/A 8635 1017 eSCI: LIN fast bit error detection causes incorrect LIN reception N/A 8173 2190 eSCI: LIN slave timeout flag STO not asserted if CRC is received too late 7064 4968 1614 eSCI: Low pulse on LIN RX line may prevent assertion of transmit data ready flag ESCI_SR[TXRDY] 1846 6903 1634 eTPU: LAST can fail on consecutive teeth 2477 6965 644 eTPU: MISSCNT can fail on sequential physical teeth 452 6517 2337 eTPU: Output pin state does not qualify an entry point in the entry table 7331 3377 112 eTPU: Prescaler phase shift between TCR1 and TCR2 3150 5710 1728 eTPU: STAC bus export may skip 1 count 1807 6634 380 eTPU: TCR2, LAST can negate early in High Rate mode e1694: BAM: Peripheral Bridge A not initialized as guarded Errata type: Information Description: The Memory Management Unit (MMU) region for Peripheral Bridge A is initialized by the Boot Assist Module (BAM) as not guarded. Some peripherals, such as the eMIOS, have registers which have read side effects. While the e200z6 does not issue speculative reads, if a future processor core in the MPC5500 family issued reads speculatively, then non-coherent data can be read from the peripheral. While the BAM does not access Peripheral Bridge A, the MMU entries that it configures are meant to work for all MPC5500 family members. Workaround: For future compatibility, configure the MMU entry for Peripheral Bridge A to be guarded. e2279: BAM: Pull RXD_A high during CAN serial boot mode Errata type: Errata Description: The Boot Assist Module (BAM) disables the internal pull up resistor on serial port A receive data pin (eSCI RXD_A) during serial boot mode operation. If the pin is not actively driven by system, its input level may drift below low threshold and be recognized as a valid eSCI boot operation thus preventing CAN boot mode selection. Workaround: Always drive the eSCI RXD_A pin high during CAN serial boot mode. A external 10K pullup resistor can be used for this purpose. e1722: BAM: Serial download unavailable to last 16 bytes (4 words) of System RAM Errata type: Information Description: When using the BAM Serial boot download feature, the BAM initializes an additional 4 32-bit words after the end of the downloaded records. This is done to insure that if the core fetches the last instruction of the downloaded code from the internal SRAM while executing the code, it will not prefetch instructions from memory locations that have not been initialized. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 4 Freescale Semiconductor, Inc. Note: if the download image has the exact same size as the internal SRAM, the 20 bytes at the beginning of the SRAM will be written with zero value due to incomplete memory decoding. Workaround: When using the Serial download feature of the BAM, make sure that the maximum address of the downloaded code does not exceed the end address of the SRAM minus 16 bytes or the last address of the Memory Management Unit (MMU) entry minus 16 bytes (for devices with MMU and the SRAM MMU setting less than the full SRAM size), whichever is smaller. e2114: DMA: Dynamic writes to DMA control register can induce preemption failure Errata type: Errata Description: If the DMA control register (EDMA_CR) is written while a channel is in the process of being preempted by a higher priority channel, the preemption process may be treated as spurious. In this case, the original channel is not preempted but its priority and preemption enable bit are temporarily replaced with those of the channel that caused the spurious preemption. After the lower priority channel completes its transfer, its original priority is restored and the higher priorty channel starts its transfer. This temporary priority change may cause further blocking of higher priority preempting channels. Workaround: Do not use the channel preemption feature or if you use preemption, don't write the DMA control register when a preemptable channel is executing. e575: DSPI: Changing CTARs between frames in continuous PCS mode causes error Errata type: Errata Description: Erroneous data could be transmitted if multiple Clock and Transfer Attribute Registers (CTAR) are used while using the Continuous Peripheral Chip Select mode (DSPIx_PUSHR[CONT=1]). The conditions that can generate an error are: 1) If DSPIx_CTARn[CPHA]=1 and DSPIx_MCR[CONT_SCKE = 0] and DSPIx_CTARn[CPOL, CPHA, PCSSCK or PBR] change between frames. 2) If DSPIx_CTARn[CPHA]=0 or DSPIx_MCR[CONT_SCKE = 1] and any bit field of DSPIx_CTARn changes between frames except DSPIx_CTARn[PBR]. Workaround: When generating DSPI bit frames in continuous PCS mode, adhere to the aforementioned conditions when changing DSPIx_CTARn bit fields between frames. e621: DSPI: DSPI D PCS[3:4] are slow speed pins Errata type: Information Description: The eMIOS[10:11]/PCSD[3:4]/GPIO[189:190] pins have a pad type of SH (slow speed pad) instead of MH (medium speed pad). While the eMIOS function normally does not require a medium speed pad, when the pin is configured as the Deserial Serial Peripheral Interface D Peripheral Chip Select (DSPI_PCSxD), the slow pad may limit the maximum speed of the DSPI port. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 5 Workaround: Either don't use the DSPI_D PCS functions on these pins or limit the frequency of the DSPI port to account for the difference in slew rate of the pins. The slow pads have a slew rate of 15 to 200 ns and the medium speed pads have a slew rate of 8 to 100 ns (both with a 50 pF load) depending on the setting of the Slew Rate Control bits in the Pad Configuration register (PCRx[SRC]). e1103: DSPI: PCS Continuous Selection Format limitation Errata type: Errata Description: When the DSPI module has more than one entry in the TX FIFO and only one entry is written and that entry has the CONT bit set, and continuous SCK clock selected the PCS levels may change between transfer complete and write of the next data to the DSPI_PUSHR register. For example: If the CONT bit is set with the first PUSHR write, the PCS de-asserts after the transfer because the configuration data for the next frame has already been fetched from the next (empty) fifo entry. This behavior continues till the buffer is filled once and all CONT bits are one. Workaround: To insure PCS stability during data transmission in Continious Selection Format and Continious SCK clock enabled make sure that the data with reset CONT bit is written to DSPI_PUSHR register before previous data sub-frame (with CONT bit set) transfer is over. e1147: DSPI: Using DSPI in DSI mode with MTO may cause data corruption Errata type: Errata Description: Using the DSPI in Deserial Serial Interface (DSI) Configuration (DSPIx_MCR[DCONF]=0b01]) with multiple transfer operation (DSPIx_DSICR[MTOE=1]) enabled, may cause corruption of data transmitted out on the DSPI master if the clock Phase is set for leading edge capture DSPIx_CTARn[CPHA]=0. The first bit shifted out of the master DSPI into the slave DSPI module will be corrupted and will convert a '0' to read as a '1'. Workaround: There are three possible workarounds for this issue. 1) Select CPHA=1 if suitable for external slave devices. 2) Set first bit to '1', or ignore first bit. This may not be a workable solution if this bit is required. 3) Connect SOUT from the master to SIN of the first slave externally instead of using internal signals. This is achieved by setting the DSPI Input Select Register (SIU_DISR) to set the SINSELx field of the first slave DSPI to '00' and configuring this slave's SIN pin and master SOUT pin as DSPI SIN/SOUT functions respectively. This workaround is suitable only if these two signals are available to be connected externally to each other. e1082: DSPI: set up enough ASC time when MTFE=1 and CPHA=1 Errata type: Information Description: When the DSPI is being used in the Modified Transfer Format mode (DSPI_MCR[MTFE]=1) with the clock phase set for Data changing on the leading edge of the clock and captured on the following edge in the DSPI Clock and Transfer Attributes Register Mask Set Errata for Mask REVB, Rev 10 JUL 2013 6 Freescale Semiconductor, Inc. (DSPI_CTARn[CPHA]=1), if the After SCK delay scaler (ASC) time is set to less than 1/2 SCK clock period the DSPI may not complete the transaction - the TCF flag will not be set, serial data will not received, and last transmitted bit can be truncated. Workaround: If the Modified Transfer Format mode is required DSPI_MCR[MTFE]=1 with the clock phase set for serial data changing on the leading edge of the clock and captured on the following edge in the SCK clock (Transfer Attributes Register (DSPI_CTARn[CPHA]=1) make sure that the ASC time is set to be longer than half SCK clock period. e1708: EBI: Do not access external resources when the EBI is disabled Errata type: Information Description: When the external bus is disabled in the External Bus Interface Module Control Register (EBI_MCR[MDIS] = 1), accesses through the EBI will not terminate and the master requesting the access will not request another one. Workaround: Do not disable the EBI or do not allow accesses to the external bus through Memory Management Unit (MMU) settings in the core. Other internal bus masters (such as DMA) bypasses the MMU and therefore these accesses will hang the external bus if the destination is in the external bus address map. e1151: EBI: Dual controller mode cannot be guaranteed under all conditions Errata type: Errata Description: In dual controller mode, the specification for the phase relationship between EXTAL and CLKOUT is +/- 1 ns, however this does not allow adequate set up and hold times to guarantee successful operation of the external bus to a second MCU. Workaround: Do not use in Dual Controller mode. e1360: EBI: Incorrect write data on transaction following a burst access with error. Errata type: Errata Description: If a write access that is terminated by an error (TEA) is immediately followed by a back-to-back pipelined write transaction, incorrect data (data from the terminated transaction written instead of the second write transaction) could be written to memory. This condition could occur if one of the following occurs: 1) A Cache-enabled write access to a chip-selected (usually external memory) or non-chipselected region (usually external slave MCU), with external TEA asserted, is followed by pipelined write access. or 2) A Cache-enabled write access to a non-chip-select region, with EBI bus monitor timeout (which generally indicates a severe system problem - memory not present or responding), followed by pipelined write access. Workaround: Avoid situations in which a burst write can terminate with an error and immediately be followed by an additional write by not using the TEA functionality for external accesses and don't cacheenable non-chip-select external address regions. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 7 e1844: EBI: Timed out accesses (external TA only) may generate spurious TS_B pulse Errata type: Errata Description: When an external Transfer Acknowledge (TA) access times out, there is a boundary case where the External Bus Interface (EBI) asserts a Transfer Start (TS) pulse as if starting another access, even if no other internal request is pending. The boundary case is when the access is part of a "small access" set (sequence of external accesses to satisfy 1 internal request), and when the external TA arrives around the same cycle (+/- 1 clkout cycle) as the bus monitor timeout (BMT). Most EBI signals will stay negated during this erroneous transfer (CS, OE, WE, BDIP). However, along with TS assertion, RD_WR may also assert (for 1 cycle only, during this phantom TS), if the prior access that timed out was a write. This condition can generate an erroneous write transfer (with CS negated). The address (ADDR pins) will be incremented to the address of the next small access transfer that would have been performed, and the value driven by the EBI on the DATA bus (if a write) may change. Busy Busy (BB) may be asserted along with the phantom TS (if external master modes is enabled in the EBI Module configuration Register, SIU_MCR[EXTM]=1), and the Transfer Size (TSIZ) value may change. Internally, the EBI terminates the timeout access, and the internal state machine goes to IDLE after the timeout access. So the EBI will not be "hung" after the spurious TS, and the EBI does respond properly to future internal or external requests. However, the side effect of the spurious TS is that it may cause an external non-chip-select device to think an access is being performed to it, resulting in 1 of 2 bad effects (depending on RD_WR value during spurious TS): 1) RD_WR high (read): ext. device may drive back read data some number of cycles later, possibly conflicting with a future real access (e.g. write) that might have started by that time. 2) RD_WR low (write): ext. device may get an erroneous write performed to it Note that the soonest possible TS for a real transfer (after the timeout transfer), is 2 cycles after the spurious TS (so 1 cycle gap), meaning this Bug will never result in a 2-cycle TS pulse. Workaround: Do not enable bus monitor in the EBI Bus Monitor Control Register (keep SIU_BMCR[BME]=0), unless at least 1 of the following 3 conditions can be met: 1) The external TA will never be asserted from external device within 1 cycle of when the access would be timing out (see NOTE below) 2) No internal requests greater than external bus size will be performed (e.g. doing data-only fetches of 32 bits or less on 32-bit data bus or 16 bits or less on a 16 bit bus only, so a "small access" could never occur). 3) The side effect of this TS pulse driven to non-CS device is judged to be tolerable in system after a timeout error occurs; depends on spec of external device and user requirements for data coherency after a timeout error occurs. NOTE: Of the 3 above, #1 is easiest to achieve in most systems. If the maximum possible TA latency of the external device is known, the user just needs to set the BMT period more than (external device maximum latency + 2), and this condition will not occur. e2773: ECSM: ECC error reported on prefetches outside the flash Errata type: Errata Mask Set Errata for Mask REVB, Rev 10 JUL 2013 8 Freescale Semiconductor, Inc. Description: Accessing the last pages of the internal flash array may cause the flash controller to prefetch past the end of the array if the prefetch limits set up in the flash bus interface control register (FLASH_BIUCR) is greater than 1. This will return an ECC error from the array which will be registered in the Error Correction Module (ECSM). The core will take a data storage exception (IVOR2) for data accesses, an illegal instruction exception (IVOR3), or in other cases, it will be ignored. Workaround: Since there are only 2 prefetch buffers in the flash, do not use the last 64 bytes of the internal flash. e2089: ECSM: ECC event can get reported incorrectly Errata type: Errata Description: The Error Correction Status Module may report inaccurate attributes for a single or multi-bit error that occurs on a read after write to the internal SRAM. The attributes would be report incorrectly when the ECC event occurs during a read that results in 2 wait states (one for the previous write and then one for the read). Workaround: The user should understand that the attributes for the ECC event may be incorrect. e2056: ECSM: ECC event can report incorrect address Errata type: Errata Description: An incorrect failing address for an Error Correction event may be reported when performing a wrapped 8-bit burst read from the internal SRAM. The byte that caused the ECC event will be included in the 64-bit address reported, but may not be the exact address reported. Workaround: The user should be aware that the address reported for an ECC event from the Error Correctionand Status Module (ECSM) may not be completely correct. For example, an ECC error that occurs on address 0x4000_0000 could be reported as 0x4000_0004, if the wrapped burst began on address 0x4000_0004, but received the ECC error when the burst wrapped back to address 0x4000_0000. e1741: EQADC : 25% calibration channel sampling requires at least 64 sampling cycles Errata type: Information Description: The 25%*(VRH-VRL) calibration channel (ADC channel 44) will not convert to specification with an ADC sample time less than 64 cycles. Workaround: For accurate calibration, the 25% calibration channel should be converted using the Long Sample Time (LST) setting for either 64 or 128 ADC sample cycles in the ADC Conversion Command Message (LST = 0b10 or 0b11). e652: EQADC: 50% reference channels reads 20 mv low Errata type: Information Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 9 Description: The equation given for the definition of the 50% reference channel (channel 42) of the Enhanced Queued Analog to Digital Converter (eQADC) is not correct. The 50% reference point will actually return approximately 20mV (after calibration) lower than the expected 50% of difference between the High Reference Voltage (VRH) and the Low Reference Voltage (VRL). Workaround: Do not use the 50% point to calibrate the ADC. Only use the 25% and 75% points for calibration. After calibration, software should expect that the 50% Reference will read 20 mV low. e2046: FBIU: Disable prefetch before invalidating the flash BIU buffers Errata type: Errata Description: Flash programming or erasing will automatically invalidate the flash prefetch buffers in the Flash Bus Interface. When prefetching is enabled while the buffers are being invalidated, a prefetch could be initiated that could result in a prefetch data acknowledge for a subsequent transfer and result in incorrect data being returned on that subsequent transfer. Workaround: Disable prefetching by clearing either the master prefetch enable for all masters in the FBIU Control Register (FLASH_BIUCR[MnPFE]=0b00000), clearing both the Data Prefetch Enable and the Instruction Prefetch Enable (FLASH_BIUCR[DPEN] AND FLASH_BIUCR[IPFEN]=0b00), or setting the prefetch limit to zero (FLASH_BIUCR[PFLIM]=0b000) before performing any program or erase operation to the flash. This means that prefetching should be disabled before starting a program or erase operation, or when turning the buffers off and then on again. e989: FLASH: Disable Prefetch during programming and erase Errata type: Errata Description: If a prefetch read completes in the flash bus interface (Flash_BIU) during the same cycle that a flash write is initiated, the write will not be performed. Workaround: Disable prefetching by clearing either the master prefetch enable for all masters in the FBIU Control Register (FLASH_BIUCR[MnPFE]=0b00000), clearing both the Data Prefetch Enable and the Instruction Prefetch Enable (FLASH_BIUCR[DPEN] AND FLASH_BIUCR[IPFEN]=0b00), or setting the prefetch limit to zero (FLASH_BIUCR[PFLIM]=0b000) before performing any program or erase operation to the flash. This will ensure that all writes to the flash are done while prefetching is disabled. e2071: FLASH: Erroneous Multi-bit Error interrupt could occur Errata type: Errata Description: Under some bus timing conditions, the Error Correction Status Module (ECSM) could cause an interrupt erroneously for the internal flash, even though no error was actually detected in the flash. Workaround: If Error Correction Code (ECC) interrupts are enabled in the Error Correction Status Module (ECSM) flash, then the interrupt routine should check the Flash ECC error flag in the Flash Module Configuration register (FLASH_MCR) to ensure that the ECC error reported by the Mask Set Errata for Mask REVB, Rev 10 JUL 2013 10 Freescale Semiconductor, Inc. ECSM is real and not erroneous. If the error is real (FLASH_MCR[EER] = 1), then the ECC handler should read the failing address from the flash Address Register (FLASH_AR register) instead of the ECSM Flash ECC Address Register (ECSM_FEAR). e2075: FLASH: Large blocks limited to 1,000 Program/erase cycles Errata type: Errata Description: The electrical specification for Program/Erase cycling on large Flash blocks (all 128K blocks Middle Address Space [MAS] blocks M0 and M1, plus High Address Space [HAS] blocks H0 to H3/H7/H11/H19 [depending on total flash size]) has been changed to 1,000 PE cycles minimum. The small blocks (16K, 48K, and 64K - Low Address Space [LAS] blocks L0-L5) are still specified as 100,000 PE cycles minimum. The data retention specification all blocks is still 20 years for blocks cycled less than 1000 times and 5 years for blocks cycled 1001 to 100,000 cycles (1,000 for large blocks). Workaround: Only use the small blocks for EEPROM emulation (LAS L0-L5). Do not use blocks MAS M0/M1 or HAS H0 to H3/H7/H11/H19 (depending on total flash size) for EEPROM emulation requiring greater than 1,000 Program/Erase cycles. Refer to the latest device electrical specifications (Data Sheet) dated July 2007 or later. e605: FLASH: Minimum Programming Frequency is 25 MHz Errata type: Information Description: Programming and erase operations of the internal flash could fail if the clock to the flash (usually the system clock) is less than 25 MHz. Workaround: Do not program or erase the flash when the system operating frequency is below 25Mhz. e1742: FLASH: Read While Write (RWW) can fail in certain conditions Errata type: Errata Description: Reading FLASH while writing (programming or erasing) a different partition may fail in certain conditions when writing to blocks 18 and 19 of the flash (High Address Space H10 and H11). This will occur only if the last FLASH read access immediately before the write was to a location within blocks 18 and 19. A failure is signaled by the Read While Write Event Error flag in the Flash Module Configuration Register (FLASH_MCR[RWE] is set) and an exception will occur. The exact exception which occurs will depend upon the nature of the fetch and how it became corrupted. Workaround: Ensure the last location read from FLASH prior to writing FLASH is in a different partition from that being written. This may be accomplished by performing a dummy read from a different FLASH partition immediately before writing. If the FLASH programming routines are resident in another FLASH partition, then the workaround will be applied by default. e2083: FLASH: The ADR register may get loaded with a flash address even through no ECC error has occurred Errata type: Information Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 11 Description: The Flash Address Register (FLASH_AR) may be loaded with a flash address when no Error Correction Code (ECC) has occurred. When an ECC does occur, the FLASH_AR is properly set. Workaround: Check the Flash Module Control Register ECC Event Error (FLASH_MCR[EER]=1) to check for an ECC error before examining the ADR register. If an error has occurred then the ADR register data is valid. If an error has not occurred then the FLASH_AR data could change on any flash access. e1111: FMPLL: LOLF can be set on MFD change Errata type: Errata Description: Normally, the Loss of Lock Flag (FMPLL_SYNCR[LOLF]) would not be set if the loss of lock occurred due to changing of the Multiplication Factor Divider bits or PREDIV bits (FMPLL_SYNCR[MFD] or [PREDIV]) or enabling of Frequency Modulation (FMPLL_SYNCR[Depth]>0b00). However, if LOLF has been set previously (due to an unexpected loss of lock condition) and then cleared (by writing a 1), a change of the MFD, PREDIV or DEPTH fields can cause the LOLF to be set again which can trigger an interrupt request if LOLIRQ bit is set. In addition, changing the RATE bit will also set the LOLF regardless of previous conditions. Workaround: The Loss of Lock Interrupt Request enable in the Synthesizer Control Register (FMPLL_SYNCR[LOLIRQ]) should be cleared before any change to the multiplication factor (MFD), PREDIV, modulation depth (DEPTH), or modulation rate (RATE) to avoid unintentional interrupt requests. After the PLL has locked (LOCK=1), LOLF should be cleared (by writing a 1) and LOLIRQ may be set again if required. e2181: FMPLL: Non-zero pre-divider values can cause PLL lock failure Errata type: Errata Description: When configuring the MPC55xx Frequency Modulated Phase Lock Loop (FMPLL) in crystal or external reference clock mode, the system clock frequency (SYSCLK) is determined by the values programmed into the Pre-Divider (PREDIV), Multiplication Factor Divider (MFD), and Reduced Frequency Divider (RFD) fields in the FMPLL Synthesizer Control Register (FMPLL_SYNCR). If the pre-divider is set to divide by 2, 3, 4, or 5 (FMPLL_SYNCR[PREDIV] = 1, 2, 3, or 4), a condition may occur in which the FMPLL will fail to lock. Odd predividers may result in the PLL stuck in a lock routine where it can not escape. Even predividers may result in the PLL VCO frequency not being able to reach target frequencies below 110MHz. To clear this condition when it occurs, the part must be powered down. Workaround: If a pre-divider of 2, 3, 4, or 5 must be used in order to achieve the desired system clock frequency, any write that causes a relock of the FMPLL (changing either the PREDIV or MFD) with a FMPLL_SYNCR[PREDIV] = 1, 2, 3, or 4 must occur with the current system frequency set to one-half of the crystal frequency or less through setting of the PLL RFD prior to writing the MFD or PREDIV. NOTE: When programming the FMPLL, care must also be taken not to violate the maximum system clock frequency of the device, or the maximum and minimum frequency specifications of the FMPLL. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 12 Freescale Semiconductor, Inc. e1232: FMPLL: Reset may not be negated if an external reset occurs during a software initiated PLL relock sequence Errata type: Errata Description: During a software initiated change in frequency of the Phase Lock Loop (PLL) to a frequency greater than 112 MHz, if reset is externally asserted, it is possible that reset will never be exited. Workaround: Do not allow external resets to be applied during a software initiated PLL frequency change that requires a relock of the PLL. A possible way to prevent this from occurring is to use a GPIO signal to gate (hold off) the RESET input to the device from the external power supply. The following sequence would have to be used: 1) drive GPIO to hold RESET negated, 2) Start the PLL lock sequence, 3) wait for PLL lock sequence to complete, 4)Toggle the GPIO pin to allow the external reset to assert the RESET pin. e6531: FMPLL: Selecting GPIO mode on RSTCFG/PLLCFG[0:1] may cause PLL failure after a reset Errata type: Errata Description: If the General Purpose Input/Output (GPIO) mode is selected in software for the PLLCFG[0:1] and/or the RSTCFG pins AND the default clock reference mode (crystal reference) is not used, any RESET assertion of the device (internal or external) may corrupt the operating mode of the PLL and the microcontroller may not exit reset (RSTOUT will not negate). Workaround: Do not enable the GPIO mode in software for the PLLCFG[0:1]/RSTCFG pins when over-riding the default (crystal) PLL clock mode (RSTCFG=0 AND PLLCFG[0:1] != 0b10). e3407: FlexCAN: CAN Transmitter Stall in case of no Remote Frame in response to Tx packet with RTR=1 Errata type: Errata Description: FlexCAN does not transmit an expected message when the same node detects an incoming Remote Request message asking for any remote answer. The issue happens when two specific conditions occur: 1) The Message Buffer (MB) configured for remote answer (with code "a") is the last MB. The last MB is specified by Maximum MB field in the Module Configuration Register (MCR[MAXMB] ). 2) The incoming Remote Request message does not match its ID against the last MB ID. While an incoming Remote Request message is being received, the FlexCAN also scans the transmit (Tx) MBs to select the one with the higher priority for the next bus arbitration. It is expected that by the Intermission field it ends up with a selected candidate (winner). The coincidence of conditions (1) and (2) above creates an internal corner case that cancels the Tx winner and therefore no message will be selected for transmission in the next frame. This gives the appearance that the FlexCAN transmitter is stalled or "stops transmitting". Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 13 The problem can be detectable only if the message traffic ceases and the CAN bus enters into Idle state after the described sequence of events. There is NO ISSUE if any of the conditions below holds: a) The incoming message matches the remote answer MB with code "a". b) The MB configured as remote answer with code "a" is not the last one. c) Any MB (despite of being Tx or Rx) is reconfigured (by writing its CS field) just after the Intermission field. d) A new incoming message sent by any external node starts just after the Intermission field. Workaround: Do not configure the last MB as a Remote Answer (with code "a"). e1557: FlexCAN: Corrupt ID may be sent in early-SOF condition Errata type: Errata Description: This erratum is not relevant in a typical CAN network, with oscillator tolerances inside the specified limits, because an early start of frame condition (early-SOF) should not occur. An early-SOF may only be a problem if the oscillators in the network operate at opposite ends of the tolerance range (maximum 1.58%), which could lead to a cumulated phase error after 10 bit-times larger than phase segment 2. A corrupt ID will be sent out if a transmit message buffer is identified for transmission during INTERMISSION, and an early-SOF condition is entered due to a dominant bit being sampled during bit 3 of INTERMISSION. The message sent will be taken from the newly set up transmit buffer (Tx MB), with the exception of the 1st 8 ID bits, which are taken from the previously selected Tx MB. The CRC is correctly calculated on the resulting bit stream so that receiving nodes will validate the message. The early-SOF condition is detailed in the Bosch CAN Specification Version 2.0 Part B, Section 3.2.5 INTERFRAME SPACING - INTERMISSION. Workaround: 1) Configure Tx MBs during FREEZE mode, or 2) Out of FREEZE mode, configure Tx MBs during bus idle: - For networks with low traffic, determine Bus Idle status by reading the Idle bit of the Error and Status register (CANx_ESR[IDLE]). - For networks with high traffic, configure Tx MBs after the 3rd bit of intermission, and before the third bit of the CRC field from the next transmission. e2685: FlexCAN: Module Disable Mode functionality not described correctly Errata type: Errata Description: Module Disable Mode functionality is described as the FlexCAN block is directly responsible for shutting down the clocks for both CAN Protocol Interface (CPI) and Message Buffer Management (MBM) sub-modules. In fact, FlexCAN requests this action to an external logic. Workaround: In FlexCAN documentation chapter: Section "Modes of Operation", bullet "Module Disable Mode": Mask Set Errata for Mask REVB, Rev 10 JUL 2013 14 Freescale Semiconductor, Inc. Where is written: "This low power mode is entered when the MDIS bit in the MCR Register is asserted. When disabled, the module shuts down the clocks to the CAN Protocol Interface and Message Buffer Management sub-modules.." The correct description is: "This low power mode is entered when the MDIS bit in the MCR Register is asserted by the CPU. When disabled, the module requests to disable the clocks to the CAN Protocol Interface and Message Buffer Management sub-modules." Section "Modes of Operation Details", Sub-section "Module Disable Mode": Where is written: "This low power mode is entered when the MDIS bit in the MCR Register is asserted. If the module is disabled during Freeze Mode, it shuts down the clocks to the CPI and MBM submodules, sets the LPM_ACK bit and negates the FRZ_ACK bit.." The correct description is: "This low power mode is entered when the MDIS bit in the MCR Register is asserted. If the module is disabled during Freeze Mode, it requests to disable the clocks to the CAN Protocol Interface (CPI) and Message Buffer Management (MBM) sub-modules, sets the LPM_ACK bit and negates the FRZ_ACK bit." e551: FlexCAN: Transmit Buffers May Freeze / missing frame Errata type: Errata Description: If a received frame is serviced during reception of a second frame identified for that same MB (message buffer) and a new Tx frame is also initiated during this time, the Tx MB can become frozen and will not transmit while the bus is idle. The MB remains frozen until a new frame appears on the bus. If the new frame is a received frame, the frozen MB is released and will arbitrate for external transmission. If the new frame is a transmitted frame from another Tx MB, the frozen MB changes its C/S (control status word) and IFLAG to indicate that transmission has occurred although no frame was actually transmitted. The frozen MB occurs if lock, unlock and initiate Tx events all occur at specific times during reception of two frames. The timing of the lock event affects the timing window of the unlock event as follows: Situation A) Rx MB is locked during the 2nd frame. A frozen Tx MB occurs if: 1) Both of these events occur in either a-then-b or b-then-a order: a) A new transmission is initiated by writing its C/S between CRC3 (third bit of CRC field) and EOF7 (seventh bit of end of frame) of the 2nd frame. b) The Rx MB is locked by reading its C/S after EOF6 of first frame and before EOF6 of second frame. 2) The Rx MB is unlocked between EOF7 and intermission at end of the second frame. Notice in this situation that if the lock/unlock combination happens close together, the lock must have been just before EOF6 of the second frame, and therefore the system is very close to having an overrun condition due to the delayed handling of received frames. Situation B) Rx MB was locked before EOF6 of the first frame; in other words, before its IFLAG is set. This is a less likely situation but provides a larger window for the unlock event. A frozen Tx MB occurs if: 1) The Rx MB is locked by reading its C/S before EOF6 of the first frame. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 15 2) Both of these events occur in either a-then-b or b-then-a order: a) A new transmission is initiated by writing its C/S sometime between CRC3 and EOF7 of the second frame. b) The Rx MB is unlocked between CRC3 and intermission at end of the second frame. Notice in this situation that if the unlock occurs after EOF6, the first frame would be lost and the second frame would be moved to the Rx MB due to the delayed handling of received frames. Situation C) Rx unlocked during bus idle. A frozen/missing Tx occurs if: 1) An Rx MB is locked before EOF6 of an incoming frame with matching ID and remains locked at least until intermission. This situation would usually occur only if the received frame was serviced after reception of a second frame. 2) An internal arbitration period is triggered by writing a C/S field of an MB. 3) The locked Rx MB is unlocked within two internal arbitration periods (defined below) before or after step 2). 4) 0xC is written to the C/S of a Tx MB within these same two arbitration periods. This step is optional if a 0xC was written in step 2). Two internal arbitration periods are calculated as ((2 * number of MBs) + 16) bus clocks where the number of MBs can be reduced by writing to CAN_MCR[MAXMB]. Bus clocks are the high frequency bus clocks regardless of CAN_CR[CLK_SRC] setting. Additional Notes: 1) The received frames can be transmitted from the same node, but they must be received into an Rx MB. 2) When the frozen Tx MB's IFLAG becomes set, an interrupt will occur if enabled. 3) The timestamp of the missing Tx will be set to the same timestamp value as the last reception before it was frozen. 4) If the user software locks the Rx MB before a frame is received, situation A can occur with a single received frame. 5) The issue does not occur if there were any additional pending Tx MBs before CRC3. 6) If multiple Tx MBs are initiated within the CRC3/EOF7 window (situation A and B) or two internal arbitration windows (situation C), they all become frozen. Workaround: If received frames can be handled (lock/unlocked) before EOF6 of the next frame, situations A and C are avoided. If they are handled before CRC3, or lock times are below 23 CAN bit times, situation B is avoided. If this cannot be guaranteed, situation A) and B) are avoided by inserting a delay of at least 28 CAN bit times between initiating a transmission and unlocking an Rx MB and vice-versa. Typically a system would use a mechanism to selectively add the necessarys delay. For example, software might use a global variable to record an external timer value (the FlexCAN timer can't be used as that would unlock) when initiating a new Tx or unlocking an Rx, and then add the required delay before performing the second action. Situation C) can be avoided by inserting a delay of at least two internal arbitration periods between writing 0xC and unlocking the locked Rx MB. e683: FlexCAN: receive time stamp may be incorrect Errata type: Errata Mask Set Errata for Mask REVB, Rev 10 JUL 2013 16 Freescale Semiconductor, Inc. Description: Unlocking a FlexCAN2 receive message buffer (MB) with pending frame sometime after a second frame is received or transmitted will cause capture of incorrect timestamp if the following conditions are satisfied: 1. A receive MB is locked via reading the Control/Status word, and has a pending frame in the temporary receive serial message buffer (SMB). The MB remains locked while receiving end of frame bit 6 of the pending frame. 2. The locked MB is unlocked anytime after the first bit of ID of another new frame is transmitted on the CAN bus. The new frame may be transmitted from the Flexcan2 or another CAN node. In these conditions, the timestamp value for the unlocked receive MB will be the timestamp of the new frame and not the timestamp value from reception of the pending frame. Workaround: Avoid locking MB during reception of EOF6 i.e. do not lock until corresponding IFLAG bit is set (prevents locking before present frame is received) and guarantee that received frames are handled (lock/unlocked) before EOF6 of the next frame. e2424: FlexCAN: switching CAN protocol interface (CPI) to system clock has very small chance of causing the CPI to enter an indeterminate state Errata type: Errata Description: The reset value for the clock source of the CAN protocol interface (CPI) is the oscillator clock. If the CPI clock source is switched to the system clock while the FlexCAN is not in freeze mode, then the CPI has a very small chance of entering an indeterminate state. Workaround: Switch the clock source while the FlexCAN is in a halted state by setting HALT bit in the FlexCAN Module Configuration Register (CANx_MCR[HALT]=1). If the write to the CAN Control Register to change the clock source (CANx_CR[CLK_SRC]=1) is done in the same oscillator clock period as the write to CANx_MCR[HALT], then chance of the CPI entering an indeterminate state is extremely small. If those writes are done on different oscillator clock periods, then the corruption is impossible. Even if the writes happen back-to-back, as long as the system clock to oscillator clock frequency ratio is less than three, then the writes will happen on different oscillator clock periods. e1488: FlexCAN: writing to an active receive MB may corrupt MB contents Errata type: Errata Description: Deactivating a FlexCAN receive message buffer (MB) may cause corruption of another active receive MB, including the ID field, if the following sequence occurs. 1. A receive MB is locked via reading the Control/Status word, and has a pending frame in the temporary receive serial message buffer (SMB). 2. A second frame is received that matches a second receive MB, and is queued in the second SMB. 3. The first MB is unlocked during the time between receiving the CRC field and the 6th bit of end of frame (EOF) of the second frame. 4. The second MB is deactivated within 9 CPI clock cycles of the 6th bit of EOF, resulting in corruption of the first MB. Workaround: Do not write to the Control/Status word after initializing a receive MB. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 17 If a write (deactivation) is required to the Control/Status field of an active receive MB, either FREEZE the FlexCAN module or insert a delay of at least 27 CAN bit times plus 10 CPI clock cycles between unlocking one MB and deactivating another MB. This will avoid MB corruption, however frames may still be lost. e817: JTAGC: EVTI and RDY require TCK to toggle Errata type: Errata Description: The Nexus/JTAG Read/Write Access Control/Status Register (RWCS) write (to begin a read access) or the write to the Read/Write Access Data Register (RWD)(to begin a write access) does not actually begin its action until 1 JTAG clock (TCK) after leaving the JTAG Update-DR state. This prevents the access from being performed and therefore will not signal its completion via the READY (RDY) output unless the JTAG controller receives an additional TCK. In addition, EVTI is not latched into the device unless there are clock transitions on TCK. Workaround: The tool/debugger must provide at least one TCK clock for the EVTI signal to be recognized by the MCU. When using the RDY signal to indicate the end of a Nexus read/write access, ensure that TCK continues to run for at least 1 TCK after leaving the Update-DR state. This can be just a TCK with TMS low while in the Run-Test/Idle state or by continuing with the next Nexus/ JTAG command. Expect the affect of EVTI and RDY to be delayed by edges of TCK. Note: RDY is not available in all packages of all devices. e1692: JTAGC: SAMPLE instruction does not sample input data during board boundary scan testing. Errata type: Errata Description: Executing the SAMPLE instruction should take a snapshot of the input and output signals present at the pins, without interfering with the normal operation of the chip. For pins configured as inputs, executing the SAMPLE instruction will result in the internally set, off value, of the pad being sampled and not the actual input value of the pin. Workaround: Do not expect to sample input pin values when executing the SAMPLE or SAMPLE/PRELOAD instructions when using JTAG. Use the EXTEST and PRELOAD instructions to test connections between devices during boundary scan testing of boards. e513: MPC5554: SIU_MIDR Revision field updated to 0x0011 Errata type: Errata Description: The mask revision information in the MCU Identification Register (SIU_MIDR[MASKNUM]) has been updated to 0x0011. Workaround: Expect a new value in the SIU_MIDR[MASKNUM] field. e1140: MPC5554: VDD Current does not meet specification Errata type: Errata Mask Set Errata for Mask REVB, Rev 10 JUL 2013 18 Freescale Semiconductor, Inc. Description: The 1.5 volt core power supply requires up to 700 mA at 1.65 volts and up to 500 mA at 1.35 volts. Note: when the internal voltage regulator (VRC) is used, the external pass transistor may require additional power dissipation. Workaround: Design power supplies for the additional current requirements of the internal core supply voltage. The external VRC pass transistor either needs to be able to handle the additional power dissipation and/or an additional external 1.2 ohm resistor should be connected between the transistor collector and the 3.3 volt supply for power sharing. Alternately, the system operating frequency can be lowered to meet the power supply capability. e6726: NPC: MCKO clock may be gated one clock period early when MCKO frequency is programmed as SYS_CLK/8.and gating is enabled Errata type: Errata Description: The Nexus auxiliary message clock (MCKO) may be gated one clock period early when the MCKO frequency is programmed as SYS_CLK/8 in the Nexus Port Controller Port Configuration Register (NPC_PCR[MCKO_DIV]=111) and the MCKO gating function is enabled (NPC_PCR[MCKO_GT]=1). In this case, the last MCKO received by the tool prior to the gating will correspond to the END_MESSAGE state. The tool will not receive an MCKO to indicate the transition to the IDLE state, even though the NPC will transition to the IDLE state internally. Upon re-enabling of MCKO, the first MCKO edge will drive the Message Start/End Output (MSEO=11) and move the tool's state to IDLE. Workaround: Expect to receive the MCKO edge corresponding to the IDLE state upon re-enabling of MCKO after MCKO has been gated. e2096: NZ6C3: No sync message generated after 255 direct branch messages in history mode Errata type: Information Description: When using the branch history mode of direct branch program trace in the e200z6 core, a synchronization message is not transmitted after 255 program trace messages in a row as defined in the IEEE-ISTO 5001-2003 standard. This will occur if resource full messages are sent and not counted for triggering a sync message indicating that the branch history fields are full. The resource full message is generated when more than 31 direct branches occur without an indirect branch or exception. Workaround: Debuggers should account for the possibility that more than 255 messages could be received without a program trace synchronization message by keeping track of the last known program trace address prior to branch history resource full messages. e2058: NZ6C3: Branch Trace History field on PCM message is zero Errata type: Errata Description: The e200z6 nexus module (NZ6C3) branch history buffer contains the wrong reset value when the e200z6 core Nexus module gets reset (by going though the JTAG Test-Logic-Reset, assertion of the Test Reset Pin [if available], or re-enabling JCOMP (after de-assertion]). A reset value of 0x1 should be the register state after test reset, instead of 0x0, even if branch history mode is disabled. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 19 Workaround: Ignore the Branch History field of all e200z6 core Program Correlation Message when branch tracing is NOT set to "history" mode (NZ6C3_DC1[PTM]=0b1). e2103: NZ6C3: Data Trace of stmw instructions may cause overruns Errata type: Information Description: If Nexus data trace is enabled on a section of memory that is loaded or stored with a store multiple word (stmw), or load multiple word (lmw for data read traces), an overrun condition could occur, even if the stall on overrun feature is enabled (NZ6C3_DC1[OVC]=0b011). Stalls can only occur on instruction boundaries. The stmw/lmw instructions can generate up to 16 Nexus trace messages with a single instruction. If there are not 16 queue locations available, an overflow will occur. Stall mode does not stall the core until there are only four locations available in the e200 Nexus message queue. Therefore if a stmw/lmw generates more than four messages or if additional Nexus messages are generated, the queue will overflow. The stmw/lmw instructions load or store two 32-bit registers at a time (64-bit stores/loads) if an even number of registers are selected. Workaround: If stall mode is enabled (NZ6C3_DC1[OVC]=0b011), limiting store multiple word instruction in a data trace region to store/load 8 registers or less, will improve the chances that an overrun will not occur, but this is dependent on other messages that could be generated simultaneously with the data trace messages. If stall mode is disabled, or stmw instructions with more than 8 registers are stored, accept overruns in the data and program trace flow. e985: NZ6C3: Incorrect data traced on misaligned little endian store Errata type: Errata Description: The e200z6 core Nexus data trace of a misaligned (across 64-bit boundary) store to a little endian page will transmit the wrong data on the second half of the double word access. The NSD submodule failed to account for the difference in byte lane selection required for misaligned little endian accesses. By selecting byte lanes without considering the possibility of the access being the second part of a misaligned transfer, incorrect data trace results occur on misaligned little endian stores. Workaround: Either: (1) Do not allow misaligned stores to little endian pages (use a compiler/linker switch if available) or (2) Do not attempt to run data trace on little endian pages that are accessed with misaligned operations. (3) Ignore the data on a missaligned 64-bit access that crosses a 64-bit word boundary on little endian memory pages. e1618: NZ6C3: No indication of an exception causing a Nexus Program Trace (PT) message as opposed to a retired branch instruction causing a PT message. Errata type: Errata Mask Set Errata for Mask REVB, Rev 10 JUL 2013 20 Freescale Semiconductor, Inc. Description: The e200z6 core Nexus (NZ6C3) transmits a Program Trace Indirect Branch message without indicating if the message was sent due to a taken branch or due to an exception. The instruction count for an exception is 1 less than a normal indirect branch. The result is that program trace reconstruction can be off by one instruction. Workaround: Trace reconstruction tools should be aware that the I-CNT is different for Exceptions than for Indirect Branches. The tool may need to know (from the user or by parsing registers) the exception handler addresses from the Interrupt vector prefix register (IVPR) and the Interrupt vector offset registers (IVORxx). Users also should not jump directly to interrupt handler addresses. Tools can then differentiate between exceptions and indirect branches. e2052: NZ6C3: RFM not sent for history buffer overflow caused by 'evsel' Errata type: Errata Description: The e200z6 Nexus should send a Resource Full Program Trace message (RFM) message when the predicate instruction history buffer overflows. The RFM message is implemented to avoid lost history information. A RFM is transmitted when the history buffer is full (contains 31 predicate instruction bits plus a stop bit) and either an isel instruction is executed or a conditional direct branch instruction is executed. However, if an evsel instruction is executed, which should also cause the RFM, it will not be transited and subsequent messages will contain corrupted history (HIST) information. Workaround: Do not use the 'evsel' instruction, or don't use program trace "history mode" when tracing code segments containing an evsel instruction. e658: Pad Ring: Do not use SOUT_D function on the PLLCFG1 pin in SPI slave mode Errata type: Errata Description: If the SOUT_D function is enabled on the PLLCFG[1] pin, the output buffer is always enabled. This could cause issues if the DSPI is being used in a slave application. Workaround: Do not use SOUT_D alternate pin function on PLLCFG[1] when using DSPI_D as a SPI slave in a multi SPI slave application. e1513: Pad Ring: ESD specifications are not met Errata type: Errata Description: Not all pins meet the ESD specifications of 2000 volts Human Body Model. All pins except VRCCTL meet 1500 volts. VRCCTL only fails when tested with respect to VRC33. All I/O pins pass 2K volts. All pins meet 250 and 500 volts (750 volts on corner balls) using the Field Induced Charged Device Model (CDM - per AEC Q100-002). Workaround: Avoid exposure of the VRCCTL pin to human body ESD events prior to mounting onto a printed circuit board (PCB). PCB will provide protection after being mounted. Minimize exposure of the other pins to human body type ESD events greater than 1500 volts. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 21 e1528: Pad Ring: Pin behavior during power sequencing Errata type: Information Description: The power sequence pin states table in the device data sheet (electrical specification) did not specify the influence of the weak pull devices on the output pins during power up. When VDD is sufficiently low to prevent correct logic propagation, the pins may be pulled high to VDDE/ VDDEH by the weak pull devices. At some point prior to exiting the internal power-on reset state, the pins will go high-impedance until POR is negated. When the internal POR state is negated, the functional state during reset will apply and weak pull devices (up or down) will be enabled as defined in the device Reference Manual. Workaround: The best solution is to minimize the ramp time of the VDD supply to a time period less than the time required to enable external circuitry connected to the device outputs. e488: Pad Ring: Possible poor system clock just after POR negation. Errata type: Information Description: The pins RSTCFG_B and PLLCFG[0:1] select one of three PLL modes or allows a clock to be injected, bypassing the PLL. When Power On Reset (POR) negates, if the transitions on these pins selects the bypass mode, a poor clock on EXTAL can provide a poor clock to MCU logic no longer reset by POR. The state of that logic can be corrupted. Workaround: If the default PLL and Boot configuration (external crystal reference and boot from internal flash) will be used, then negate the RSTCFG pin (=1). For any other configuration, depending on the final mode required, the pins must have the following values on the pins when the internal POR negates. Final Mode RSTCFG_B PLLCFG[0] PLLCFG[1] default 1 - external reference 0 1 1 external crystal - 1 dual controller - 1 After POR negates, the RSTCFG_B and PLLCFG[0:1] can be changed to their final value, but should avoid switching through the 0,0,0 state on these pins. See application note AN2613 "MPC5554 Minimum Board Configuration" for one example off the external configuration circuit. e1969: Pad Ring: RSTOUT is 3-stated during the power-on sequence. Errata type: Information Description: RSTOUT_B is 3-stated during power on reset. Workaround: Connect an external pull device to RSTOUT_B during power on reset. This should be pulldown unless an external reset configuration circuit is being used, in which case it should be pull-up. Refer to AN2613 'MPC5554 Minimum Board Configurations' for further information. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 22 Freescale Semiconductor, Inc. e3377: Pad Ring:Nexus pins may drive an unknown value immediately after power up but before the 1st clock edge Errata type: Errata Description: The Nexus Output pins (Message Data outputs 0:15 [MDO] and Message Start/End outputs 0:1 [MSEO]) may drive an unknown value (high or low) immediately after power up but before the 1st clock edge propagates through the device (instead of being weakly pulled low). This may cause high currents if the pins are tied directly to a supply/ground or any low resistance driver (when used as a general purpose input [GPI] in the application). Workaround: 1. Do not tie the Nexus output pins directly to ground or a power supply. 2. If these pins are used as GPI, limit the current to the ability of the regulator supply to guarantee correct start up of the power supply. Each pin may draw upwards of 150mA. If not used, the pins may be left unconnected. e2323: SIU: The WKPCFG pin controls the internal pull devices on all eMIOS and eTPU pins. Errata type: Information Description: The weak pull configuration pin (WKPCFG) controls internal pull devices on all the eMIOS and eTPU pins. Existing device documentation states that approximately 1/3 of these pins are pulled down, 1/3 are pulled up, and the remaining pins are controlled by the WKPCFG pin. Workaround: Ensure external circuitry takes this pull device configuration into account for the eMIOS and eTPU pins. Documentation is being updated to show that WKCFG controls the pull up or down state all of the eTPU and eMIOS pins. e1031: e200z6: Cache Invalidate/Clear Aborts due to masked core Interrupt Errata type: Errata Description: The e200z6 core will abort a "Cache Invalidate" (CINV) or "Cache Lock Bits Flash Clear" (CLFC) operation (in the Level 1 Cache Control and Status Register 0 (L1CSR0) if an external interrupt occurs during the operation, even if external interrupts to the core are disabled in the Machine Status Register (MSR[EE]=0). The effect of this issue is that disabling external interrupts alone will not guarantee completion of a CINV or CLFC operation. Software must check for the cache abort condition. Workaround: After clearing the EE bit in MSR, perform the following steps: (1) Save the interrupt controller's current priority, INTC_CPR[PRI]. (2) Raise the interrupt controller's current priority to maximum (INTC_CPR[PRI]=0xF). (3) Synchronize by executing msync and isync instructions. (4) Ensure critical interrupts are also disabled (MSR[CE]=0). (5) Execute CINV or CLFC cache operation. After the cache operation completes, check to see if the abort bit has been set, indicating an external interrupt has caused the operation to terminate before completion. If set, clear the abort bit and retry the operation. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 23 To restore normal operation after the cache invalidation or clear, perform the following steps: (1) Restore the saved priority setting to INTC_CPR[PRI]. (2) Restore MSR[CE] if it was altered. (3) Restore MSR[EE]. e2044: e200z6: Core renamed from e500z6 Errata type: Information Description: The name of the main processing core has been changed from the e500z6 to the e200z6. Workaround: Expect the new name for the e200z6 core in documentation. e1143: e200z6: Data Storage Exception taken instead of Machine Check Errata type: Errata Description: A Data Storage exception (DSI) or Instruction Storage exception (ISI) will be taken if MSR[EE]=0. Instead the transfer error should have caused either a machine check or checkstop. The transfer error conditions that would cause either a DSI or ISI should only apply when MSR[EE]=1. Workaround: Either: 1) Treat the DSI/ISI as an unrecoverable exception and do not return from exception handler, perform a reset instead. Or 2) If HID0[DCLREE]=1, check SRR1 in the DSI and ISI handlers; if SRR1[EE] bit is set then the exception will be recoverable and code can return from the interrupt without an issue. If the SRR1[EE] bit is clear then treat the exception as nonrecoverable and code should not return from interrupt. e846: e200z6: Debug interrupt (IVOR15) can be taken erroneously Errata type: Errata Description: If instruction complete debug events are enabled in the Debug Control Register 0 (DBCR0[ICMP] = 1) and an external interrupt causes a load multiple word, store multiple word, integer divide, or floating point divide instruction to be interrupted prior to completion, a debug interrupt will be taken erroneously instead of the external interrupt. If external debug mode is enabled in the Debug Control Register 0 (DBCR0[EDM] = 1), debug mode will be enterred after fetching the first instruction of the debug interrupt handler. Workaround: Use the Go+NoExit method of single stepping in the OnCE Command Register (OCMD[GO] = 1, OCMD[EX] = 0) if external debug mode is enabled in the Debug Control Register 0 (DBCR0[EDM] = 1). If single stepping is implemented using instruction complete debug events, disable external interrupts (MSR[EE] = 0) prior to stepping over a load muliple word, store multiple word, integer divide, or floating point divide instruction. e1348: e200z6: JTAG Part Identification changed to 0x1 Errata type: Information Description: The Part Identification Number (PIN) in the e200z6 core JTAG and Nexus device identification messages and register (NZ6C3_DID) is now 0x1. The complete e200z6 JTAG ID and DID is 0x07C0101D. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 24 Freescale Semiconductor, Inc. Workaround: Tools that use the e200z6 DID should expect updated values to identify the PowerPC core or use the complete device Nexus Port Controller DID message/register. e914: e200z6: MFSPR may read prior value of SPEFSCR Errata type: Errata Description: If a move from the SPEFSCR special purpose register (mfspr spefscr) is performed IMMEDIATELY following an SPE instruction that modifies the integer overflow bits, the SPEFSCR will not have the latest values. Having ANY instruction between the SPE operation that modifies spefscr[SOVH,OVH,SOV,OV] bits and the mfspr spefscr will work correctly. Workaround: At least one instruction must be placed between an instruction that updates the spefscr[SOVH,OVH,SOV,OV] bits and a mfspr spefscr. A NOP can be used if no other useful instruction is needed. e1729: e200z6: MMU has 32 Table Entries Errata type: Information Description: Initial documentation for the MPC5554 stated that there would be only 24 table entries in the e200z6 core Memory Managment Unit (MMU). Actually, 32 entries were implemented and will remain in the future e200z6 devices. Workaround: All 32 of the MMU table entries can be used. e851: e200z6: wrong exception taken after FPU instruction preceding a lmw Errata type: Errata Description: When a floating point (fpu) instruction precedes a lmw instruction, or when there is one other instruction in between, and the fpu instruction has an fpu class exception, and an external or critical interrupt asserts while the lmw instruction is in the instruction pipeline, a wrong interrupt vector (IVOR) will be selected for exception processing. Workaround: 1. Disable Floating Point Exceptions by clearing bits 25-29 of the Signal Processing Engine Status and Control Register (SPEFSCR - Default behavior). 2. Use compiler switches to avoid the use of the LMW/STMW instructions, these instructions are not typically used often. 3. Make sure two instructions are between an fpu instruction and a lmw class instruction. e3421: e200z: Cache returns value, even when disabled Errata type: Errata Description: The cache line fill buffer of the e200z core will still provide a data cache hit, even if the Way Data Disable (WDD), Additional Ways Data Disable (AWDD), and the Way Access Mode (WAM, if available) bits are set. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 25 Workaround: To avoid cache hit to the Line Fill Buffer after the WDD, AWDD, and WAM bits are disabled, a Cache Miss must be forced to clear the fill buffer. This can be done by branching to an instruction address that has not been fetched before. e1136: eDMA: BWC setting may be ignored between 1st and 2nd transfers and after the last write of each minor loop. Errata type: Errata Description: The eDMA Transfer Control Descriptor Bandwidth Control field setting may be ignored between 1st and 2nd transfers and after the last write of each minor loop. This will occur if the source and destination sizes are equal. This behavior is a side effect of measures designed to reduce start-up latency. Reference Manuals may fail to mention this behavior. Workaround: There are 2 possible workarounds: 1) Adjust the Transfer Control Descriptor (TCD) to make the source size not equal to the destination sizes (i.e. ssize = 16 bit, dsize = 32 bit). This delays the write which allows BWC[0:1] arriving from the TCD to be considered in the execution pipeline during start-up. 2) Adjust the TCD so the channel executes a single read/write sequence and then retires. In addition, the channel can be configured to execute a minor loop link to itself which will restart the channel after arbitration and channel start-up latency. The total number of bytes transferred can be controlled by the major loop count. e2043: eDMA: Unexpected start of channel 15 during a spurious preemption Errata type: Errata Description: The standard product platform Direct Memory Access (DMA) module implements a preemption mechanism which allows a higher priority channel to temporarily suspend an executing DMA channel which is marked as preemptable. The hardware is designed to detect and correct for a "spurious preemption" -- when the preempting channel's request is detected but goes inactive or is disabled before it can be started by the DMA engine. When a spurious preemption is detected, the DMA engine discards it and restores the original channel. However, in some cases, a potential problem could occur when a higher priority hardware request in one channel group begins to preempt a lower priority channel in another group. There is a 1-cycle window where the problem can occur under very specific conditions: 1) If the preempting channel request is a hardware start request (not a software start bit request), and 1) the preempting channel request is the only requesting channel within its group, and 2) if there is at least one other request in the same group as the active executing channel, and 3) if during the context switch, the higher priority hardware request is disabled via the DMA enable request register just before the DMA engine captures the new channel id, then instead of generating a spurious preempt request, the DMA may erroneously start channel 15 in the active channel's group. Note: Since this problem involves an arbitration group change during the critical context switch, it only affects 32 and 64 channel configurations. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 26 Freescale Semiconductor, Inc. Workaround: To disable the hardware request of a high priority channel while a lower priority, preemptable channel is executing, perform one of the following options: Option 1: 1. use the Disable Request (D_REQ) bit in the channel's Transfer Control Descriptor (TCD) to disable the channel after major loop completion. Option 2: 1. disable all channels via the DMA Enable request high/low register (DMA_ERQRH/ DMA_ERQLH) or DMA Clear Enable Request Register (DMA_CERQR) bit 6 (clear all requests) 2. re-enable only the desired channels via the DMA_ERQ or the DMA Set Enable Register (DMA_SERQ). Option 3: 1. ensure that one other request is active in the same group when disabling the channel; a request that is not the channel to be disabled Option 4: 1. switch the group priority mode to round-robin in the DMA Control Register (DMA_CR) 2. disable the desired channel via DMA_ERQ or DMA_SERQ 3. switch the group priority mode back to fixed in the DMA_CR e1168: eMIOS: Asynchronous reads of the A and B registers in IPM and IPWM modes may not be coherent Errata type: Errata Description: When using an eMIOS channel in Input period measurement (IPM) mode or input pulse width (IPWM) mode, asynchronous reads of the A and B registers may provide non-coherent values, resulting in either an incorrect period measurement (IPM mode) or an incorrect pulse width measurement (IPWM mode). Workaround: The following pseudo code ensures coherent readings by accounting for CPU/eMIOS simultaneous access and checking the FLAG bit. if (channel flag not set) return disable interrupts if enabled read B(t0) read A(t0) read A(t1) read B(t1) clear channel flag if [A(t0) - A(t1)] != 0 if [B(t0) - B(t1)] != 0 pulse width = A(t1) - B2(t1) Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 27 else pulse width = A(t0) - B(t0) else pulse width = A(t1) - B(t1) if (counter rollover) adjust pulse width enable interrupts if previously enabled. e1747: eMIOS: Comparators A and B enabled by writing to A2 and B2 in DAOC mode Errata type: Errata Description: When the eMIOS is in Double Action Output compare (DAOC) mode, comparators A and B are enabled by the transfer of A2 to A1, and B2 to B1. However, writes to A2 and B2 before the transfers occur will also enable the comparators. The main impact of this issue is that Output Update Disable (OUn) bit in the eMIOS Output Update Disable Register (eMIOS_OUDR) can not be used to cause both enables to occur at the same time. If the software sets OUn to disable the transfers and afterwards writes to A2/ B2, the comparators will then be enabled. Then, if the timebase matches A1 or B1 (which have not yet been updated), the match will be recognized. The expected behavior is that the comparators should not be enabled until software clears OUn and the comparators are enabled simultaneously. Workaround: When writing to the A2/B2 registers between the time that OUn is set and then cleared, the software should insure that the timebase does not match the old A1/B1 values. e2281: eMIOS: Delayed A write not available in OPWFM, OPWM, OPEMC, and MC mode Errata type: Information Description: There is no double buffering on the A register available for the Modulus Counter (MC), Output Pulse Width Modulation (OPWM), Output Pulse Width Modulation (OPWFM), and Center Aligned Output Pulse Width Modulation (OPWMC) modes, therefore, the MC_B, OPWM_B, OPWFM_B, and OPWMC_B modes are not available. Name EMIOS_CCR[MODE] Value ------- --------------MC_B 0b101000x Up counter 0b10101xx Up/Down counter OPWM_B 0b11000x0 OPWFM_B 0b10110x0 OPWMC_B 0b10111x0 for tailing edge dead-time 0b10111x1 for leading edge dead-timeDo not attempt to use the new eMIOS register A buffered functions. Instead use the unbuffered function and use software to avoid unintended operation. For OPWFM mode, do not use it's buffered version (OPWFM_B). Instead, write the new value to A2, and then force an A match if the new value is smaller than the current counter value and a B match will not occur before the forced A match completes. Test for an impending B match by measuring the execution time of the forced match A code (in eMIOS Mask Set Errata for Mask REVB, Rev 10 JUL 2013 28 Freescale Semiconductor, Inc. channel clock counts), and adding it to the current counter value. If the current counter value plus the number of channel clocks required for execution of the force match code is greater than the B register value, do not force an A Match. This will ensure that the A match is not missed and that a single pulse is not lost due to a B match that occurs before the force match A completes. The OPWM, and OPWMC modes require similar handling. The force A match has no effect in MC mode. In this mode the software should not update the A2 value to any value less than the current counter value. For additional information see the Engineering Bulletin EB651 "MPC5500 eMIOS, Avoiding Unexpected Module Operation". Workaround: Do not attempt to use the new eMIOS register A buffered functions. Instead use the unbuffered function and use software to avoid unintended operation. For OPWFM mode, do not use it's buffered version (OPWFM_B). Instead, write the new value to A2, and then force an A match if the new value is smaller than the current counter value and a B match will not occur before the forced A match completes. Test for an impending B match by measuring the execution time of the forced match A code (in eMIOS channel clock counts), and adding it to the current counter value. If the current counter value plus the number of channel clocks required for execution of the force match code is greater than the B register value, do not force an A Match. This will ensure that the A match is not missed and that a single pulse is not lost due to a B match that occurs before the force match A completes. The OPWM, and OPWMC modes require similar handling. The force A match has no effect in MC mode. In this mode the software should not update the A2 value to any value less than the current counter value. For additional information see the Engineering Bulletin EB651 "MPC5500 eMIOS, Avoiding Unexpected Module Operation". e2261: eMIOS: Inverted output polarity with 0%/100% duty cycle in OPWM and OPWFM modes Errata type: Errata Description: In OPWM and OPWFM eMIOS modes, when setting 0% or 100% duty cycle, the output pin goes to the opposite value that the user would expect. Currently, when 100% is programmed (eMIOS_CADRn=eMIOS_CBDRn), the output matches value of the EDPOL bit, 0% (eMIOS_CADRn=0x0) is the inverted value of EDPOL. Four new modes were added to the eMIOS: OPWM_B, OPWFM_B, OPWMC_B and MC_B. This are fully buffered versions of their original counterparts. These new modes offer a continuous and consistent output waveform generation including 0% and 100% duty cycle. Workaround: Invert the EDPOL bit just before setting either 0% or 100% duty-cycle as currently defined for OPWM or OPWFM modes. e1834: eMIOS: OPMWC unable to produce close to 100% duty cycle signal Errata type: Errata Description: The Center Aligned Output Pulse Width Modulation with Dead-time Mode (OPWMC) of the eMIOS module does not function correctly if the trailing edge dead time is programmed to a value outside of the current cycle time. The OPWMC mode requires that matches occur in the Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 29 specific order: A, A, and then B, where the first A must match on the up count of the modulus counter, the second A match occurs on the down count of the modulus counter, and the B match occurs on the internal counter. If the programmed B match value is greater than the time required for the modulus counter to count down from the second A match and then up to the first A match of the next cycle, the first A match of the next cycle will be missed and the mode will not function correctly from that point on. Workaround: Configure the selected modulus counter time base and the internal counter of the channel in OPWMC mode to count at the same rate. Program the value of the B match (dead time) to a value less than 2 times the programmed A match value. e1201: eMIOS: Possible incoherent access in PEA mode Errata type: Errata Description: When reading the eMIOS channel A data register (EMIOS_CADRn) in Pulse/Edge Accumulation mode (PEA), it is possible that the data sampled will not be coherent with the value sampled at the next read of the channel B data register (EMIOS_CBDRn). Workaround: If the eMIOS is used in PEA mode, after a read of the A and B data registers, if A is not greater than B, then discard this measurement and read both registers again after a new flag event. e421: eMIOS: Possible incoherent accesses in IPWM/IPM modes Errata type: Errata Description: It is possible that reading the eMIOS Channel A Data Register (eMIOS_CADRx) and eMIOS Channel B Data Register (eMIOS_CBDRx) may result in incoherent data. This will occur when the CPU and eMIOS attempt to access the A register in the same clock. In addition, if the application software does not check for the FLAG bit, there is a chance that the data from register B corresponds to an old measurement instead of the most recent. This is caused by the coherency mechanism, which locks B register updates once A register is read until B register is read. Workaround: The following pseudo code ensures coherent readings by accounting for CPU/eMIOS simultaneous access and checking the FLAG bit. if (channel flag not set) return disable interrupts if enabled read B(t0) read A(t0) read A(t1) read B(t1) clear channel flag if [A(t0) - A(t1)] != 0 if [B(t0) - B(t1) != 0 pulse width = A(t1) - B(t1) else Mask Set Errata for Mask REVB, Rev 10 JUL 2013 30 Freescale Semiconductor, Inc. pulse width = A(t0) - B(t0) else pulse width = A(t1) - B(t1) if (counter rollover) adjust pulse width enable interrupts if previously enabled e702: eMIOS: Writes to EMIOS_MCR register in IPM and IPWM modes may cause incoherent reads Errata type: Errata Description: When using the eMIOS in Input Period mode (IPM) or Input Pulse Width Mode (IPWM), writing the EMIOS_MCR register between reads of the A and B registers may result in incoherent values. Workaround: When using IPM or IPWM modes, the software should not write to the EMIOS_MCR between reads of the A and B registers. e1725: eQADC: Leakage on analog input near 5 volts Errata type: Errata Description: The input leakage on analog inputs to the eQADC may not meet the 150 nA specification if the input voltage is near 5 volts. Workaround: Keep analog voltages below (VDDA - 200 mV). Alternately, the leakage current will be reduced to normal levels if there is injection current (20 uA minimum) on any VDDEH powered signals (equal or greater then VDDA). (The sum of the injection current on 5 volt digital signals is greater than 20 uA.) This may cause slightly higher leakage currents on the digital pins that are above the VDDEH supply voltage as well. e1773: eQADC: conversions of muxed digital/analog channels close to the rail Errata type: Information Description: If the VDDEH9 and the VDDA power supplies are at different voltage levels, the input clamp diodes on the multiplexed digital and analog signals (AN12, AN13, AN14, and AN15) will clamp to the lower of the two supplies. If VDDEH9 is lower than the VDDA, conversions on these channels will not obtain full scale readings if voltage is close the the VDDA voltage. Workaround: When multiplexed digital/analog signals are used as analog inputs, connect VDDEH9 to VDDA and do not use any of the digital functions multiplexed on these pins. e1013: eSCI : Automatic reset of the LIN state machine cause incorrect transmission Errata type: Errata Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 31 Description: When the LIN FSM of the eSCI module performs an automatic reset due to a bus error condition, it is possible that the application is no longer synchronized to the LIN FSM. As a result, the eSCI may consider the payload data provided by the application via the LIN Transmit Register (eSCI_LTR) as a LIN frame header data and will generate an unexpected LIN frame. Workaround: The application should disable the automatic LIN FSM reset functionality by setting LDBG bit in the LIN Control Register (eSCI_LCR) to 1. e1381: eSCI: LIN Wakeup flag set after aborted LIN frame transmission Errata type: Errata Description: If the eSCI module is transmitting a LIN frame and the application sets and clears the LIN Finite State Machine Resync bit in the LIN Control Register 1 (eSCI_LCR1[LRES]) to abort the transmission, the LIN Wakeup Receive Flag in the LIN Status Register may be set (LWAKE=1). Workaround: If the application has triggered LIN Protocol Engine Reset via the eSCI_LCR1[LRES], it should wait for the duration of a frame and clear the eSCI_IFSR2[LWAKE] flag before waiting for a wakeup. e1221: eSCI: LIN bit error indicated at start of transmission after LIN reset Errata type: Errata Description: If the eSCI module is in LIN mode and is transmitting a LIN frame, and the application sets and subsequently clears the LIN reset bit (LRES) in the LIN Control register 1 (ESCI_LCR1), the next LIN frame transmission might incorrectly signal the occurrence of bit errors (ESCI_IFSR1[BERR]) and frame error (ESCI_IFSR1[FE]), and the transmitted frame might be incorrect. Workaround: There is no generic work around. The implementation of a suitable workaround is highly dependent on the application and a workaround may not be possible for all applications. e1017: eSCI: LIN fast bit error detection causes incorrect LIN reception Errata type: Errata Description: When using the eSCI module in LIN mode, if the fast bit error detection is enabled in the eSCI Control Register 2 (eSCIx_CR2[FBR]) and a bit distortion occurs on the RX line, the eSCI module may process the bit error signal incorrectly. This may cause unexpected transmission and reception behavior of the LIN state machine. Workaround: The application should disable the fast bit error detection by setting the FBR bit to 0. e2190: eSCI: LIN slave timeout flag STO not asserted if CRC is received too late Errata type: Errata Description: The eSCI module will not assert the Slave-Timeout Flag (STO) in the eSCI LIN Status Register 1 (LINSTAT1) if the checksum field of on RX frame is received later than the time given in the Timeout Value (TO) field of the LIN RX control header. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 32 Freescale Semiconductor, Inc. If the checksum field of on RX frame is not received at all, The STO flag will not be set and the LIN FSM will wait forever. Workaround: The application should use a timer external to the eSCI module, that is started when a LIN RX frame transmission is started with an expiration time programmed to the expected duration of the reception. The timer is stopped, when the eSCI module signals the end of the LIN frame reception. If this timer expires, the eSCI has ran into the slave timeout condition. In this case, the application should clear the SCICR2[TE] and SCICR2[RE] bits to disable the transmitter and receiver, and should set the LINCTRL1[LRES] bit the reset the eSCI internal LIN slave and master tasks. To resume LIN frame data transmission the application should enable the transmitter and receiver and clear the LINCTRL1[LRES] bit to enable the LIN slave and master tasks. e1614: eSCI: Low pulse on LIN RX line may prevent assertion of transmit data ready flag ESCI_SR[TXRDY] Errata type: Errata Description: If the eSCI module is in LIN mode and receives a low pulse on the RX line while transmitting a frame header or a stop bit, the eSCI internal LIN master and slave tasks may be stopped, and the transmit data ready flag ESCI_SR[TXRDY] will never be asserted again. Each of the following scenarios of the RX low pulse may provoke this erroneous behavior. a) The low pulse begins less than 12 bits before the start of the break character, and ends at least 21 bits and at most 30 bits after the start of the break character. b) The low pulse begins at least 13 bits and at most 14 bits after the start of the break character, and ends at least 22 bits after the start of the break character. c) The low pulse begins during the stop bit and has duration of at least 2 bits. Workaround: The application should use a timer external to the eSCI module, that is started when a LIN frame transmission is started with an expiration time programmed to the expected duration of the transmission. The timer is stopped, when the eSCI module signals the end of the LIN frame transmission. If this timer expires, the eSCI tasks have been stopped internally. In this case, the application should clear the Transmit Enable (SCICR2[TE]) and the Receive Enable (SCICR2[RE] bits to disable the transmitter and receiver, and should set the LIN FSM resync (LINCTRL1[LRES]) bit the reset the eSCI internal LIN slave and master tasks. To resume LIN frame data transmission the application should enable the transmitter and receiver and clear the LINCTRL1[LRES] bit to enable the LIN slave and master tasks. e1634: eTPU: LAST can fail on consecutive teeth Errata type: Errata Description: If the eTPU Angle Counter (EAC) enters High Rate mode with Tooth Program Register Last Tooth Indicator asserted (TPR[LAST]=1), and LAST is written to a one (1) again during High Rate mode, it negates when the EAC goes to Normal mode. This prevents using LAST on two consecutive teeth transition service requests to reset the eTPU Counter Register 2 (TCR2) one physical tooth after the other. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 33 Workaround: If TCR2 must be reset on consecutive physical tooth detections, assert LAST for the second reset on a match service set for a low TCR2 count, preventing LAST to be asserted in High Rate mode. e644: eTPU: MISSCNT can fail on sequential physical teeth Errata type: Errata Description: If the eTPU Angle Counter (EAC) detects a physical tooth with a non-zero value in the Missing Tooth Counter (MISSCNT) field of the Tooth Program Register (TPR), and during high-rate mode MISSCNT is written with a non-zero value, MISSCNT resets at the end of the high-rate mode. One example of this use case is when the tooth wheel has more than 3 consecutive missing teeth, and MISSCNT is re-written with a non-zero value to support the extra missing teeth. Another possible use case can occur when transitioning from normal tooth signal to a backup signal coming from a cam signal, for example. These examples are illustrative, and do not exhaust the possibilities for the occurrence of the situation described. Workaround: If a non-zero value is written to TPR[MISSCNT] and another non-zero value must be written after a single physical tooth is detected, the second non-zero value write should coincide with a match service on the TCR2 value estimated for the tooth. This will avoid MISSCNT being written in high-rate mode. e2337: eTPU: Output pin state does not qualify an entry point in the entry table Errata type: Errata Description: The eTPU utilizes an entry table to qualify which microcode thread to execute. The Entry Point Pin Direction bit (ETPD, bit 25) in the eTPU channel configuration register (ETPU_CxCR) can only be set to allow an eTPU function entry based on the input state of the channel pin. In the future, this bit (ETPU_CxCR[ETPD]=0b1) will allow the selection of the output state of the channel pin to determine the entry point. The default value of this bit (0b0) at reset, selects the input state of the channel pin to qualify the entry condition. When design ETPU functions, the state of the pins of output functions cannot be used to qualify entry table selection. Workaround: Do not set ETPU_CxCR[ETPD]=0b1 on device versions that do not support the table entry based on the output state mode. e112: eTPU: Prescaler phase shift between TCR1 and TCR2 Errata type: Information Description: The Timer Counter Register 1 (TCR1) and Timer Counter Register 2 (TCR2) prescalers are initialized at slightly different times when the Global Timebase Enable (GTBE) is enabled. A phase shift of up to 2 clocks (one microcycle) can occur when the Timer Counter Registers (TCR1 and TCR2) increment in common multiples of the prescaler ratio. Workaround: Expect a phase shift of up to 2 system clocks (one eTPU microcycle) between TCR1 and TCR2. TCR1 increments before TCR2. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 34 Freescale Semiconductor, Inc. e1728: eTPU: STAC bus export may skip 1 count Errata type: Errata Description: If the eTPU Angle Clock (EAC) is enabled and exported on the Shared Time and Counter bus (STAC) then one count may be skipped on random occasions. This only happens when the EAC transitions from Halt or High-rate mode to normal mode and the integer part of the Tick Rate Register (TRR) inside the eTPU is equal to 1. This skip does not occur on the TCR2 bus internal to the eTPU engine generating the angle clock. Workaround: Either (1) use only greater-than-or-equal comparisons on angle counts imported from the STAC bus; or (2) limit the TRR integer part to 2 minimum. If TRR(integer) = 1 is a needed rate for maximum performance, the new TRR limitation can be compensated by either: (a) doubling the TCR1 rate (for instance halving the TCR1 prescaler division), or (b) halving the number of ticks per tooth (sacrificing angle accuracy). e380: eTPU: TCR2, LAST can negate early in High Rate mode Errata type: Errata Description: If the eTPU Angle Counter (EAC) negates the Tooth Program Register (TPR) LAST bit in Normal mode and , without going through Halt, goes into High Rate mode later, the EAC can incorrectly reset the Timer Channel 2 (TCR2) and/or negate LAST at the end of High Rate mode. TCR2 is wrongly reset if LAST was negated when it entered High Rate mode. LAST is wrongly negated if it was asserted during High Rate mode. The TPR[LAST} bit indicates that the last tooth of the tooth wheel has occurred. Workaround: Clear the Tooth Program Register LAST bit (TPR[LAST]=0) in the thread that services the transition of the first tooth of the wheel, in other words, the one that negates LAST. This operation is redundant with respect to TPR value, but fixes the EAC state to avoid an error. Mask Set Errata for Mask REVB, Rev 10 JUL 2013 Freescale Semiconductor, Inc. 35 How to Reach Us: Information in this document is provided solely to enable system and software Home Page: freescale.com implementers to use Freescale products. There are no express or implied copyright Web Support: freescale.com/support information in this document. licenses granted hereunder to design or fabricate any integrated circuits based on the Freescale reserves the right to make changes without further notice to any products herein. Freescale makes no warranty, representation, or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. "Typical" parameters that may be provided in Freescale data sheets and/or specifications can and do vary in different applications, and actual performance may vary over time. All operating parameters, including "typicals," must be validated for each customer application by customer's technical experts. Freescale does not convey any license under its patent rights nor the rights of others. Freescale sells products pursuant to standard terms and conditions of sale, which can be found at the following address: freescale.com/SalesTermsandConditions Freescale, the Freescale logo, and Qorivva are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. All other product or service names are the property of their respective owners. The Power Architecture and Power.org word marks and the Power and Power.org logos and related marks are trademarks and service marks licensed by Power.org. (c) 2011, 2013 Freescale Semiconductor, Inc.