
ERR003759
Chip Errata for the i.MX 6Dual/6Quad and i.MX 6DualPlus/6QuadPlus, Rev. 6.1, 06/2016
NXP Semiconductors
151
Description:
Outbound TLPs created at the vendor message interface (VMI) or the MSI interface are always
subject to translation by the iATU. In PCI Express block configurations with an AHB/AXI
interface and a 32-bit slave address bus width, the iATU incorrectly only considers the lower 32
bits of the 64-bit VMI or MSI address, when determining whether to translate the outbound TLP
or not.
The VMI always uses 64 bits of the vend_msg_data input. These 64 bits of data are placed in DW3
and DW4 of the message TLP header and are treated by the iATU as an address.
When the lower 32 bits on vend_msg_data match an enabled iATU region, then the resulting TLP
is incorrectly translated, regardless of the upper 32 bits. All of the 64-bits should have been
checked in the iATU.
Following is an example scenario for this erratum with respect to VMI interface:
1. Setup any outbound iATU region (any type, any target address)
2. Send a message using VMI where the lower 32 bits of the message match the iATU region
3. The resulting Vendor Message TLP will be translated by the iATU regardless of the value of
the upper 32 bits on vend_msg_data
Following is an example scenario for this erratum with respect to MSI interface:
1. Setup any outbound iATU region of any type where the lower 32 bits of the base address of the
region match the lower 32 bits of the MSI address for any function within the device
2. Stimulate a MSI request
3. The resulting TLP will match the iATU region target specification and not the MSI address of
the function
Projected Impact:
Messages are overwritten
Workarounds:
Program an iATU region to generate the MSI and then write to that region to generate the message.
Proposed Solution:
No fix scheduled
Linux BSP Status:
Software workaround not implemented in Linux BSP. Functionality or mode of operation in which
the erratum may manifest itself is not used.
ERR003759
PCIe: 9000439510—Internal Address Translation Unit (iATU) can
sometimes overwrite Outbound (Tx) Vendor Messages and MSIs