Professional Documents
Culture Documents
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0
ARM PrimeCell
Synchronous Serial Port (PL022)
Errata Notice
This document contains all errata known at the date of issue in releases up to and including revision r1p4 of
PL022 Synch Serial IFace -Perpetual
This document is protected by copyright and other related rights and the practice or implementation of the
information contained in this document may be protected by one or more patents or pending patent applications.
No part of this document may be reproduced in any form by any means without the express prior written
permission of ARM. No license, express or implied, by estoppel or otherwise to any intellectual property
rights is granted by this document unless specifically stated.
Your access to the information in this document is conditional upon your acceptance that you will not use or
permit others to use the information: (i) for the purposes of determining whether implementations infringe any
third party patents; (ii) for developing technology or products which avoid any of ARM’s intellectual property; or
(iii) as a reference for modifying existing patents or patent applications or creating any continuation, continuation
in part, or extension of existing patents or patent applications; or (iv) for generating data for publication or
disclosure to third parties, which compares the performance or functionality of the ARM technology described in
this document with any other products created by you or a third party, without obtaining ARM’s prior written
consent.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY DAMAGES,
INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, OR
CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF ARM HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for ensuring that any use,
duplication or disclosure of this document complies fully with any relevant export laws and regulations to assure
that this document or any portion thereof is not exported, directly or indirectly, in violation of such export laws.
Use of the word “partner” in reference to ARM’s customers is not intended to create or refer to any partnership
relationship with any other company. ARM may make changes to this document at any time and without notice.
If any of the provisions contained in these terms conflict with any of the provisions of any signed written
agreement covering this document with ARM, then the signed written agreement prevails over and supersedes
the conflicting provisions of these terms.
This document may be translated into other languages for convenience, and you agree that if there is any
conflict between the English version of this document and any translation, the terms of the English version of the
Agreement shall prevail.
Words and logos marked with ® or ™ are registered trademarks or trademarks of ARM Limited or its affiliates in
the EU and/or elsewhere. All rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow ARM’s trademark usage guidelines at
http://www.arm.com/about/trademarks/guidelines/index.php
Copyright © [2004, 2007, 2015, 2016], ARM Limited or its affiliates. All rights reserved.
LES-PRE-20348
Web address
http://www.arm.com/
Contents
INTRODUCTION 6
ERRATA - CATEGORY 1 9
835269: Slave mode can sample new TX data from PCLK domain using SSPCLK with no
synchronisation 9
852371: Motorola SPI format slave mode writes to transmit FIFO can lose data 10
ERRATA - CATEGORY 2 11
327544: TX/RXDMABREQ and TX/RXSREQ signals not fully compatible with DMAC 11
ERRATA - CATEGORY 3 12
257559: Width Inconsistency in SspTrAbif.vhd/v file 12
ERRATA - DOCUMENTATION 14
322587: PL022 TRM Figure 2-2 is incorrect 14
Introduction
Scope
This document describes errata categorised by level of severity. Each description includes:
the current status of the defect
where the implementation deviates from the specification and the conditions under which erroneous
behavior occurs
the implications of the erratum with respect to typical applications
the application and limitations of a ‘work-around’ where possible
Categorisation of Errata
Errata recorded in this document are split into three levels of severity:
Category 1 Behavior that is impossible to work around and that severely restricts the use of
the product in all, or the majority of applications, rendering the device unusable.
Category 2 Behavior that contravenes the specified behavior and that might limit or severely
impair the intended use of specified features, but does not render the product
unusable in all or the majority of applications.
Category 3 Behavior that was not the originally intended behavior but should not cause any
problems in applications.
Change Control
29 January 2016: Changes in Document v5
Page Status ID Cat Summary
9 Updated 835269 Cat 1 Slave mode can sample new TX data from PCLK domain using SSPCLK
with no synchronisation
10 Updated 852371 Cat 1 Motorola SPI format slave mode writes to transmit FIFO can lose data
18 Updated 340341 Doc State machine documentation inconsistent with RTL & Diagrams
11 New 327544 Cat 2 TX/RXDMABREQ and TX/RXSREQ signals not fully compatible with DMAC
12 New 257559 Cat 3 Width Inconsistency in SspTrAbif.vhd/v file
13 New 257912 Cat 3 PL022 Questions conflict in tbench files
14 New 322587 Doc PL022 TRM Figure 2-2 is incorrect
r1p3-00rel1
r1p4-00rel0
1-01
1-02
322587 Doc PL022 TRM Figure 2-2 is incorrect X X
328377 Doc Figure 2-12 in TRM (DDI0194D) Incorrect X X
332947 Doc Figures 2-13 to 2-15 In Technical Reference Manual Are Incorrect X X
338113 Doc TRM 4.3.3 Integration test output register, SSPITOP Incorrect X X
340341 Doc State machine documentation inconsistent with RTL & Diagrams X X X
835269 Cat 1 Slave mode can sample new TX data from PCLK domain using X X X
SSPCLK with no synchronisation
852371 Cat 1 Motorola SPI format slave mode writes to transmit FIFO can lose X X X
data
327544 Cat 2 TX/RXDMABREQ and TX/RXSREQ signals not fully compatible X X
with DMAC
257559 Cat 3 Width Inconsistency in SspTrAbif.vhd/v file X
257912 Cat 3 Questions conflict in tbench files X
Errata - Category 1
835269: Slave mode can sample new TX data from PCLK domain using SSPCLK with
no synchronisation
Status
Description
If the SSP is programmed to operate in slave mode, data written to the SSP data register in the PCLK domain
can be sampled in the SSPCLK domain without any synchronisation.
Conditions
For this to occur, the SSP Transmit FIFO must be empty, and the SSP data register write access occurs just as
a new SPI master transfer starts and the SSP slave state machine samples data to transmit.
Implications
Write data can be lost.
Workaround
There is no software workaround.
852371: Motorola SPI format slave mode writes to transmit FIFO can lose data
Status
Description
If the SSP is programmed to operate in Motorola SPI slave mode then it is possible that write data can be lost.
Conditions
For this to occur, the SSP Transmit FIFO must be empty, and either:
The write to the SSP data register occurs between a new SPI master transfer starting and the end of
the first bit of incoming data, or
The write to the SSP data register occurs during the first bit of new incoming data in back-to-back
transfer sequences.
Implications
Write data can be lost.
Workaround
There is no software workaround.
Errata - Category 2
327544: TX/RXDMABREQ and TX/RXSREQ signals not fully compatible with DMAC
Status
Description
The DMA interface in PL022 is not fully compliant for the ARM DMAC interface protocol.
The PL022 neglects DMACCLR from DMA for cancelling DMA request signals(DMABREQ/DMASREQ) which
may cause overflow or underflow in PL022 Data FIFO, especially if the DMAC data transfer size is set to a
burst.
Affected Items
SspDMA.v
TXDMASREQ assertion logic:Line-175-182
TXDMABREQ assertion logic:Line-191-198
RXDMASREQ assertion logic:Line-215-222
RXDMABREQ assertion logic:Line-234-242
Implications
PL022 neglects DMACCLR from DMA for cancelling DMA request signals(DMABREQ/DMASREQ) which may
cause overflow or underflow in PL022 Data FIFO, especially if the DMAC data transfer size is set to a burst.
Workaround
None
Errata - Category 3
Status
Description
Summary:
There is a width inconsistency in the SspTrApbif.vhd/v files.
This does not affect the functionality as it is part of the test infrastructure
Symptoms
A compilation error will occur in :"verification/vhdl/trickbox/SspTrApbif.vhd/v".
Affected items
SspTrApbif.vhd/v
Implications
None
Workaround
At the line 401, in the SspTrApbif.vhd, the code can be modified as follows:
From:
ZEROFILL(15 downto 6) & SSPTBSETPINS when (SSPTBSETPINSRd = '1')
To:
ZEROFILL(15 downto 7) & SSPTBSETPINS when (SSPTBSETPINSRd = '1')
Likewise for the SspTrApbif.v file
Status
Description
This does not affect the functionality as it is part of the test infrastructure
There will be a conflict of signals in the netlist simulations and the simulation may fail.
Affected items
Tbench.v/vhd
Implications
None
Workaround
(line 267,268)
.SCANOUTPCLK (DUMMY),
.SCANOUTSSPCLK (DUMMY),
-->
.SCANOUTPCLK (DUMMY1),
.SCANOUTSSPCLK (DUMMY2),
Errata - Documentation
Status
Description
In the TRM, Figure 2-2, the diagram for the TI Single Transfer, Figure 2-2, is incorrect.
SSPCLKOUT is forced LOW when the SSP should be IDLE, in-between the single transfers and so the figure
should show SSPCLKOUT going LOW after the LSB.
SSPCLKOUT should be held inactive while the SSP is idle and so it transitions at the programmed frequency
only during active transmission or reception of data.
Implications
None
Workaround
None
Status
Description
In the Technical Reference Manual Figure 2-12, Chapter 2 page 2-21, the hold time should be with respect to
the rising edge, with a whole SSPCLKIN used for the hold period.
Implications
None
Workaround
None
Status
Description
Figures 2-13 to 2-15 In Technical Reference Manual are incorrect as they depict something that the PL022 is
not capable of doing.
It is not possible with the PL022 to attach multiple slaves as shown in the diagrams.
The PL022 is purely a point to point connection from one master to one slave and there is no address decoding
or slave select logic within the PL022 to enable the connection to multiple slaves.
Implications
Workaround
None
Status
Description
Section 4.3., Table 4-4. on Page 4-6 states that in the Integration test output register, SSPITOP
--------------------------------------------------------------------
bit name
--------------------------------------------------------------------
4 nSSPCTLOE
3 nSSPOE
--------------------------------------------------------------------
This is incorrect and should be:
bit name
--------------------------------------------------------------------
4 nSSPOE
3 nSSPCTLOE
--------------------------------------------------------------------
Implications
None
Workaround
None
Status
Description
In the PL022 SSP Design Manual (PL022 DDES 0000 A), the text description of the SspSTxRxCntl state
machine does not match the graphical description and the RTL.
Figure 5.14-4 "A section of the SspSTxRxCntl state machine for the TI Synchronous Serial Frame Format"
correctly indicates that there is no path from the ST_STIDSSPOE1 state to the ST_STIIDLE (this matches the
RTL implementation).
The second paragraph on page 51 incorrectly states "In the ST_STIDnSSPOE1 state and the
ST_STIDnSSPOE2 state, the state machine checks whether SSPFSSINSync is asserted in between to denote
the start of a new frame". This should instead state "In the ST_STIDnSSPOE2 state, the state machine checks
whether SSPFSSINSync is asserted to denote the start of a new frame".
Implications
Not applicable
Workaround
Not applicable