sdps: Added support for SD Card v1.0

This patch adds support for version 1.0 SD Cards.

Signed-off-by: P L Sai Krishna <lakshmis@xilinx.com>
This commit is contained in:
P L Sai Krishna 2015-01-09 14:40:47 +05:30 committed by Nava kishore Manne
parent ba8cacf8f0
commit 478130eeb4
2 changed files with 11 additions and 2 deletions

View file

@ -54,6 +54,7 @@
* WP/CD. CR# 810655.
* Checked for DAT Inhibit mask instead of CMD
* Inhibit mask in Cmd Transfer API.
* Added Support for SD Card v1.0
*
* </pre>
*
@ -314,8 +315,10 @@ int XSdPs_SdCardInitialize(XSdPs *InstancePtr)
RespOCR = XSdPs_ReadReg(InstancePtr->Config.BaseAddress,
XSDPS_RESP0_OFFSET);
if (RespOCR != XSDPS_CMD8_VOL_PATTERN) {
Status = XST_FAILURE;
goto RETURN_PATH;
InstancePtr->CardType = CT_SD1;
}
else {
InstancePtr->CardType = CT_SD2;
}
RespOCR = 0;
@ -1021,6 +1024,7 @@ int XSdPs_MmcCardInitialize(XSdPs *InstancePtr)
goto RETURN_PATH;
}
InstancePtr->CardType = CT_MMC;
RespOCR = 0;
/*
* Send CMD1 while card is still busy with power up

View file

@ -112,6 +112,7 @@
* WP/CD. CR# 810655.
* Checked for DAT Inhibit mask instead of CMD
* Inhibit mask in Cmd Transfer API.
* Added Support for SD Card v1.0
*
* </pre>
*
@ -133,6 +134,9 @@ extern "C" {
#define XSDPS_CLK_400_KHZ 400000 /**< 400 KHZ */
#define XSDPS_CLK_50_MHZ 50000000 /**< 50 MHZ */
#define CT_MMC 0x1 /**< MMC Card */
#define CT_SD1 0x2 /**< SD ver 1 */
#define CT_SD2 0x3 /**< SD ver 2 */
/**************************** Type Definitions *******************************/
/**
* This typedef contains configuration information for the device.
@ -166,6 +170,7 @@ typedef struct {
u32 HCS; /**< High capacity support in card */
u32 CardID[4]; /**< Card ID */
u32 RelCardAddr; /**< Relative Card Address */
u32 CardType; /**< Card Type(version) */
/**< ADMA Descriptors */
#ifdef __ICCARM__
#pragma data_alignment = 32