sdps
Vitis Drivers API Documentation
|
Data Structures | |
struct | XSdPs_Config |
This typedef contains configuration information for the device. More... | |
struct | __attribute__ |
ADMA2 32-Bit descriptor table. More... | |
struct | __attribute__ |
ADMA2 32-Bit descriptor table. More... | |
struct | XSdPs |
The XSdPs driver instance data. More... | |
Macros | |
#define | XSDPS_CT_ERROR 0x2L |
Command timeout flag. More... | |
#define | MAX_TUNING_COUNT 40U |
Maximum Tuning count. More... | |
#define | MAX_TIMEOUT 0x1FFFFFFFU |
Maximum Timeout. More... | |
#define | XSDPS_CMD8_VOL_PATTERN 0x1AAU |
CMD8 voltage pattern. More... | |
#define | XSDPS_RESPOCR_READY 0x80000000U |
Ready response. More... | |
#define | XSDPS_ACMD41_HCS 0x40000000U |
High Capacity Support. More... | |
#define | XSDPS_ACMD41_3V3 0x00300000U |
3.3 voltage support More... | |
#define | XSDPS_CMD1_HIGH_VOL 0x00FF8000U |
CMD1 for High voltage. More... | |
#define | XSDPS_CMD1_DUAL_VOL 0x00FF8010U |
CMD1 for Dual voltage. More... | |
#define | HIGH_SPEED_SUPPORT 0x2U |
High Speed support. More... | |
#define | UHS_SDR12_SUPPORT 0x1U |
SDR12 support. More... | |
#define | UHS_SDR25_SUPPORT 0x2U |
SDR25 support. More... | |
#define | UHS_SDR50_SUPPORT 0x4U |
SDR50 support. More... | |
#define | UHS_SDR104_SUPPORT 0x8U |
SDR104 support. More... | |
#define | UHS_DDR50_SUPPORT 0x10U |
DDR50 support. More... | |
#define | WIDTH_4_BIT_SUPPORT 0x4U |
4-bit width support More... | |
#define | SD_CLK_25_MHZ 25000000U |
25MHz clock More... | |
#define | SD_CLK_19_MHZ 19000000U |
19MHz clock More... | |
#define | SD_CLK_26_MHZ 26000000U |
26MHz clock More... | |
#define | EXT_CSD_DEVICE_TYPE_BYTE 196U |
CSD Device Type byte number. More... | |
#define | EXT_CSD_SEC_COUNT_BYTE1 212U |
CSD Sector count byte 1. More... | |
#define | EXT_CSD_SEC_COUNT_BYTE2 213U |
CSD Sector count byte 2. More... | |
#define | EXT_CSD_SEC_COUNT_BYTE3 214U |
CSD Sector count byte 3. More... | |
#define | EXT_CSD_SEC_COUNT_BYTE4 215U |
CSD Sector count byte 4. More... | |
#define | EXT_CSD_DEVICE_TYPE_HIGH_SPEED 0x2U |
CSD Device type HS. More... | |
#define | EXT_CSD_DEVICE_TYPE_DDR_1V8_HIGH_SPEED 0x4U |
CSD Dev type DDR 1.8v speed. More... | |
#define | EXT_CSD_DEVICE_TYPE_DDR_1V2_HIGH_SPEED 0x8U |
CSD Dev type DDR 1.2v speed. More... | |
#define | EXT_CSD_DEVICE_TYPE_SDR_1V8_HS200 0x10U |
CSD SDR 1.8v HS200. More... | |
#define | EXT_CSD_DEVICE_TYPE_SDR_1V2_HS200 0x20U |
CSD SDR 1.2v HS200. More... | |
#define | EXT_CSD_DEVICE_TYPE_DDR_1V8_HS400 0x40U |
CSD SDR 1.8v HS400. More... | |
#define | EXT_CSD_DEVICE_TYPE_DDR_1V2_HS400 0x80U |
CSD SDR 1.2v HS400. More... | |
#define | CSD_SPEC_VER_3 0x3U |
CSD card spec ver 3. More... | |
#define | SCR_SPEC_VER_3 0x80U |
SCR spec ver 3. More... | |
#define | ADDRESS_BEYOND_32BIT 0x100000000U |
Macro used for beyond 32-bit addr. More... | |
#define | XSDPS_ZYNQMP_SD0_BASE 0xFF160000U |
ZynqMP SD0 Baseaddress. More... | |
#define | XSDPS_ZYNQMP_SD1_BASE 0xFF170000U |
ZynqMP SD1 Baseaddress. More... | |
#define | XSDPS_VERSAL_SD0_BASE 0xF1040000U |
Versal SD0 Baseaddress. More... | |
#define | XSDPS_VERSAL_SD1_BASE 0xF1050000U |
Versal SD1 Baseaddress. More... | |
#define | ENABLE_HS400_MODE |
Enable eMMC HS400 mode for Versal Net platform. More... | |
Block size mask for 512 bytes | |
Block size mask for 512 bytes - This is the default block size. | |
#define | XSDPS_BLK_SIZE_512_MASK 0x200U |
Blk Size 512. More... | |
SD High Speed mode configuration options | |
#define | SD_HS_MODE_ENABLE 1 |
User configuration option to enable or disable SD HS mode. More... | |
Functions | |
XSdPs_Config * | XSdPs_LookupConfig (u16 DeviceId) |
Looks up the device configuration based on the unique device ID. More... | |
s32 | XSdPs_CfgInitialize (XSdPs *InstancePtr, XSdPs_Config *ConfigPtr, UINTPTR EffectiveAddr) |
Initializes a specific XSdPs instance such that the driver is ready to use. More... | |
s32 | XSdPs_CardInitialize (XSdPs *InstancePtr) |
Initialize Card with Identification mode sequence. More... | |
s32 | XSdPs_ReadPolled (XSdPs *InstancePtr, u32 Arg, u32 BlkCnt, u8 *Buff) |
This function performs SD read in polled mode. More... | |
s32 | XSdPs_WritePolled (XSdPs *InstancePtr, u32 Arg, u32 BlkCnt, const u8 *Buff) |
This function performs SD write in polled mode. More... | |
s32 | XSdPs_Idle (XSdPs *InstancePtr) |
API to idle the SDIO Interface. More... | |
s32 | XSdPs_Change_BusSpeed (XSdPs *InstancePtr) |
API to set high speed in card and host. More... | |
s32 | XSdPs_Change_ClkFreq (XSdPs *InstancePtr, u32 SelFreq) |
API to change clock freq to given value. More... | |
s32 | XSdPs_Pullup (XSdPs *InstancePtr) |
API to send pullup command to card before using DAT line 3(using 4-bit bus) More... | |
s32 | XSdPs_Get_BusWidth (XSdPs *InstancePtr, u8 *ReadBuff) |
API to get bus width support by card. More... | |
s32 | XSdPs_Change_BusWidth (XSdPs *InstancePtr) |
API to set bus width to 4-bit in card and host. More... | |
s32 | XSdPs_Get_BusSpeed (XSdPs *InstancePtr, u8 *ReadBuff) |
API to get bus speed supported by card. More... | |
s32 | XSdPs_Get_Mmc_ExtCsd (XSdPs *InstancePtr, u8 *ReadBuff) |
API to get EXT_CSD register of eMMC. More... | |
s32 | XSdPs_Set_Mmc_ExtCsd (XSdPs *InstancePtr, u32 Arg) |
API to write EXT_CSD register of eMMC. More... | |
s32 | XSdPs_SetBlkSize (XSdPs *InstancePtr, u16 BlkSize) |
Update Block size for read/write operations. More... | |
s32 | XSdPs_Get_Status (XSdPs *InstancePtr, u8 *SdStatReg) |
API to get SD card status information. More... | |
s32 | XSdPs_Select_Card (XSdPs *InstancePtr) |
Selects card and sets default block size. More... | |
s32 | XSdPs_StartReadTransfer (XSdPs *InstancePtr, u32 Arg, u32 BlkCnt, u8 *Buff) |
This function performs SD read in polled mode. More... | |
s32 | XSdPs_CheckReadTransfer (XSdPs *InstancePtr) |
This function is used to check if the transfer is completed successfully. More... | |
s32 | XSdPs_StartWriteTransfer (XSdPs *InstancePtr, u32 Arg, u32 BlkCnt, u8 *Buff) |
This function start SD write transfer. More... | |
s32 | XSdPs_CheckWriteTransfer (XSdPs *InstancePtr) |
This function is used to check for the write transfer completed. More... | |
s32 | XSdPs_Erase (XSdPs *InstancePtr, u32 StartAddr, u32 EndAddr) |
This function performs Erase operation on the given address range. More... | |
Variables | |
XSdPs_Config | XSdPs_ConfigTable [XPAR_XSDPS_NUM_INSTANCES] |
XSdPs Configuration Table. More... | |