intel/FdtBusPkg

Implement DT-aware PciHostBridgeDxe.

andreiw opened this issue · 2 comments

Today FdtBusPkg provides a PciHostBridgeLib (PciHostBridgeLibEcam), for use with MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf, which is somewhat limited:

  • Only one RC node is supported.
  • Not driver-binding based.
  • No support for non-cache coherent or strange DMA ranges.

See #11, #2, #3, #4, #5.

Partially resolved by ec866ed

Uses DT I/O Reg* API to service config space and BAR reads/writes.

  • Does NOT use the DT I/O DMA API yet.
  • Supports multiple RCs (first segment seen is set up as the PciLib
    one for compat... first segment with IO space sets PcdPciIoTranslation).
  • Does NOT support ResourceAssigned unlike PciHostBridgeDxe
  • Is simpler (I think?)
  • The ECAM parts will be factored out into a library, so that
    the driver may be used with crazy platforms (e.g. Pi 4)

Now uses DMA API (but does not support non-coherent RCs yet)

982ea72