Hi,
I send v4 of PciEmulation, which base on NonDiscoverablePciDeviceDxe driver: [PATCH v3 0/5] MdeModulePkg: add support for non-discoverable devices
Because I was forced to adapt registration of the devices after yesterday's patchset from Ard, I didn't want to add another string-based PCD (with mem region size), so basically entire PciEmulation was re-written. String parsing removed and added Armada 70x0 XHCI/AHCI/SDHCI description in a static structure.
This allowed to clean init sequence and use single PCD per interface type.
Code is also available in the github: https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/opp-...
Tested on XHCI and SDHCI. New board is still on it's way, so we have to wait for AHCI verification.
I'm looking forward to your review.
Best regards, Marcin
Changelog v3 -> v4 * Remove Pcd string parsing * Add HW description structure * Rewrite driver * Adjust documentation
v2 -> v3
* Use static globals for PCD-related variables * Check with 'if' in runtime if they are correct * Return error on each kind of failure * Don't use arrays of DmaTypes/DevTypes for registering NonDiscoverableDevices * Remove redundant protocols, includes, libraries * Add reviewed-by in patches 2-6
v1 -> v2
* Move to NonDiscoverablePciDeviceDxe
Jan Dąbroś (3): Platforms/Marvell: Enable PciEmulation driver for Armada70x0 platform Platforms/Marvell: Enable USB stack for Armada70x0 platform Platforms/Marvell: Enable SATA stack for Armada70x0 platform
Marcin Wojtas (3): Platforms/Marvell: Add PciEmulation driver Platforms/Marvell: Enable two xHCI ports for Armada70x0 board Platforms/Marvell: Enable SATA port for Armada70x0 board
.../Marvell/PortingGuide/PciEmulation.txt | 31 +++ Platforms/Marvell/Armada/Armada.dsc.inc | 19 ++ Platforms/Marvell/Armada/Armada70x0.dsc | 7 + Platforms/Marvell/Armada/Armada70x0.fdf | 18 ++ Platforms/Marvell/Marvell.dec | 5 + Platforms/Marvell/PciEmulation/PciEmulation.c | 221 +++++++++++++++++++++ Platforms/Marvell/PciEmulation/PciEmulation.inf | 61 ++++++ 7 files changed, 362 insertions(+) create mode 100644 Documentation/Marvell/PortingGuide/PciEmulation.txt create mode 100644 Platforms/Marvell/PciEmulation/PciEmulation.c create mode 100644 Platforms/Marvell/PciEmulation/PciEmulation.inf