![]() |
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 so that the driver is ready to use. More... | |
| s32 | XSdPs_CardInitialize (XSdPs *InstancePtr) |
| Initializes Card with Identification mode sequence. More... | |
| s32 | XSdPs_ReadPolled (XSdPs *InstancePtr, u32 Arg, u32 BlkCnt, u8 *Buff) |
| Performs SD read in polled mode. More... | |
| s32 | XSdPs_WritePolled (XSdPs *InstancePtr, u32 Arg, u32 BlkCnt, const u8 *Buff) |
| 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) |
| Sets high speed in card and host. More... | |
| s32 | XSdPs_Change_ClkFreq (XSdPs *InstancePtr, u32 SelFreq) |
| API to change clock frequency to a given value. More... | |
| s32 | XSdPs_Pullup (XSdPs *InstancePtr) |
| Sends pullup command to card before using DAT line 3(using 4-bit bus). More... | |
| s32 | XSdPs_Get_BusWidth (XSdPs *InstancePtr, u8 *ReadBuff) |
| Gets bus width support by card. More... | |
| s32 | XSdPs_Change_BusWidth (XSdPs *InstancePtr) |
| Sets bus width to 4-bit in card and host. More... | |
| s32 | XSdPs_Get_BusSpeed (XSdPs *InstancePtr, u8 *ReadBuff) |
| Gets bus speed supported by card. More... | |
| s32 | XSdPs_Get_Mmc_ExtCsd (XSdPs *InstancePtr, u8 *ReadBuff) |
| Gets EXT_CSD register of eMMC. More... | |
| s32 | XSdPs_Set_Mmc_ExtCsd (XSdPs *InstancePtr, u32 Arg) |
| Writes EXT_CSD register of eMMC. More... | |
| s32 | XSdPs_SetBlkSize (XSdPs *InstancePtr, u16 BlkSize) |
| Updates Block size for read/write operations. More... | |
| s32 | XSdPs_Get_Status (XSdPs *InstancePtr, u8 *SdStatReg) |
| Gets 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) |
| Performs SD read in polled mode. More... | |
| s32 | XSdPs_CheckReadTransfer (XSdPs *InstancePtr) |
| Checks if the transfer is completed successfully. More... | |
| s32 | XSdPs_StartWriteTransfer (XSdPs *InstancePtr, u32 Arg, u32 BlkCnt, u8 *Buff) |
| Starts SD write transfer. More... | |
| s32 | XSdPs_CheckWriteTransfer (XSdPs *InstancePtr) |
| Checks for the write transfer completed. More... | |
| s32 | XSdPs_Erase (XSdPs *InstancePtr, u32 StartAddr, u32 EndAddr) |
| Performs Erase operation on the given address range. More... | |
| s32 | XSdPs_Sanitize (XSdPs *InstancePtr) |
| Performs Sanitize operation on the unmapped user address range. More... | |
Variables | |
| XSdPs_Config | XSdPs_ConfigTable [XPAR_XSDPS_NUM_INSTANCES] |
| XSdPs Configuration Table. More... | |