]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EmbeddedPkg/Universal/MmcDxe/Mmc.h
EmbeddedPkg/MmcDxe: Fix the indexes in the response array
[mirror_edk2.git] / EmbeddedPkg / Universal / MmcDxe / Mmc.h
index 44ad585bbafca2fe74182f20fdb1ed847cdb5a3c..2904d91484116f497791626724ef4e5e1479f010 100644 (file)
 \r
 #define MMC_OCR_POWERUP             0x80000000\r
 \r
-#define MMC_CSD_GET_CCC(Response)    (Response[1] >> 20)\r
-#define MMC_CSD_GET_TRANSPEED(Response)    (Response[0] & 0xFF)\r
-#define MMC_CSD_GET_READBLLEN(Response)    ((Response[1] >> 16) & 0xF)\r
-#define MMC_CSD_GET_WRITEBLLEN(Response)  ((Response[3] >> 22) & 0xF)\r
-#define MMC_CSD_GET_FILEFORMAT(Response)  ((Response[3] >> 10) & 0x3)\r
-#define MMC_CSD_GET_FILEFORMATGRP(Response)  ((Response[3] >> 15) & 0x1)\r
-#define MMC_CSD_GET_DEVICESIZE(csd)         (((Response[2] >> 30) & 0x3) | ((Response[1] & 0x3FF) << 2))\r
-#define MMC_CSD_GET_DEVICESIZEMULT(csd)     ((Response[2] >> 15) & 0x7)\r
+#define MMC_CSD_GET_CCC(Response)    (Response[2] >> 20)\r
+#define MMC_CSD_GET_TRANSPEED(Response)    (Response[3] & 0xFF)\r
+#define MMC_CSD_GET_READBLLEN(Response)    ((Response[2] >> 16) & 0xF)\r
+#define MMC_CSD_GET_WRITEBLLEN(Response)  ((Response[0] >> 22) & 0xF)\r
+#define MMC_CSD_GET_FILEFORMAT(Response)  ((Response[0] >> 10) & 0x3)\r
+#define MMC_CSD_GET_FILEFORMATGRP(Response)  ((Response[0] >> 15) & 0x1)\r
+#define MMC_CSD_GET_DEVICESIZE(csd)         (((Response[1] >> 30) & 0x3) | ((Response[2] & 0x3FF) << 2))\r
+#define HC_MMC_CSD_GET_DEVICESIZE(Response)    ((Response[1] >> 16) | ((Response[2] & 0x40) << 16));\r
+#define MMC_CSD_GET_DEVICESIZEMULT(csd)     ((Response[1] >> 15) & 0x7)\r
+\r
+#define MMC_R0_READY_FOR_DATA               (1 << 8)\r
 \r
 #define MMC_R0_CURRENTSTATE(Response)       ((Response[0] >> 9) & 0xF)\r
 \r
@@ -144,6 +147,8 @@ typedef struct _MMC_HOST_INSTANCE {
   EFI_BLOCK_IO_PROTOCOL     BlockIo;\r
   CARD_INFO                 CardInfo;\r
   EFI_MMC_HOST_PROTOCOL     *MmcHost;\r
+  \r
+  BOOLEAN                   Initialized;\r
 } MMC_HOST_INSTANCE;\r
 \r
 #define MMC_HOST_INSTANCE_SIGNATURE                 SIGNATURE_32('m', 'm', 'c', 'h')\r