/* param base USDHC peripheral base address. param timeout Timeout to initialize card. retval true Set card active successfully. retval false Set card active failed.  */
bool USDHC_SetCardActive(USDHC_Type *base, uint32_t timeout)
/* param base USDHC peripheral base address. param timeout Timeout to initialize card. retval true Set card active successfully. retval false Set card active failed.  */
bool USDHC_SetCardActive(USDHC_Type *base, uint32_t timeout)
{
    base->SYS_CTRL |= USDHC_SYS_CTRL_INITA_MASK;
    while (IS_USDHC_FLAG_SET(base->SYS_CTRL, USDHC_SYS_CTRL_INITA_MASK))
    {
        if (0UL == timeout)
        {
            break;
        }
        timeout--;
    }
    return ((0UL == timeout) ? false : true);
}