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.

K2E EVM PCIe RC mode IO access hangs



Hi Experts,

I'm trying to the IO address spaces of the 88SE9182A on K2E EVM,

But when reading/writing to the IO BAR addresses, the system hangs.

The access to the IO address spaces of another similar PCIe card -- 88SE9128 on another ARM board is OK.

The BARs settings for 88SE9182A are as below:

BAR0 =              0x00000019
BAR1 =              0x00000025
BAR2 =              0x00000011
BAR3 =              0x00000021
BAR4 =              0x00000001

And the configurations in Keystone PCIe controller are as following:

IOBASE = 0x00000000

SECSTAT(Secondary Status and IO Base/Limit Register) = 0x01f1(0x1101 has also been tried, but no improvement)
IOSPACE = 0xfffff(0x0000 has also been tried, but no improvement).

The  instruction used to access the IO space is "ldr    r0, [r1]", where the r1 has a value of the virtual address that is mapped to 0x21023000 adding the offset to the BARx, e.g., when accessing to BAR0 address range, r1 has a value of the virtual address of 0x21023019.

I have also tried to set IO_SP bit(Bit 0 in STATUS_COMMAND register) to 1, but that doesn't help.

Can anyone point out what I miss?

Thank you!

Best Regards,

Guohu