You are on page 1of 19

Synchronous Serial Port (PL022)

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

PL022-GENC-004952 v5.0 Confidential Page 1 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

Confidential Proprietary notice


This document is CONFIDENTIAL and any use by you is subject to the terms of the agreement between you
and ARM or the terms of the agreement between you and the party authorised by ARM to disclose this
document to you.

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.

THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO


WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT OR FITNESS
FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the avoidance of doubt, ARM
makes no representation with respect to, and has undertaken no analysis to identify or understand the scope
and content of, third party patents, copyrights, trade secrets, or other rights.

This document may include technical inaccuracies or typographical errors.

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.

PL022-GENC-004952 v5.0 Confidential Page 2 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

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.

ARM Limited. Company 02557590 registered in England.

110 Fulbourn Road, Cambridge, England CB1 9NJ.

LES-PRE-20348

Document confidentiality status


This document is Confidential. This document may only be used and distributed in accordance with the terms of
the agreement entered into by ARM and the party that ARM delivered this document to.

Web address
http://www.arm.com/

PL022-GENC-004952 v5.0 Confidential Page 3 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

Feedback on the product


If you have any comments or suggestions about this product, contact your supplier giving:
 The product name
 A concise explanation of your comments.

Feedback on this document


If you have any comments on about this document, please send email to mailto:errata@arm.com giving:
 The document title
 The documents number
 The page number(s) to which your comments refer
 A concise explanation of your comments

General suggestion for additions and improvements are also welcome.

PL022-GENC-004952 v5.0 Confidential Page 4 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

Contents
INTRODUCTION 6

ERRATA SUMMARY TABLE 8

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

257912: Questions conflict in tbench files 13

ERRATA - DOCUMENTATION 14
322587: PL022 TRM Figure 2-2 is incorrect 14

328377: Figure 2-12 in TRM (DDI0194D) Incorrect 15


332947: Figures 2-13 to 2-15 In Technical Reference Manual Are Incorrect 16
338113: TRM 4.3.3 Integration test output register, SSPITOP Incorrect 17

340341: State machine documentation inconsistent with RTL & Diagrams 18

ERRATA – DRIVER SOFTWARE 19


There are no Errata in this Category 19

PL022-GENC-004952 v5.0 Confidential Page 5 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

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.

PL022-GENC-004952 v5.0 Confidential Page 6 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

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

16 Nov 2015: Changes in Document v4


Page Status ID Cat Summary
9 New 835269 Cat 1 Slave mode can sample new TX data from PCLK domain using SSPCLK
with no synchronisation
10 New 852371 Cat 1 Motorola SPI format slave mode writes to transmit FIFO can lose data

09 Oct 2007: Changes in Document v2


Page Status ID Cat Summary
11 Updated 327544 Cat 2 TX/RXDMABREQ and TX/RXSREQ signals not fully compatible with DMAC
13 Updated 257912 Cat 3 Questions conflict in tbench files
15 New 328377 Doc Figure 2-12 in TRM (DDI0194D) Incorrect
16 New 332947 Doc Figures 2-13 to 2-15 In Technical Reference Manual Are Incorrect
17 New 338113 Doc TRM 4.3.3 Integration test output register, SSPITOP Incorrect
18 New 340341 Doc State machine documentation inconsistent with RTL & Diagrams

30 Jun 2004: Changes in Document v1


Page Status ID Cat Summary

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

PL022-GENC-004952 v5.0 Confidential Page 7 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

Errata Summary Table


The errata associated with this product affect product versions as below.
A cell shown thus X indicates that the defect affects the revision shown at the top of that column.

ID Cat Summary of Erratum

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

PL022-GENC-004952 v5.0 Confidential Page 8 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

Errata - Category 1

835269: Slave mode can sample new TX data from PCLK domain using SSPCLK with
no synchronisation

Status

Affects: product PL022 Synch Serial IFace -Perpetual.


Fault status: Cat 1, Present in: 1-01,1-02,r1p3-00rel1, Fixed in r1p4-00rel0.

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.

