/* Initializes the SDIO peripheral according to the specified parameters in the SDIO_InitStruct.  */
void SDIO_Init(SDIO_InitType *SDIO_InitStruct)
/* Initializes the SDIO peripheral according to the specified parameters in the SDIO_InitStruct.  */
void SDIO_Init(SDIO_InitType *SDIO_InitStruct)
{
    uint32_t tmpregister = 0;
    assert_param(IS_SDIO_CLK_EDGE(SDIO_InitStruct->ClkEdge));
    assert_param(IS_SDIO_CLK_BYPASS(SDIO_InitStruct->ClkBypass));
    assert_param(IS_SDIO_CLK_POWER_SAVE(SDIO_InitStruct->ClkPwrSave));
    assert_param(IS_SDIO_BUS_WIDTH(SDIO_InitStruct->BusWidth));
    assert_param(IS_SDIO_HARDWARE_CLKCTRL(SDIO_InitStruct->HardwareClkCtrl));
    tmpregister = SDIO->CLKCTRL;
    tmpregister &= CLKCTRL_CLR_MASK;
    tmpregister |= (SDIO_InitStruct->ClkDiv | SDIO_InitStruct->ClkPwrSave | SDIO_InitStruct->ClkBypass
                    | SDIO_InitStruct->BusWidth | SDIO_InitStruct->ClkEdge | SDIO_InitStruct->HardwareClkCtrl);
    SDIO->CLKCTRL = tmpregister;
}