summaryrefslogtreecommitdiffstats
path: root/EmbeddedPkg/Universal/MmcDxe/Mmc.h
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@linaro.org>2016-11-23 21:36:22 +0800
committerArd Biesheuvel <ard.biesheuvel@linaro.org>2016-11-24 16:29:03 +0000
commite06253ba80d93bceaefc182ca882e07b0463be8d (patch)
tree8264bdbc1799c8e95400a89e2b4a0beef66a9f36 /EmbeddedPkg/Universal/MmcDxe/Mmc.h
parent752ae80514ccb3532a6d6d16a122642573eabdee (diff)
downloadedk2-e06253ba80d93bceaefc182ca882e07b0463be8d.tar.gz
edk2-e06253ba80d93bceaefc182ca882e07b0463be8d.tar.bz2
edk2-e06253ba80d93bceaefc182ca882e07b0463be8d.zip
EmbeddedPkg/MmcDxe: set I/O speed and bus width in SD stack
Add more SD commands to support 4-bit bus width & iospeed. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Tested-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Diffstat (limited to 'EmbeddedPkg/Universal/MmcDxe/Mmc.h')
-rw-r--r--EmbeddedPkg/Universal/MmcDxe/Mmc.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/EmbeddedPkg/Universal/MmcDxe/Mmc.h b/EmbeddedPkg/Universal/MmcDxe/Mmc.h
index fb3f6c9cba..c96ff2e12d 100644
--- a/EmbeddedPkg/Universal/MmcDxe/Mmc.h
+++ b/EmbeddedPkg/Universal/MmcDxe/Mmc.h
@@ -81,6 +81,22 @@ typedef struct {
} OCR;
typedef struct {
+ UINT8 SD_SPEC: 4; // SD Memory Card - Spec. Version [59:56]
+ UINT8 SCR_STRUCTURE: 4; // SCR Structure [63:60]
+ UINT8 SD_BUS_WIDTHS: 4; // DAT Bus widths supported [51:48]
+ UINT8 DATA_STAT_AFTER_ERASE: 1; // Data Status after erases [55]
+ UINT8 SD_SECURITY: 3; // CPRM Security Support [54:52]
+ UINT8 EX_SECURITY_1: 1; // Extended Security Support [43]
+ UINT8 SD_SPEC4: 1; // Spec. Version 4.00 or higher [42]
+ UINT8 RESERVED_1: 2; // Reserved [41:40]
+ UINT8 SD_SPEC3: 1; // Spec. Version 3.00 or higher [47]
+ UINT8 EX_SECURITY_2: 3; // Extended Security Support [46:44]
+ UINT8 CMD_SUPPORT: 4; // Command Support bits [35:32]
+ UINT8 RESERVED_2: 4; // Reserved [39:36]
+ UINT32 RESERVED_3; // Manufacturer Usage [31:0]
+} SCR;
+
+typedef struct {
UINT32 NOT_USED; // 1 [0:0]
UINT32 CRC; // CRC7 checksum [7:1]
UINT32 MDT; // Manufacturing date [19:8]