PL022-GENC-004952 v5.0 Confidential Page 9 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

852371: Motorola SPI format slave mode writes to transmit FIFO can lose data

Status

Affects: product PL022 Synch Serial IFace -Perpetual.


Fault status: Cat 1, Present in: 1-01,1-02,r1p3-00rel1, Fixed in r1p4-00rel0.

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.

PL022-GENC-004952 v5.0 Confidential Page 10 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

Errata - Category 2

327544: TX/RXDMABREQ and TX/RXSREQ signals not fully compatible with DMAC

Status

Affects: product PL022 Synch Serial IFace -Perpetual.


Fault status: Cat 2, Present in: 1-01,1-02, Fixed in r1p3-00rel1.

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

PL022-GENC-004952 v5.0 Confidential Page 11 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

Errata - Category 3

257559: Width Inconsistency in SspTrAbif.vhd/v file

Status

Affects: product PL022 Synch Serial IFace -Perpetual.


Fault status: Cat 3, Present in: 1-01, Fixed in 1-02.

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

PL022-GENC-004952 v5.0 Confidential Page 12 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

257912: Questions conflict in tbench files

Status

Affects: product PL022 Synch Serial IFace -Perpetual.


Fault status: Cat 3, Present in: 1-01, Fixed in 1-02.

Description

There is a conflict of output signals (SCANOUTPCLK and SCANOUTSSPCLK) in the testbench.

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

The code can be modified as follows:


(line 103)
wire DUMMY;
-->
wire DUMMY1;
wire DUMMY2;

(line 267,268)
.SCANOUTPCLK (DUMMY),
.SCANOUTSSPCLK (DUMMY),
-->
.SCANOUTPCLK (DUMMY1),
.SCANOUTSSPCLK (DUMMY2),

The testbench for VHDL is same problem.

PL022-GENC-004952 v5.0 Confidential Page 13 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

Errata - Documentation

322587: PL022 TRM Figure 2-2 is incorrect

Status

Affects: product PL022 Synch Serial IFace -Perpetual.


Fault status: Doc, Present in: 1-01,1-02, Fixed in r1p3-00rel1.

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

PL022-GENC-004952 v5.0 Confidential Page 14 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

328377: Figure 2-12 in TRM (DDI0194D) Incorrect

Status

Affects: product PL022 Synch Serial IFace -Perpetual.


Fault status: Doc, Present in: 1-01,1-02, Fixed in r1p3-00rel1.

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

PL022-GENC-004952 v5.0 Confidential Page 15 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

332947: Figures 2-13 to 2-15 In Technical Reference Manual Are Incorrect

Status

Affects: product PL022 Synch Serial IFace -Perpetual.


Fault status: Doc, Present in: 1-01,1-02, Fixed in r1p3-00rel1.

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

It is not possible with the PL022 to attach multiple slaves.

Workaround

None

PL022-GENC-004952 v5.0 Confidential Page 16 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

338113: TRM 4.3.3 Integration test output register, SSPITOP Incorrect

Status

Affects: product PL022 Synch Serial IFace -Perpetual.


Fault status: Doc, Present in: 1-01,1-02, Fixed in r1p3-00rel1.

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

PL022-GENC-004952 v5.0 Confidential Page 17 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

340341: State machine documentation inconsistent with RTL & Diagrams

Status

Affects: product PL022 Synch Serial IFace -Perpetual.


Fault status: Doc, Present in: 1-01,1-02,r1p3-00rel1, Fixed in r1p4-00rel0.

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

PL022-GENC-004952 v5.0 Confidential Page 18 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.
Synchronous Serial Port (PL022)
Date of Issue: 27 January 2016 ARM Errata Notice Document Revision 5.0

Errata – Driver Software

There are no Errata in this Category

PL022-GENC-004952 v5.0 Confidential Page 19 of 19


© Copyright ARM Limited 2004, 2007, 2015, 2016. All rights reserved.

You might also like