SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
The Root Port inbound PCIe to AXI address translation is performed on memory and IO TLPs. The selection of which address translation registers to use in the translation process is dependent on the BAR match of the incoming TLP. In Root Port mode there are 2 bars, so BAR 0 and BAR1 registers are implemented. There is a BAR7 register which is used as a no match BAR address translation register. In Root Port mode there are 2 bars but a BAR value of 7 will be indicated by HAL2AXI when BAR matching is disabled. Any address that does not match the Root Port BARs will be sent out as a BAR7 TLP. Each BAR register is implemented as two 32-bit registers which are named addr0 and addr1. The "Root Port Inbound PCIe to AXI Address Translation Logic" takes the upper bits from the "Root Port Inbound PCIe to AXI Address Translation Registers" and the lower bits are taken from the inbound PCIe address to form the AXI address. An addr0 [5:0] + 1 number of lower bits are passed from the inbound PCIe address to AXI address. In other words, the number of bits taken from anbound PCIe address is given by the addr0[5:0] + 1 value.
A set of registers corresponding to one Root Port BAR is shown in Table 12-121.
Register Name | Bits | Description | Default Value |
---|---|---|---|
addr1 (where BAR can be bar0, bar1 or bar7) | 31:0 | Upper [63:32] bits of the AXI address. | 32'd0 |
addr0 (where BAR can be bar0, bar1 or bar7) | 31:8 | Lower [31:8] bits of the AXI address. | 24'd0 |
7:6 | Reserved | 2'd0 | |
5:0 | Number of address bits passed through from PCIe to AXI. The PCIe controller passes the programmed value + 1 bits from PCIe to AXI. Minimum value to be programmed into this field is 7 as the lower 8 bits of the base address programmed in these registers (AXI) are replaced by zeros by the Root Port Inbound PCIe to AXI Address Translation Logic. | 6'd0 |