/* brief SDIF return the controller capability param base SDIF peripheral base address. param sdif capability pointer  */
void SDIF_GetCapability(SDIF_Type *base, sdif_capability_t *capability)
/* brief SDIF return the controller capability param base SDIF peripheral base address. param sdif capability pointer  */
void SDIF_GetCapability(SDIF_Type *base, sdif_capability_t *capability)
{
    assert(NULL != capability);
    (void)memset(capability, 0, sizeof(*capability));
    capability->sdVersion      = SDIF_SUPPORT_SD_VERSION;
    capability->mmcVersion     = SDIF_SUPPORT_MMC_VERSION;
    capability->maxBlockLength = SDIF_BLKSIZ_BLOCK_SIZE_MASK;
    capability->maxBlockCount = SDIF_BYTCNT_BYTE_COUNT_MASK / SDIF_BLKSIZ_BLOCK_SIZE_MASK;
    capability->flags         = (uint32_t)kSDIF_SupportHighSpeedFlag | (uint32_t)kSDIF_SupportDmaFlag |
                        (uint32_t)kSDIF_SupportSuspendResumeFlag | (uint32_t)kSDIF_SupportV330Flag |
                        (uint32_t)kSDIF_Support4BitFlag | (uint32_t)kSDIF_Support8BitFlag;
}