I think the entire ret = ...
and the if
statement below it needs to be commented. Otherwise ret
seems to be initialized to an error some lines above. It didn’t work for me though.
What worked for me to get past the litepcie 0000:01:00.0: arch assigned 64-bit MSI address 0xffffffe000 but device only supports 32 bits
error is adding this to the config.txt
:
dtoverlay=pciex1-compat-pi5,no-mip
.From its documentation: Revert to the MSI target in the RC, instead of the MSI-MIP peripheral. Use if a) more than 8 interrupt vectors are required or b) the EP requires DMA and MSI addresses to be 32bit. The latter sounds related.
It allowed to get past this error, and allowed lineDevice
to find the device. Unfortunately, the basicRX
still didn’t work, as the litepcie_mmap()
returned an error: litepcie 0000:01:00.0: mmap io_remap_pfn_range failed -22
. Maybe some further work needed, or, maybe is related on some other quirk I have.
@masefi Does the lspci
show XTRX after every reboot? For me it is super unreliable, it might take manu reboots to make XTRX listed there. And it only happens on RPi5, using XTRX on CM4 IO board works reliably. So doesn’t seem related on the XRTX itself.