Hi,
On top of latest NonDiscoverable PciEmulation support I submit the last significant part of the platform support, which is SD/MMC driver. It is based on SDHCI, but requires a lot of quirks, not supported in EDK2. This is why SdMmcPciHcDxe driver had to be imported and modified.
Details can be found in commit logs and comments inside code. Due to some reasons operation with DMA enabled didn't succeed, hence the PassThru had to be reworked in order to support PIO mode.
Code is also available in the github: https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/opp-...
We are looking forward to any comments or remarks.
Best regards, Marcin
Jan Dąbroś (3): Drivers/SdMmc: Import SdMmcPciHcDxe driver Drivers/SdMmc: Adjust SdMmcPciHcDxe to fulfill Xenon controller demands Platforms/Marvell: Enable SD/MMC stack for Armada70x0 platforms
Marcin Wojtas (1): Platforms/Marvell: Enable SD/MMC for Armada70x0 board
Drivers/SdMmc/MvSdMmcPciHcDxe.c | 1780 +++++++++++++++++++++++++++++++ Drivers/SdMmc/MvSdMmcPciHcDxe.inf | 75 ++ Drivers/SdMmc/XenonSdhci.c | 661 ++++++++++++ Drivers/SdMmc/XenonSdhci.h | 278 +++++ Platforms/Marvell/Armada/Armada.dsc.inc | 5 + Platforms/Marvell/Armada/Armada70x0.dsc | 1 + Platforms/Marvell/Armada/Armada70x0.fdf | 7 +- 7 files changed, 2806 insertions(+), 1 deletion(-) create mode 100755 Drivers/SdMmc/MvSdMmcPciHcDxe.c create mode 100644 Drivers/SdMmc/MvSdMmcPciHcDxe.inf create mode 100755 Drivers/SdMmc/XenonSdhci.c create mode 100644 Drivers/SdMmc/XenonSdhci.h