mirror of https://github.com/acidanthera/audk.git
EmbeddedPkg/MmcDxe: Fixed MmcIdentificationMode()
The condition to check if the card is ready was not correct. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13583 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
7d77584763
commit
492e34a590
|
@ -69,7 +69,7 @@ typedef struct {
|
||||||
UINT32 V270_V360: 9; // 2.70V - 3.60V
|
UINT32 V270_V360: 9; // 2.70V - 3.60V
|
||||||
UINT32 RESERVED_1: 5; // Reserved
|
UINT32 RESERVED_1: 5; // Reserved
|
||||||
UINT32 AccessMode: 2; // 00b (byte mode), 10b (sector mode)
|
UINT32 AccessMode: 2; // 00b (byte mode), 10b (sector mode)
|
||||||
UINT32 Busy: 1; // This bit is set to LOW if the card has not finished the power up routine
|
UINT32 PowerUp: 1; // This bit is set to LOW if the card has not finished the power up routine
|
||||||
} OCR;
|
} OCR;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/** @file
|
/** @file
|
||||||
*
|
*
|
||||||
* Copyright (c) 2011, ARM Limited. All rights reserved.
|
* Copyright (c) 2011-2012, ARM Limited. All rights reserved.
|
||||||
*
|
*
|
||||||
* This program and the accompanying materials
|
* This program and the accompanying materials
|
||||||
* are licensed and made available under the terms and conditions of the BSD License
|
* are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
@ -252,7 +252,7 @@ MmcIdentificationMode (
|
||||||
DEBUG ((EFI_D_ERROR, "Not a SD2.0 Card\n"));
|
DEBUG ((EFI_D_ERROR, "Not a SD2.0 Card\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// We need to wait for the MMC or SD card is ready => (gCardInfo.OCRData.Busy == 1)
|
// We need to wait for the MMC or SD card is ready => (gCardInfo.OCRData.PowerUp == 1)
|
||||||
Timeout = MAX_RETRY_COUNT;
|
Timeout = MAX_RETRY_COUNT;
|
||||||
while (Timeout > 0) {
|
while (Timeout > 0) {
|
||||||
// SD Card or MMC Card ? CMD55 indicates to the card that the next command is an application specific command
|
// SD Card or MMC Card ? CMD55 indicates to the card that the next command is an application specific command
|
||||||
|
@ -287,7 +287,7 @@ MmcIdentificationMode (
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!EFI_ERROR(Status)) {
|
if (!EFI_ERROR(Status)) {
|
||||||
if (MmcHostInstance->CardInfo.OCRData.Busy == 0) {
|
if (!MmcHostInstance->CardInfo.OCRData.PowerUp) {
|
||||||
MicroSecondDelay(1);
|
MicroSecondDelay(1);
|
||||||
Timeout--;
|
Timeout--;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue