edk2-rk3588
edk2-rk3588 copied to clipboard
No support for PCIe switches when booted with ACPI
Need to investigate and see what workarounds are available in each OS.
At quick glance, Linux does have custom ECAM accessors for Synquacer and Armada. Can this bind to ACPI somehow?
Windows overall support is still a big question mark due to other unknown issues, but it is actually possible to expose both the root port and full config space via separate MCFG entries on the same segment, with "NXPMX6" set as OEMID for FADT. The only drawback seems to be that this forces BAR space allocations to happen in the 32-bit MMIO window, which is much smaller.
Another thing to consider is the Arm DEN0115A spec which describes implementing config space accessors exposed through SMC (so that's ATF territory).
Linux had refused supporting this, but I've heard it's supported in ESXi and some BSD variants.
For Windows and Linux: 4b915e69f56112d9317bd52f0688c8928723c87a
There's the PCI SMC left to be implemented in TF-A for BSDs and ESXi.