From: Jan Dąbroś <j...@semihalf.com>

In order to force SD stack to use PIO mode, PcdSdForcePioMode flag is
added. If it's set, driver will use this mode regardless controller
capabilities.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jan Dabros <j...@semihalf.com>
Signed-off-by: Marcin Wojtas <m...@semihalf.com>
---
 MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf | 2 ++
 MdePkg/MdePkg.dec                   | 7 +++++++
 2 files changed, 9 insertions(+)

diff --git a/MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf 
b/MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf
index 6f5e6ca..31b78ed 100644
--- a/MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf
+++ b/MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf
@@ -64,3 +64,5 @@
   ## BY_START
   gEfiDevicePathProtocolGuid
 
+[FeaturePcd]
+  gEfiMdePkgTokenSpaceGuid.PcdSdForcePioMode
diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec
index 458d568..b05f3ed 100644
--- a/MdePkg/MdePkg.dec
+++ b/MdePkg/MdePkg.dec
@@ -1689,6 +1689,13 @@
   # @Prompt Validate ORDERED_COLLECTION structure
   
gEfiMdePkgTokenSpaceGuid.PcdValidateOrderedCollection|FALSE|BOOLEAN|0x0000002a
 
+  ## Indicates if PIO mode should be used for data transfer with SD devices.
+  #  If this flag isn't set, DMA modes will be used.
+  #   TRUE  - PIO mode will be forced for transfer with SD devices. <BR>
+  #   FALSE - PIO mode won't be forced for transfer with SD devices. <BR>
+  # @Prompt Force PIO mode for data transfer with SD devices
+  gEfiMdePkgTokenSpaceGuid.PcdSdForcePioMode|FALSE|BOOLEAN|0x10000029
+
 [PcdsFixedAtBuild]
   ## Status code value for indicating a watchdog timer has expired.
   # EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_TIMER_EXPIRED
-- 
1.8.3.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to