In ARM MMU-based systems, DTI protocol defines a standard way to communicate with Translation Control Unit (TCU). DTI protocol is a point-to-point protocol with each channel defining a link. The communication with TCU will be from two different components, and DTI protocol defines both.
- Communication between Translation Buffer Unit (TBU) and TCU (DTI-TBU Protocol)
- Communication between PCIe Root Complex and TCU (DTI-ATS Protocol)
DTI-TBU
The communication between TBU and TCU will be through multiple request and response commands or messages. Once the connection is established between TBU and TCU, the TBU investigates the transactions that need translation and translates the addresses of those transactions. The TBU requests TCU for the translation. The TCU does a Page Table walk and provides translations to TBU. Once translations are received, TBU cashes those translations for use by other transactions. The TCU can communicate with the TBU to invalidate the cached translations when necessary.
The request sent by the TBU includes the Input Address for which the TCU responds with Physical Address and related memory attributes on successful translation.
DTI-ATS
In case of PCIe Root Complex, a PCIe Root Port with Address Translation Services (ATS) support communicates directly with the TCU to retrieve ATS translations. It then uses TBU to translate transactions that are not already translated using ATS or perform stage 2 translation for transactions that have been subject to stage 1 translation using ATS or ensure only trusted PCIe endpoints can issue transactions by performing a security check.
The DTI protocol can be conveyed over different transport layers. Transport layers will be responsible for indicating the source and destination of the messages. It also maintains link level flow control. The transport layer doesn’t reorder or interleave the messages.
Cadence AMBA-DTI VIP provides a complete solution in the following modes.
- Back to Back mode, where there will not be any transport layer. The TBU/ATS and the TCU communicate directly using callback interface.
- AXI4-Stream Transport Layer mode, where Stream VIP is used as a transport layer.
Cadence AMBA-DTI VIP solution also provides a Page Table walk-in TCU agent. The user can load Page Table entries and DTI-TCU VIP does Page Table walk and provides an actual Physical Address.
More information on Cadence VIP is available on the Cadence VIP Website.