This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
We've received a question about PCIe configuration from my customer. Could you help to answer their question below ?
Is it possible to arbitrarily set the address space to either 32-bit or 64-bit when accessing outbound memory space?
As for the background of the question, they tried read/write access to the PCIe target board, but they could not access the memory space even though they could access the configuration space.
They think the big difference between the config space and the memory space is that the header is only 3DW (address is 32bit type only) in the case of config space access.
The target board which they’re using is an old board. It was originally intended for legacy PCI bus, and they are converting to PCIe via a bridge IC. When the outbound memory space is set to 32-bit address, they tried to confirm if it will affect accessibility. However, when configuring PCIe settings with the sysconfig tool, there was no setting item to select 32bit/64bit address bits for TLC in memory space (there was a setting on the inbound side).
Since the target address setting of the outbound setting on sysconfig is divided into Upper and Lower, they think that the address is 64bit by default, but what do you think ?
Thanks and regards,
Hideaki
Hello Hideaki-san,
I will check on this further and get back to you tomorrow.
Thank you,
Anita
Hi Hideaki-san,
Apologize for the delay. For changing the memory space through AXI address, the addresses 12.2.2.5.1.59 and 12.2.2.5.1.60 from the TRM can be used to select 32 vs 64 bit. I am following up to confirm if 64 bit is default but this is my understanding.
Thank you,
Anita
There is no register to directly set 32b/64b access type for outbound region
The NUM_BITS field in "PCIE0_atu_wrapper_ob_0_addr0" is calculated from the Window size specified from syscfg