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