Part Number: AM5749
I have an AM5749 on a custom board (SOM + custom board) that is plugging into a host PC as root complex with the device in endpoint mode.
I have a Linux endpoint driver that is able to establish the link and configure the first four bars (BAR0 through BAR3) and I am not attempting to use BAR4 or BAR5. Yet the value for BAR4 as seen from the host is 0x0000008 which apparently means prefetchable but otherwise unassigned. Using "lspci" from the Linux host reports "Region 4: Memory at <unassigned> (32-bit, prefetchable)". Using EFI shell from BIOS reports the value 0x00000008.
This is not a major issue when the host PC is Linux, but for a Windows host I believe this is causing some heartburn. I think it can be overcome and I am exploring that option but I would prefer to fix it on the endpoint side if possible.
My first question is, is this normal?
I am not an expert when it comes to the software stack, but I had tried pci_epc_clear_bar on BAR4 and BAR5 within the EPF bind operation and it had no effect.
Where should I be looking to either avoid assigning the incorrect value, or try to overwrite the incorrect value with all zeroes?