IHI0089B Amba Lti Protocol Spec
IHI0089B Amba Lti Protocol Spec
Protocol Specification
Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved.
ARM IHI0089B (ID100323)
AMBA LTI
Protocol Specification
Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved.
Release Information
Change history
26 September 2023 B Non-confidential Release with support for Realm Management Extension (RME) and
Memory Encryption Contexts (MEC)
Proprietary Notice
This document is NON-CONFIDENTIAL and any use by you is subject to the terms of this notice and the Arm AMBA
Specification Licence set about below.
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 for the purposes of determining whether implementations infringe any third party patents.
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, patents, copyrights, trade secrets, or other rights.
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.
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.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or trademarks of Arm Limited (or its
subsidiaries) in the US 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/company/policies/trademarks.
Copyright © 2020, 2021, 2023 Arm Limited (or its affiliates). All rights reserved.
ii Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
AMBA SPECIFICATION LICENCE
THIS END USER LICENCE AGREEMENT ("LICENCE") IS A LEGAL AGREEMENT BETWEEN YOU (EITHER A
SINGLE INDIVIDUAL, OR SINGLE LEGAL ENTITY) AND ARM LIMITED ("ARM") FOR THE USE OF ARM'S
INTELLECTUAL PROPERTY (INCLUDING, WITHOUT LIMITATION, ANY COPYRIGHT) IN THE RELEVANT AMBA
SPECIFICATION ACCOMPANYING THIS LICENCE. ARM LICENSES THE RELEVANT AMBA SPECIFICATION TO
YOU ON CONDITION THAT YOU ACCEPT ALL OF THE TERMS IN THIS LICENCE. BY CLICKING "I AGREE" OR
OTHERWISE USING OR COPYING THE RELEVANT AMBA SPECIFICATION YOU INDICATE THAT YOU AGREE TO
BE BOUND BY ALL THE TERMS OF THIS LICENCE.
"Subsidiary" means, if You are a single entity, any company the majority of whose voting shares is now or hereafter owned or
controlled, directly or indirectly, by You. A company shall be a Subsidiary only for the period during which such control exists.
1. Subject to the provisions of Clauses 2, 3 and 4, Arm hereby grants to LICENSEE a perpetual, non-exclusive,
non-transferable, royalty free, worldwide licence to:
(i) use and copy the relevant AMBA Specification for the purpose of developing and having developed products
that comply with the relevant AMBA Specification;
(ii) manufacture and have manufactured products which either: (a) have been created by or for LICENSEE under
the licence granted in Clause 1(i); or (b) incorporate a product(s) which has been created by a third party(s)
under a licence granted by Arm in Clause 1(i) of such third party's AMBA Specification Licence; and
(iii) offer to sell, sell, supply or otherwise distribute products which have either been (a) created by or for
LICENSEE under the licence granted in Clause 1(i); or (b) manufactured by or for LICENSEE under the
licence granted in Clause 1(ii).
2. LICENSEE hereby agrees that the licence granted in Clause 1 is subject to the following restrictions:
(i) where a product created under Clause 1(i) is an integrated circuit which includes a CPU then either: (a) such
CPU shall only be manufactured under licence from Arm; or (b) such CPU is neither substantially compliant
with nor marketed as being compliant with the Arm instruction sets licensed by Arm from time to time;
(ii) the licences granted in Clause 1(iii) shall not extend to any portion or function of a product that is not itself
compliant with part of the relevant AMBA Specification; and
(iii) no right is granted to LICENSEE to sublicense the rights granted to LICENSEE under this Agreement.
3. Except as specifically licensed in accordance with Clause 1, LICENSEE acquires no right, title or interest in any Arm
technology or any intellectual property embodied therein. In no event shall the licences granted in accordance with Clause
1 be construed as granting LICENSEE, expressly or by implication, estoppel or otherwise, a licence to use any Arm
technology except the relevant AMBA Specification.
6. No licence, express, implied or otherwise, is granted to LICENSEE, under the provisions of Clause 1, to use the Arm
tradename, or AMBA trademark in connection with the relevant AMBA Specification or any products based thereon.
Nothing in Clause 1 shall be construed as authority for LICENSEE to make any representations on behalf of Arm in respect
of the relevant AMBA Specification.
7. This Licence shall remain in force until terminated by you or by Arm. Without prejudice to any of its other rights if
LICENSEE is in breach of any of the terms and conditions of this Licence then Arm may terminate this Licence
immediately upon giving written notice to You. You may terminate this Licence at any time. Upon expiry or termination
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. iii
ID100323 Non-Confidential
of this Licence by You or by Arm LICENSEE shall stop using the relevant AMBA Specification and destroy all copies of
the relevant AMBA Specification in your possession together with all documentation and related materials. Upon expiry
or termination of this Licence, the provisions of clauses 6 and 7 shall survive.
8. The validity, construction and performance of this Agreement shall be governed by English Law.
Confidentiality Status
This document is Non-Confidential. The right to use, copy and disclose this document may be subject to license restrictions in
accordance with the terms of the agreement entered into by Arm and the party that Arm delivered this document to.
Product Status
Web Address
http://www.arm.com
iv Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Contents
AMBA LTI Protocol Specification
Preface
About this specification ............................................................................................... x
Intended audience ........................................................................................ x
Using this specification ................................................................................. x
Conventions ................................................................................................. xi
Typographic conventions ............................................................................. xi
Timing diagrams .......................................................................................... xi
Signals ......................................................................................................... xii
Numbers ...................................................................................................... xii
Additional reading ..................................................................................................... xiii
Arm publications ......................................................................................... xiii
Feedback .................................................................................................................. xiv
Inclusive terminology commitment .............................................................. xiv
Chapter 1 Introduction
1.1 About the LTI protocol ............................................................................................ 1-16
1.2 Use cases .............................................................................................................. 1-17
1.2.1 In-line integration ..................................................................................... 1-17
1.2.2 Lookaside integration ............................................................................... 1-18
1.2.3 Cached integration ................................................................................... 1-18
1.3 Differences between DTI and LTI .......................................................................... 1-19
1.4 Supported translation flows .................................................................................... 1-20
1.4.1 Stall flow ................................................................................................... 1-20
1.4.2 ATST flow ................................................................................................ 1-20
1.4.3 NoStall flow .............................................................................................. 1-20
1.4.4 PRI flow .................................................................................................... 1-21
Chapter 2 Channels
2.1 Transaction flow ..................................................................................................... 2-24
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. v
ID100323 Non-Confidential
2.2 Virtual Channels ..................................................................................................... 2-26
2.3 Flow control ............................................................................................................ 2-27
2.4 Reserved encodings .............................................................................................. 2-28
2.5 Signal validity ......................................................................................................... 2-29
Chapter 3 Properties
3.1 LTI properties ......................................................................................................... 3-32
Chapter 9 Pipelining
9.1 Pipelining between Manager and Subordinate interfaces ...................................... 9-70
vi Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
B.2.4 LATRANS = R-CMO ............................................................................... B-81
B.2.5 LATRANS = W-CMO .............................................................................. B-81
B.2.6 LATRANS = DCMO ................................................................................ B-81
B.2.7 LATRANS = R-DCMO ............................................................................. B-81
B.2.8 LATRANS = DHCMO .............................................................................. B-82
B.3 Attribute mapping .................................................................................................. B-83
B.3.1 LTI to Armv8 conversion ......................................................................... B-83
B.3.2 Armv8 to LTI conversion ......................................................................... B-84
B.4 DTI_TBU_TRANS_FAULT.TYPE mapping .......................................................... B-86
Appendix D Interoperability
D.1 Interface operability ............................................................................................... D-92
Appendix F Revisions
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. vii
ID100323 Non-Confidential
viii Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Preface
This preface introduces the AMBA® LTI Protocol Specification. It contains the following sections:
• About this specification on page x
• Additional reading on page xiii
• Feedback on page xiv
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ix
ID100323 Non-Confidential
Preface
About this specification
Intended audience
This specification is written for hardware engineers who wish to design components that implement Local
Translation Interface (LTI).
Chapter 2 Channels
Describes LTI information flow.
Chapter 3 Properties
Describes the set of LTI properties that specify the supported behavior and interface signaling
requirements.
Chapter 9 Pipelining
Defines pipelining requirements for LTI.
Appendix D Interoperability
Describes how to connect LTI interfaces with different properties.
Appendix F Revisions
Describes the technical changes between issues of this specification.
x Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Preface
About this specification
Conventions
The following sections describe conventions that this specification can use:
• Typographic conventions
• Timing diagrams
• Signals on page xii
• Numbers on page xii
Typographic conventions
The typographical conventions are:
italic Highlights important notes, introduces special terminology, and denotes internal
cross-references and citations.
bold Denotes signal names, and is used for terms in descriptive lists, where appropriate.
monospace Used for assembler syntax descriptions, pseudocode, and source code examples.
Also used in the main text for instruction mnemonics and for references to other items
appearing in assembler syntax descriptions, pseudocode, and source code examples.
SMALL CAPITALS Used for a few terms that have specific technical meanings.
Timing diagrams
The components used in timing diagrams are explained in figure Key to timing diagram conventions. Variations
have clear labels, when they occur. Do not assume any timing information that is not explicit in the diagrams.
Shaded bus and signal areas are undefined, so the bus or signal can assume any value within the shaded area at that
time. The actual level is unimportant and does not affect normal operation.
Clock
HIGH to LOW
Transient
HIGH/LOW to HIGH
Bus stable
Bus change
Timing diagrams sometimes show single-bit signals as HIGH and LOW at the same time and they look similar to
the bus change shown in Key to timing diagram conventions. If a timing diagram shows a single-bit signal in this
way then its value does not affect the accompanying description.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. xi
ID100323 Non-Confidential
Preface
About this specification
Signals
The signal conventions are:
Signal level The level of an asserted signal depends on whether the signal is active-HIGH or
active-LOW. Asserted means:
• HIGH for active-HIGH signals
• LOW for active-LOW signals.
Lowercase x At the second letter of a signal name denotes a collective term for both Read and Write. For
example, AxCACHE refers to both the ARCACHE and AWCACHE signals.
Numbers
Numbers are normally written in decimal. Binary numbers are preceded by 0b, and hexadecimal numbers by 0x.
Both are written in a monospace font.
xii Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Preface
Additional reading
Additional reading
This section lists relevant publications from Arm.
Arm publications
• AMBA ® AXI Protocol Specification (ARM IHI 0022)
• AMBA ® DTI Protocol Specification (ARM IHI 0088)
• Arm System Memory Management Unit Architecture Specification (ARM IHI 0070)
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. xiii
ID100323 Non-Confidential
Preface
Feedback
Feedback
Arm welcomes feedback on its documentation.
If you have any comments or suggestions for additions and improvements, create a ticket at
https://support.developer.arm.com. As part of the ticket, include:
• The title, AMBA LTI Protocol Specification.
• The number, ARM IHI0089B.
• The section name to which your comments refer.
• The page number(s) to which your comments apply.
• A concise explanation of your comments.
Previous issues of this document included language that can be offensive. We have replaced this language. To report
offensive language in this document, email [email protected].
xiv Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Chapter 1
Introduction
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 1-15
ID100323 Non-Confidential
1 Introduction
1.1 About the LTI protocol
LTI is a point-to-point protocol and defines the communication between an IO Manager and a Translation Buffer
Unit (TBU). LTI enables devices to directly request a translation for each transaction while leaving the TBU to
manage the Translation Lookaside Buffer (TLB). This enables translations to be requested before ordering
requirements are met and avoiding the need to pass transactions through the TBU. This provides improved
performance and reduced silicon area.
This specification describes the LTI protocol and the components of an LTI-compliant implementation. The LTI
protocol is used by implementations of the Arm System MMUv3 (SMMUv3) Architecture Specification.
1-16 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
1 Introduction
1.2 Use cases
• A Bus Interface Unit (BIU), which fetches a translation for each transaction using LTI.
• A TLB Unit (TLBU) caches translations in a TLB. TLBU receives translation requests using LTI, and if the
requested translation is not available in its TLB, it requests translations from a TCU using DTI.
• A Translation Control Unit (TCU), which calculates translations, reading translation tables when required.
Typically, the BIU and TLBU are packaged together as a TBU. Alternatively, the TBU might consist of just the
TLBU.
SMMU components
Device
AXI
Page table
AXI AXI walks
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 1-17
ID100323 Non-Confidential
1 Introduction
1.2 Use cases
SMMU components
Page table
AXI walks
SMMU components
Device TCU
DTI
TLB
Page table
AXI walks
1-18 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
1 Introduction
1.3 Differences between DTI and LTI
LTI DTI
Topology Designed for connecting to a single, local Designed for connecting multiple TBUs to a
TLBU over a short distance. TCU over a longer distance.
Invalidation No invalidation is required, because The DTI Translation Buffer Unit (TBU) or
translations are not cached. PCIe Root Port (RP) must support
invalidation messages to invalidate
translations that are previously returned.
Mapping Provides the translated transaction Requires the TBU or PCIe RP to follow
translations to information directly, making it simple to rules on how to map configuration cache
transactions use. entries and TLB entries on to each
transaction.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 1-19
ID100323 Non-Confidential
1 Introduction
1.4 Supported translation flows
• Immediately terminate the transaction and optionally record an error record that informs software that the
transaction was terminated.
• Stall the translation and inform software that the translation is stalled. Software can then terminate the
transaction, or update the translation tables and retry the translation. The LTI Manager is not aware of the
stall.
Stall flow enables software to manage translation faults and demand paging without the client device being aware.
However, it has some limitations:
• The LTI Manager can see long translation times, potentially triggering timeouts.
• Due to the dependence of software activity, the Stall flow can cause deadlocks in some systems.
For example, Stall flow is not recommended for use with PCIe, because of dependencies between outgoing
transactions to PCIe from a CPU, and incoming transactions from PCIe through the SMMU.
Enabling the Stall flow does not necessarily cause a stall when a translation fault occurs. Stalls only occur when
enabled by software. Software does not normally enable stalling for PCIe endpoints.
1. A PCIe endpoint requests a translation over ATS, which is passed to the SMMU by the PCIe RP using the
DTI-ATS protocol.
2. The SMMU responds to the ATS request over DTI-ATS, which is passed back to the PCIe endpoint by the
PCIe RP. If a translation fault occurs, then the response indicates the condition, and does not make any
software-visible record.
3. The PCIe endpoint uses the ATS translation to translate the address of transaction, and then issues a
transaction that is marked as ATS Translated.
An ATS Translated transaction uses the ATST flow. In all other respects, it is translated the same way as any other
transaction. Normally this translation is fast because it is already translated by ATS, but some additional translation
might still occur. For example, the SMMU can be configured to perform stage 1 translation when an ATS request is
made, and perform stage 2 translation when the ATS Translated transaction is presented to the SMMU.
ATS translations are cached in the PCIe endpoint Address Translation Cache (ATC), for future use. These
translations can be invalidated by ATS invalidation messages, which is conveyed over DTI-ATS.
If a translation fault occurs, the PCIe endpoint can issue a page request using the Page Request Interface (PRI),
before retrying the ATS translation request if the PRI request is successful. PRI is an extension to ATS, and is also
conveyed to the SMMU using DTI-ATS. The fault is not visible to LTI.
1-20 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
1 Introduction
1.4 Supported translation flows
• The SMMU ATS features are not required and not used, even though ATS is enabled in software.
Transactions are translated on-demand.
• If a translation fault occurs, no error is reported to software by the SMMU. Instead, a PRI fault response is
returned to the LTI Manager.
• When the LTI Manager receives a PRI fault response, it uses a DTI-ATS connection to issue a page request.
If the PRI response is successful, then the LTI Manager retries the transaction.
A device using this flow uses DTI-ATS for PRI requests only and does not make any ATS requests. In DTIv2, a
device can implement a DTI-ATS connection that just performs PRI requests and does not receive ATS invalidation
messages.
A device must be assigned page request credits by system software before it can issue PRI requests. These credits
are not visible to the LTI or DTI protocols and are managed by PCIe software.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 1-21
ID100323 Non-Confidential
1 Introduction
1.4 Supported translation flows
1-22 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Chapter 2
Channels
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 2-23
ID100323 Non-Confidential
2 Channels
2.1 Transaction flow
Additionally, interface management signals are included with the prefix LM.
In this specification, the term, Lx, is used to collectively refer to LA, LR, and LC.
There are no flows where any of these three stages can be skipped.
The relationship between LTI messages and the translated transaction are shown in Figure 2-1.
LA channel request
LR channel response
Transaction request
Transaction completion
LC channel completion
The LTI Subordinate does not correlate the completion messages to a specific LTI transaction, but instead counts
the number of completions corresponding to each completion tag. The purpose of the Completion channel is to
enable the LTI Subordinate to determine when all transactions with a completion tag have completed. This checking
of the number of completions for a tag is part of the translation invalidation process. There are two completion tags
to enable invalidation to take place without stopping the transaction flow.
An LTI response is permitted in the same cycle that the corresponding request is made. This response timing enables
tightly coupled TLBs with low latency.
An LTI completion is not permitted in the same cycle that the corresponding response is returned. An LTI response
can be followed by its completion in the following cycle or later.
All signals are driven by the channel TX, except LxCREDIT signals, which are driven by the channel RX.
2-24 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
2 Channels
2.1 Transaction flow
An LTI transaction is considered to be outstanding from the cycle in which the LA request is used until the cycle in
which the LC completion is issued.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 2-25
ID100323 Non-Confidential
2 Channels
2.2 Virtual Channels
The LC channel does not support multiple Virtual Channels. The LTI Subordinate must always be able to provide
a credit on the LC channel without dependence on progress of other channels.
In an LTI transaction, messages on the LA and LR channels must use the same Virtual Channel (VC).
Because LC messages are not associated with a particular VC, it is necessary that any counter in the LTI Subordinate
that is counting outstanding completions does not overflow. The LTI Subordinate must be able to track at least
65535 translation responses awaiting a completion. When this number is exceeded, the LTI Subordinate is permitted
to introduce dependencies between Virtual Channels, by not returning a translation response until translation
completions from previous translations are returned.
The intent of Virtual Channels is to enable one VC to progress when another is blocked, to avoid deadlock scenarios.
Components implementing LTI must ensure that if progress is blocked on one VC it does not result in progress being
blocked on a different VC.
In some cases, the forward progress properties of a single Virtual Channel is sufficient for an implementation.
Within a VC, LTI must make independent forward progress on all LTI transactions when:
2. The LTI Manager is able to provide a credit to the LR channel without dependence on the progress of any
other transaction.
3. The total number of translations that have sent an LTI request but haven't sent the LTI completion must not
exceed the completion tracking limit of the LTI Subordinate.
2-26 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
2 Channels
2.3 Flow control
• Each channel includes LxVALID and LxCREDIT signals. If more than one VC is supported, the LA and
LR channels include LxVC signals.
• Each cycle that LxCREDIT[n] is asserted grants one credit on VC n to the channel TX.
• The channel TX consumes a credit on VC n each cycle that LxVALID is asserted with LxVC = n.
• LxVALID cannot be asserted with LxVC = n when the channel TX has zero credits for VC n.
• The maximum number of credits that the channel RX can grant the channel TX for each VC is 15.
In addition, there must not be combinatorial paths between LxCREDIT and other signals on a channel in either
direction, such as LxVALID. This restriction has the following consequences:
• A credit cannot be used by LxVALID in the same cycle that it is granted by LxCREDIT when there are no
other credits granted.
• A credit cannot be returned on LxCREDIT in the same cycle that it is used by LxVALID when the maximum
number of credits that are permitted to be granted is reached.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 2-27
ID100323 Non-Confidential
2 Channels
2.4 Reserved encodings
Use of a Reserved encoding in a field that is not ignored is a protocol error and can lead to UNPREDICTABLE behavior.
2-28 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
2 Channels
2.5 Signal validity
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 2-29
ID100323 Non-Confidential
2 Channels
2.5 Signal validity
2-30 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Chapter 3
Properties
This chapter describes the set of LTI properties that specifies the supported behavior and interface signaling
requirements:
• LTI properties on page 3-32
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 3-31
ID100323 Non-Confidential
3 Properties
3.1 LTI properties
Note
LRHWATTR signal is always present and unaffected by
the LTI_LAHWATTR_PRESENT property.
When the value of a property results in a signal being zero bits in width, that signal is omitted from the interface.
3-32 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
3 Properties
3.1 LTI properties
Table 3-2 shows how translations are affected by the combinations of properties LTI_GPC and LTI_MMU, and the
signal LAMMUV.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 3-33
ID100323 Non-Confidential
3 Properties
3.1 LTI properties
3-34 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Chapter 4
Request channel
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 4-35
ID100323 Non-Confidential
4 Request channel
4.1 Signals
4.1 Signals
The signals in the LA channel are described in Table 4-1.
Note
If an LTI Manager uses LAFLOW = Stall for transactions
issued downstream with order requirements, it is
recommended for the LTI Manager to set LAOGV = 1 and use
LTI order group instead of using unordered LTI requests. This
prevents reordering the LTI responses and avoids deadlock. It
is permitted to use unordered LTI requests for transactions
issued downstream without order requirements.
4-36 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
4 Request channel
4.1 Signals
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 4-37
ID100323 Non-Confidential
4 Request channel
4.1 Signals
4-38 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
4 Request channel
4.1 Signals
LAPROT Transaction LTI_MMU == True ? 3:1 Protection information. LAPROT uses the same encoding as
the AXI AxPROT signals.
LAPROT[0]: PnU
0 Unprivileged access
1 Privileged access
LAPROT[1]: NS
Used in conjunction with LANSE to define
Physical Address Space (PAS) of the
transaction.
LAPROT[2]: InD
0 Data access
1 Instruction access
When LTI_GPC is False, the PAS is encoded as LAPROT[1]
and is defined by the following:
0 Secure
1 Non-secure
When LTI_GPC is True, the PAS encoded as {LANSE
LAPROT[1]} and is defined as followed:
00 Secure
01 Non-secure
10 Root
11 Realm
If LAMMUV is HIGH and LASECSID is Non-secure, the
PAS must be Non-secure.
If LAMMUV is HIGH and LASECSID is Secure, the PAS
must be Non-secure or Secure.
If LAMMUV is HIGH and LASECSID is Realm, the PAS
must be Non-secure or Realm.
If LATRANS is SPEC or UNSPEC, LAPROT[0] must be 0.
If LATRANS is W, RW, SPEC, UNSPEC, W-CMO,
DHCMO, DCP, or W-DCP, LAPROT[2] must be 0.
If LAFLOW is ATST and LASSIDV = 0, LAPROT[0] must
be 0.
If LAFLOW is ATST and LASSIDV = 0, LAPROT[2] must
be 0.
LAPROT[0] and LAPROT[2] are not valid when
LAMMUV is LOW.
LAPROT[0] and LAPROT[2] is present only when
LTI_MMU is True.
When LTI_MMU is False, LAPROT is 1b wide and contains
the NS bit.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 4-39
ID100323 Non-Confidential
4 Request channel
4.1 Signals
LATRANS Transaction 4 Type of the transaction that the LTI request is translating.
See Transaction types on page 4-41.
4-40 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
4 Request channel
4.2 Transaction types
Note
The AMBA DTI specification permits speculative translation
requests being used for speculative read transactions in some
circumstances.
The LTI SPEC transaction type cannot be used for speculative read
transactions. The LTI SPEC transaction type prefetches a translation
into translation caches and the translation that is returned cannot be
used by transactions.
If an LTI Manager requires a speculative read transaction that is
guaranteed not to fault, then it should issue an LTI request with
LATRANS = R, LAFLOW = PRI.
1 R Read.
2 W Write.
5 R-CMO Read with Cache Maintenance Operation. R-CMO is a read that also
performs a Cache Maintenance Operation.
7 UNSPEC Hint that the translation can be deallocated and is no longer required.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 4-41
ID100323 Non-Confidential
4 Request channel
4.2 Transaction types
14 W-DCP Write with Directed Cache Prefetch. W-DCP is a write that includes
a request to stash the written data into a particular cache.
4-42 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
4 Request channel
4.3 Transaction attributes
Encoding Type
0 Device-nGnRnE
1 Device-nGnRE
2 Device-nGRE
3 Device-GRE
4 Normal Non-cacheable
Most transactions should use the value 7 for LAATTR, Normal Write-Back Allocate Outer Shareable. This value
is the common type for accessing normal memory locations when the translation tables have not selected a different
set of transaction attributes.
CMO, DCMO, DHCMO, DCP, or W-CMO Normal Write-Back No-Allocate Outer Shareable
Note
No-allocate is treated as Allocate for CMO, DCMO, and DHCMO.
There is no attribute restriction for LAATTR when LATRANS is R, W, RW, SPEC, or UNSPEC.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 4-43
ID100323 Non-Confidential
4 Request channel
4.4 Transaction scope
4-44 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Chapter 5
Response channel
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 5-45
ID100323 Non-Confidential
5 Response channel
5.1 Signals
5.1 Signals
The signals in the LR channel are described in Table 5-1.
5-46 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
5 Response channel
5.1 Signals
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 5-47
ID100323 Non-Confidential
5 Response channel
5.1 Signals
5-48 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
5 Response channel
5.1 Signals
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 5-49
ID100323 Non-Confidential
5 Response channel
5.1 Signals
5-50 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
5 Response channel
5.2 LRRESP details
a. This is always FaultRAZWI because the transaction is always terminated without an error response. No fault is reported in the SMMU.
Translated
LATRANS LRRESP transaction Effect
type
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 5-51
ID100323 Non-Confidential
5 Response channel
5.2 LRRESP details
Translated
LATRANS LRRESP transaction Effect
type
5-52 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
5 Response channel
5.3 Attribute restrictions for specific transaction types
SPEC Device-nGnRnE
Device-nGnRE
Device-nGRE
Device-GRE
Normal Non-cacheable
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 5-53
ID100323 Non-Confidential
5 Response channel
5.3 Attribute restrictions for specific transaction types
5-54 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Chapter 6
Completion channel
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 6-55
ID100323 Non-Confidential
6 Completion channel
6.1 Signals
6.1 Signals
The signals in the LC channel are described in Table 6-1.
6-56 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
6 Completion channel
6.2 Completion channel characteristics
All transactions using the translation must be globally observed before the completion message is sent by the LTI
Manager.
CPU barrier instructions that must wait for completion of an invalidation might block while awaiting LC messages.
The block may occur even if the translation used for that transaction has not been invalidated. If LC messages take
a long time to return, it can impact CPU performance.
It is recommended that a single LTI response is only shared between transactions that can be issued together and are
all outstanding at the same time, so that the overall latency to return the LC message is not substantially larger than
the DRAM access latency. In most situations, it is better for the LTI Manager to rely on the translation caching of
the LTI Subordinate and use a separate LTI request for each transaction, even if the LTI Manager knows that the
translation is likely to be reused.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 6-57
ID100323 Non-Confidential
6 Completion channel
6.2 Completion channel characteristics
6-58 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Chapter 7
Interface management
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 7-59
ID100323 Non-Confidential
7 Interface management
7.1 Interface management overview
7-60 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
7 Interface management
7.2 Open and close handshake
ST_CLOSED 0 0
ST_OPENING 1 0
ST_OPEN 1 1
ST_CLOSING 0 1
The LTI interface transitions through the states in the following order:
1. LMOPENREQ can transition from LOW to HIGH only if LMOPENACK is LOW.
2. LMOPENREQ can transition from HIGH to LOW only if LMOPENACK is HIGH.
3. LMOPENACK can transition from LOW to HIGH only if LMOPENREQ is HIGH.
4. LMOPENACK can transition from HIGH to LOW only if LMOPENREQ is LOW.
There must be no combinatorial paths between LMOPENACK and LMOPENREQ in either direction. A
consequence of this is that the interface must spend at least one cycle in each state before moving to the next state.
Figure 7-1 shows how LMOPENREQ and LMOPENACK correspond to the interface states.
LMOPENREQ
LMOPENACK
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 7-61
ID100323 Non-Confidential
7 Interface management
7.3 Properties of interface states
The Manager must wait for all outstanding responses on the LR channel and send all outstanding completions on
the LC channel before transitioning from state ST_OPEN to state ST_CLOSING. LMOPENREQ must be asserted
while there are outstanding transactions on the interface. The Manager must not deassert LMOPENREQ until the
cycle after it has asserted LCVALID for the completion.
LACREDIT and LCCREDIT can only be asserted in states ST_OPEN and ST_CLOSING. LACREDIT and
LCCREDIT must be deasserted when LMOPENACK is deasserted.
LRCREDIT can only be asserted in state ST_OPEN. LRCREDIT must be deasserted when LMOPENREQ or
LMOPENACK are deasserted.
All credits on all channels are lost when in state ST_CLOSED. When the state ST_OPEN is entered, each channel
TX has zero credits.
7-62 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
7 Interface management
7.4 Management Signals
7.4.1 LMASKCLOSE
The LMASKCLOSE signal enables the Subordinate to request that the interface is to be closed. For example,
LMASKCLOSE may be asserted in response to a quiescence request on a Q-Channel interface on the Subordinate.
When LMASKCLOSE is asserted by the Subordinate and LMACTIVE is deasserted by the Manager, the
Manager must, in a timely manner, either:
• Assert LMACTIVE, to enable the Manager to issue new LTI requests. The Subordinate will usually then
deassert LMASKCLOSE.
7.4.2 LMACTIVE
The LMACTIVE signal serves two purposes:
• When asserted while the interface is closed, it indicates that the system should provide clock and power to
the Subordinate and the interface can be opened.
• When asserted while the interface is opened, it indicates that the Subordinate should not request closing the
interface.
There are no protocol rules linking LMACTIVE to outstanding LTI requests, however LMACTIVE is normally
asserted while any LTI requests are outstanding.
LMACTIVE must be glitch-free and suitable for sampling in a different clock domain.
The Subordinate is permitted to remain in state ST_OPENING indefinitely when LMACTIVE is not asserted.
The Subordinate is permitted to assert LMASKCLOSE when LMACTIVE is asserted. This is because there might
be a delay between LMASKCLOSE being asserted and it affecting LMACTIVE. However, it is expected that the
Subordinate deasserts LMASKCLOSE when it detects that LMACTIVE is asserted.
The Manager is permitted to assert and deassert LMACTIVE without asserting LMOPENREQ. This is because
LMACTIVE might be driven combinatorially, before LMOPENREQ can be asserted.
• LMASKCLOSE might be asserted by the Subordinate when LMACTIVE is deasserted, but the new
activity begins at the Manager before it begins to close the LTI interface. In this case, it asserts LMACTIVE
and ignores LMASKCLOSE.
• The Manager might assert LMACTIVE to give early notice to the Subordinate to start its clocks, before the
Manager is ready for the interface to be opened.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 7-63
ID100323 Non-Confidential
7 Interface management
7.4 Management Signals
1. The Manager asserts LMACTIVE and LMOPENREQ to request opening the interface.
a. The Manager might assert LMACTIVE before LMOPENREQ.
b. It is permitted, but not expected, for the Manager to assert LMACTIVE after asserting
LMOPENACK.
2. The Subordinate asserts LMOPENACK to accept opening the interface, and asserts LACREDIT and
LCCREDIT to send request and completion credits. These can be asserted in any cycle that LMOPENACK
is asserted.
3. The Manager sees that LMOPENACK is asserted and in the next cycle, asserts LRCREDIT to send
response credits and starts providing LR credits. It also uses LA credits to start issuing requests on the LA
channel.
0 1 2 3 4
CLK
LMACTIVE
LMOPENREQ
LMOPENACK
LACREDIT[n]
LCCREDIT[n]
LRCREDIT[n]
LAVALID
1. The Subordinate observes LMACTIVE is not asserted and requests that the interface be closed by asserting
LMASKCLOSE.
2. The Manager accepts the request to close the interface by deasserting LMOPENREQ.
3. The Subordinate completes the close sequence by deasserting LMOPENACK and LMASKCLOSE.
7-64 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
7 Interface management
7.4 Management Signals
0 1 2 3 4
CLK
LMASKCLOSE
LMACTIVE
LMOPENREQ
LMOPENACK
2. The Subordinate observes LMACTIVE and withdraws the interface closing request by deasserting
LMASKCLOSE.
0 1 2 3
CLK
LMASKCLOSE
LMACTIVE
LMOPENREQ
LMOPENACK
The assertion of LMACTIVE and LMASKCLOSE are independent events, with no fixed relationship between
them. Figure 7-4 shows them being asserted in the same cycle, but this is coincidental. A combinatorial path
between the signals is not permitted.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 7-65
ID100323 Non-Confidential
7 Interface management
7.4 Management Signals
7-66 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Chapter 8
Clock and reset
This section describes the mapping strategy for the clock and reset. It contains the following section:
• Clock and reset on page 8-68
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 8-67
ID100323 Non-Confidential
8 Clock and reset
8.1 Clock and reset
Typically, an LTI interface shares its clock and reset with other interfaces on a component. For this reason, the clock
and reset signals do not have an LTI-specific prefix in this specification.
An implementation might give the clock and reset signals different names from those signals used in the
specification, or employ a different clock and reset strategy. It is recommended that there is a mapping between the
clock and reset signals in an implementation and the signals that are defined here.
Signals that are not defined as asynchronous are sampled on the rising edge of the clock signal.
The reset signal is asserted asynchronously and deasserted synchronously with the clock signal.
On the first rising edge of the clock signal where the reset signal is HIGH, the following signals must be 0:
• LxVALID
• LxCREDIT
• LMOPENREQ
• LMOPENACK
• LMASKCLOSE
8-68 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Chapter 9
Pipelining
This chapter defines pipelining requirements for LTI. It contains the following section:
• Pipelining between Manager and Subordinate interfaces on page 9-70
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. 9-69
ID100323 Non-Confidential
9 Pipelining
9.1 Pipelining between Manager and Subordinate interfaces
• All signals on each of the LA, LR, and LC channels must be pipelined by the same number of cycles as all
other signals in the same channel going in the same direction.
• LMOPENREQ must be pipelined by at least as many cycles as LAVALID, LRCREDIT, and LCVALID.
• LMOPENACK and LMASKCLOSE must each be pipelined by the same number of cycles, and both by at
least as many cycles as LACREDIT, LRVALID and LCCREDIT.
It is expected that in most implementations that require pipelining, all LTI signals that go in the same direction are
pipelined by the same number of cycles.
9-70 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix A
Considerations for AXI5
This appendix describes how to map LTI concepts onto an AXI5 interface. It contains the following sections:
• LATRANS mapping on page A-72
• LAATTR mapping on page A-73
• LAIDENT mapping on page A-74
• LRATTR mapping on page A-75
• xRESP mapping on page A-76
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. A-71
ID100323 Non-Confidential
Appendix A Considerations for AXI5
A.1 LATRANS mapping
- StashTranslation SPEC
ReadNoSnoop, ReadOnce - R
- WriteNoSnoop, WriteUniquePtl, W
WriteUniqueFull,
WriteNoSnoopFull
- AtomicLoad, AtomicSwap, RW
AtomicCompare, AtomicStorea
ReadOnceCleanInvalid - R-CMO
- WritePtlCMO,WriteFullCMO W-CMO
MakeInvalid - DCMO
ReadOnceMakeInvalid - R-DCMO
- InvalidateHint DHCMO
- StashOnceShared, DCP
StashOnceUnique
- WriteUniquePtlStash, W-DCP
WriteUniqueFullStash
- UnstashTranslation UNSPEC
a. AtomicStore operations are defined as type RW, not W, even though no read data is returned. This is required by
the SMMUv3 architecture.
The following AXI5 transactions are not supported for mapping to LTI:
• ReadShared
• ReadClean
• WriteBackFull
• WriteEvictFull
• WriteZero
• Prefetch
• WriteDeferrable
A-72 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix A Considerations for AXI5
A.2 LAATTR mapping
Table A-2 shows the recommended mapping of the AXI5 AxCACHE and AxDOMAIN signals to LAATTR
values.
When LATRANS is DCP, W-CMO, W-DCP, R-CMO, or R-DCMO, the allocation hint in LAATTR is Allocate if
the memory type in AxCACHE is Normal Non-cacheable or Write-Through.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. A-73
ID100323 Non-Confidential
Appendix A Considerations for AXI5
A.3 LAIDENT mapping
A-74 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix A Considerations for AXI5
A.4 LRATTR mapping
Table A-3 shows the recommended mapping of the LRATTR values to the AXI5 AxCACHE and AxDOMAIN
signals.
Device-nGRE
Device-GRE
It is recommended that transactions with AxBURST = FIXED are terminated with a SLVERR response. It is
recommended that Managers which are translated by an SMMU do not use the FIXED burst type.
If AxLOCK = 1, AxCACHE is not permitted to indicate a Cacheable type without additional knowledge of the
structure of the downstream interconnect. If an AXI5 transaction with AxLOCK = 1 translates to any Normal
Write-Back memory type, it is recommended that it be output with AxLOCK = 0. It is recommended that Managers
requiring semaphore-type operations use the AXI5 atomic transactions.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. A-75
ID100323 Non-Confidential
Appendix A Considerations for AXI5
A.5 xRESP mapping
LRRESP xRESP
FaultAbort SLVERR
FaultRAZWI OKAY
FaultPRI TRANSFAULT
A-76 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix A Considerations for AXI5
A.6 Transactions that are legal in AXI5 and illegal in LTI
• Write transactions marked as Instruction (AWPROT[2] = 1) are converted to Data (AWPROT[2] = 0).
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. A-77
ID100323 Non-Confidential
Appendix A Considerations for AXI5
A.7 Memory Tagging
When a transaction is received on the AR channel with ARMMUVALID HIGH, ARTAGOP must be 0b00, Invalid.
A-78 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix B
Considerations for DTI
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. B-79
ID100323 Non-Confidential
Appendix B Considerations for DTI
B.1 DTI_TBU_TRANS_REQ.PERM mapping
LATRANS DTI_TBU_TRANS_REQ.PERM
W, W-DCP W
RW, W-CMO RW
B-80 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix B Considerations for DTI
B.2 Special handling for specific LATRANS values
If DCP permission is not granted, convert LRRESP = Success into LRRESP = FaultRAZWI.
If neither R, W, or X permissions are not granted at the appropriate privilege level, convert LRRESP = Success into
LRRESP = FaultRAZWI.
If DCP permission is not granted, convert LRRESP = Success into LRRESP = Downgrade1.
If either W permission is not granted at the appropriate privilege level or DRE permission is not granted, convert
LRRESP = Success into LRRESP = Downgrade2.
Otherwise, if either W permission is not granted at the appropriate privilege level or DRE permission is not granted,
convert LRRESP = Success into LRRESP = Downgrade2.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. B-81
ID100323 Non-Confidential
Appendix B Considerations for DTI
B.2 Special handling for specific LATRANS values
The context for computing whether or not the permissions are legal is as follows, where resp represents the
DTI_TBU_TRANS_RESP message or the DTI_TBU_TRANS_RESPEX message:
Within this context, LRRESP = Success is converted into LRRESP = FaultRAZWI if the following expressions is
true:
LAMMUV && ((!effective_InD && !allow_r) || (effective_InD && !allow_x) || !allow_w || !dre)
B-82 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix B Considerations for DTI
B.3 Attribute mapping
Table B-2 shows the meanings of the abbreviations used in this section.
Abbreviation Meaning
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. B-83
ID100323 Non-Confidential
Appendix B Considerations for DTI
B.3 Attribute mapping
For transactions with Armv8 memory type Normal-iWB-oWB, the choice between No-allocate and Allocate in LTI
is chosen as follows:
Although this section defines an allocation hint for all transaction types, it is ignored by the system for many
transactions. For example:
• SPEC transactions are terminated after translation is complete, and so the allocation hint is ignored.
• CMO, R-CMO, DCMO, R-DCMO, and W-CMO transactions are designed to de-allocate memory locations
from caches and so the allocation hint is expected to be ignored by the system.
B-84 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix B Considerations for DTI
B.3 Attribute mapping
• DCP and W-DCP transactions are explicit cache allocating transactions, so the allocation hint is expected to
be ignored by the system.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. B-85
ID100323 Non-Confidential
Appendix B Considerations for DTI
B.4 DTI_TBU_TRANS_FAULT.TYPE mapping
DTI_TBU_TRANS_FAULT.TYPE LRRESP
NonAbort FaultRAZWI
Abort FaultAbort
This value of DTI_TBU_TRANS_FAULT.TYPE
does not occur when LATRANS = SPEC, DCP, or
DHCMO.
TranslationPRI FaultPRI
TranslationStall N/A
B-86 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix C
Considerations for PCIe
This appendix describes the integration for PCIe. It contains the following sections:
• PCIe integration on page C-88
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. C-87
ID100323 Non-Confidential
Appendix C Considerations for PCIe
C.1 PCIe integration
The LTI_MMU property must be True for PCIe Root Ports (RP).
Signal Description
LAVC A PCIe RP implementation is permitted, but not required, to use multiple LTI Virtual Channels
to help break protocol dependencies. See Virtual Channels on page 2-26.
Root Ports implementing LTI interfaces can be one of two types:
1. Fully Buffered. A Fully Buffered implementation can temporarily backpressure for flow
control reasons but must not require progress of downstream transactions before it can
accept responses on the LR channel. This requires implementing a buffer large enough
to accept all outstanding LR responses.
2. Backpressuring. Backpressure implementation can stop granting credits on the LR
channel when the RP cannot issue downstream transactions into the system. As a result,
LR responses are prevented from being accepted for LA requests that have already been
issued.
It is recommended that the LTI request is performed before the point of ordering in the PCIe RP,
typically using Fully Buffered implementation.
For Fully Buffered LTI implementations, posted and non-posted requests can use the same VC.
For Backpressuring LTI implementations, different Virtual Channels are used for posted and
non-posted requests to ensure that posted requests can forward progress when non-posted
requests cannot.
Different Virtual Channels can also be used for different traffic classes.
LAOGV For Fully Buffered implementations this signal is 0, because they can accept LR channel
responses in any order.
Backpressuring implementations must use order groups to ensure that posted writes remain in
order where required.
LAFLOW If the request is an ATS translated request, this signal is 1, ATST. Otherwise this signal is 2,
NoStall.
LASID LASID[15:0] is the Requester ID, otherwise known as BDF (Bus, Device, Function).
Higher-order bits of LASID uniquely identify the PCIe segment in the StreamID space that is
used by the SMMU.
LASSIDV If the request has a PASID header, this signal is 1. Otherwise, the signal is 0.
C-88 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix C Considerations for PCIe
C.1 PCIe integration
Signal Description
LANSE This signal is the same as the T bit in the TLP. If T is 0, the PAS will be Non-secure. If T is 1,
the PAS will be Realm.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. C-89
ID100323 Non-Confidential
Appendix C Considerations for PCIe
C.1 PCIe integration
C-90 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix D
Interoperability
This appendix describes how to connect interfaces with different properties. It contains the following sections:
• Interface operability on page D-92
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. D-91
ID100323 Non-Confidential
Appendix D Interoperability
D.1 Interface operability
Table D-1 Compatibiltiy between LTI-A Manager and Subordinate interfaces with LTI-B Subordinate
LTI-A
LTI-B Subordinate
Subordinate
D-92 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix D Interoperability
D.1 Interface operability
Table D-2 shows the compatibility between LTI-B Manager and LTI-B Subordinate interfaces, according to the
values of LTI_MMU and LTI-GPC properties.
LTI-B Subordinate
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. D-93
ID100323 Non-Confidential
Appendix D Interoperability
D.1 Interface operability
D-94 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix E
Signal list
This appendix describes which signals are present on LTI-A and LTI-B interfaces. It contains the following sections:
• Signal list on page E-96
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. E-95
ID100323 Non-Confidential
Appendix E Signal list
E.1 Signal list
Table E-1 shows the signal presence and validity in the permitted combinations. The following key is used:
Y Signal is present and valid
I Signal is present but not valid
N Signal not present
Table E-1 LTI-A and LTI-B permitted signal and property combinations
LTI-A LTI-B
LTI_GPC 0 0 1 1 1
LTI_MMU 1 1 1 1 0
LAMMUV N 1 0 1 0 0
LAVALID Y Y Y Y Y Y
LAVC Y Y Y Y Y Y
LACREDIT Y Y Y Y Y Y
LAID Y Y Y Y Y Y
LAOGV Y Y Y Y Y Y
LAOG Y Y Y Y Y Y
LAFLOW Y Y I Y I N
LAIDENT N Y I Y I N
LASECSID Y Y I Y I N
LASID Y Y I Y I N
LASSIDV Y Y I Y I N
LASSID Y Y I Y I N
LAPROT[2] Y Y I Y I N
LAPROT[1] Y Y Y Y Y Y
LAPROT[0] Y Y I Y I N
LANSE N N N Y Y Y
LAADDR[63:LTI_LRADDR_WIDTH] Y Y Y Y Y N
LAADDR[LTI_LRADDR_WIDTH-1:0] Y Y Y Y Y Y
LATRANS Y Y Y Y Y Y
LAATTR Y Y Y Y Y Y
LALOOP Y Y Y Y Y Y
LATLBLOC Y Y Y Y Y Y
LAHWATTR N Y Y Y Y Y
E-96 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix E Signal list
E.1 Signal list
Table E-1 LTI-A and LTI-B permitted signal and property combinations (continued)
LTI-A LTI-B
LTI_GPC 0 0 1 1 1
LTI_MMU 1 1 1 1 0
LAMMUV N 1 0 1 0 0
LAMECID N I I I Y Y
LAUSER Y Y Y Y Y Y
LRVALID Y Y Y Y Y Y
LRVC Y Y Y Y Y Y
LRCREDIT Y Y Y Y Y Y
LRID Y Y Y Y Y Y
LRCTAG Y Y Y Y Y Y
LRRESP Y Y Y Y Y Y
LRPROT[2] Y Y I Y I N
LRPROT[1] Y Y Y Y Y Y
LRPROT[0] Y Y I Y I N
LRNSE N N N Y Y Y
LRADDR Y Y Y Y Y Y
LRATTR Y Y Y Y Y Y
LRHWATTR Y Y Y Y Y Y
LRMPAM Y Y Y Y Y Y
LRMECID N Y Y Y Y Y
LRLOOP Y Y Y Y Y Y
LRUSER Y Y Y Y Y Y
The completion channel signals LC* and interface management signals LM* are present in all of the configurations
listed in Table E-1.
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. E-97
ID100323 Non-Confidential
Appendix E Signal list
E.1 Signal list
E-98 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323
Appendix F
Revisions
This appendix describes the technical changes between related issues of this specification.
Change Location
Change Location
Support for Realm Management Extension (RME): Table 3-1 on page 3-32
• Root and Realm address spaces Chapter 4 Request channel
• Granule Protection Check (GPC) Chapter 5 Response channel
Support for Memory Encryption Contexts (MEC) Table 3-1 on page 3-32
Chapter 4 Request channel
Chapter 5 Response channel
ARM IHI0089B Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. F-99
ID100323 Non-Confidential
Appendix F Revisions
Change Location
F-100 Copyright © 2020, 2021, 2023 Arm Limited or its affiliates. All rights reserved. ARM IHI0089B
Non-Confidential ID100323