]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EmbeddedPkg/Universal/MmcDxe/Mmc.h
MmcDxe: Adding eMMC support
[mirror_edk2.git] / EmbeddedPkg / Universal / MmcDxe / Mmc.h
index 2904d91484116f497791626724ef4e5e1479f010..e84c3c1cdf1b803df5cc70732ba06c20a4b71e5e 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Main Header file for the MMC DXE driver\r
 \r
-  Copyright (c) 2011, ARM Limited. All rights reserved.\r
+  Copyright (c) 2011-2014, ARM Limited. All rights reserved.\r
   \r
   This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
@@ -24,6 +24,7 @@
 #include <Protocol/MmcHost.h>\r
 \r
 #include <Library/UefiLib.h>\r
+#include <Library/DebugLib.h>\r
 \r
 #define MMC_TRACE(txt)  DEBUG((EFI_D_BLKIO, "MMC: " txt "\n"))\r
 \r
@@ -57,6 +58,7 @@ typedef enum {
   UNKNOWN_CARD,\r
   MMC_CARD,              //MMC card\r
   MMC_CARD_HIGH,         //MMC Card with High capacity\r
+  EMMC_CARD,             //eMMC 4.41 card\r
   SD_CARD,               //SD 1.1 card\r
   SD_CARD_2,             //SD 2.0 or above standard card\r
   SD_CARD_2_HIGH         //SD 2.0 or above high capacity card\r
@@ -69,7 +71,7 @@ typedef struct {
   UINT32  V270_V360:   9; // 2.70V - 3.60V\r
   UINT32  RESERVED_1:  5; // Reserved\r
   UINT32  AccessMode:  2; // 00b (byte mode), 10b (sector mode) \r
-  UINT32  Busy:        1; // This bit is set to LOW if the card has not finished the power up routine\r
+  UINT32  PowerUp:     1; // This bit is set to LOW if the card has not finished the power up routine\r
 } OCR;\r
 \r
 typedef struct {\r
@@ -288,4 +290,47 @@ MmcFlushBlocks (
   IN EFI_BLOCK_IO_PROTOCOL  *This\r
   );\r
 \r
+EFI_STATUS\r
+MmcNotifyState (\r
+  IN MMC_HOST_INSTANCE      *MmcHostInstance,\r
+  IN MMC_STATE               State\r
+  );\r
+\r
+EFI_STATUS\r
+InitializeMmcDevice (\r
+  IN  MMC_HOST_INSTANCE     *MmcHost\r
+  );\r
+\r
+VOID\r
+EFIAPI\r
+CheckCardsCallback (\r
+  IN  EFI_EVENT   Event,\r
+  IN  VOID        *Context\r
+  );\r
+\r
+VOID\r
+PrintCSD (\r
+  IN UINT32* Csd\r
+  );\r
+\r
+VOID\r
+PrintRCA (\r
+  IN UINT32 Rca\r
+  );\r
+\r
+VOID\r
+PrintOCR (\r
+  IN UINT32 Ocr\r
+  );\r
+\r
+VOID\r
+PrintResponseR1 (\r
+  IN  UINT32 Response\r
+  );\r
+\r
+VOID\r
+PrintCID (\r
+  IN UINT32* Cid\r
+  );\r
+\r
 #endif\r