Lines Matching refs:SDIOx
179 static uint32_t SDMMC_GetCmdError(SDIO_TypeDef *SDIOx);
207 HAL_StatusTypeDef SDIO_Init(SDIO_TypeDef *SDIOx, SDIO_InitTypeDef Init) in SDIO_Init() argument
212 assert_param(IS_SDIO_ALL_INSTANCE(SDIOx)); in SDIO_Init()
230 MODIFY_REG(SDIOx->CLKCR, CLKCR_CLEAR_MASK, tmpreg); in SDIO_Init()
260 uint32_t SDIO_ReadFIFO(SDIO_TypeDef *SDIOx) in SDIO_ReadFIFO() argument
263 return (SDIOx->FIFO); in SDIO_ReadFIFO()
272 HAL_StatusTypeDef SDIO_WriteFIFO(SDIO_TypeDef *SDIOx, uint32_t *pWriteData) in SDIO_WriteFIFO() argument
275 SDIOx->FIFO = *pWriteData; in SDIO_WriteFIFO()
304 HAL_StatusTypeDef SDIO_PowerState_ON(SDIO_TypeDef *SDIOx) in SDIO_PowerState_ON() argument
307 SDIOx->POWER = SDIO_POWER_PWRCTRL; in SDIO_PowerState_ON()
317 HAL_StatusTypeDef SDIO_PowerState_OFF(SDIO_TypeDef *SDIOx) in SDIO_PowerState_OFF() argument
320 SDIOx->POWER = (uint32_t)0x00000000; in SDIO_PowerState_OFF()
334 uint32_t SDIO_GetPowerState(SDIO_TypeDef *SDIOx) in SDIO_GetPowerState() argument
336 return (SDIOx->POWER & SDIO_POWER_PWRCTRL); in SDIO_GetPowerState()
347 HAL_StatusTypeDef SDIO_SendCommand(SDIO_TypeDef *SDIOx, SDIO_CmdInitTypeDef *Command) in SDIO_SendCommand() argument
358 SDIOx->ARG = Command->Argument; in SDIO_SendCommand()
367 MODIFY_REG(SDIOx->CMD, CMD_CLEAR_MASK, tmpreg); in SDIO_SendCommand()
377 uint8_t SDIO_GetCommandResponse(SDIO_TypeDef *SDIOx) in SDIO_GetCommandResponse() argument
379 return (uint8_t)(SDIOx->RESPCMD); in SDIO_GetCommandResponse()
394 uint32_t SDIO_GetResponse(SDIO_TypeDef *SDIOx, uint32_t Response) in SDIO_GetResponse() argument
402 tmp = (uint32_t)(&(SDIOx->RESP1)) + Response; in SDIO_GetResponse()
415 HAL_StatusTypeDef SDIO_ConfigData(SDIO_TypeDef *SDIOx, SDIO_DataInitTypeDef* Data) in SDIO_ConfigData() argument
427 SDIOx->DTIMER = Data->DataTimeOut; in SDIO_ConfigData()
430 SDIOx->DLEN = Data->DataLength; in SDIO_ConfigData()
439 MODIFY_REG(SDIOx->DCTRL, DCTRL_CLEAR_MASK, tmpreg); in SDIO_ConfigData()
450 uint32_t SDIO_GetDataCounter(SDIO_TypeDef *SDIOx) in SDIO_GetDataCounter() argument
452 return (SDIOx->DCOUNT); in SDIO_GetDataCounter()
460 uint32_t SDIO_GetFIFOCount(SDIO_TypeDef *SDIOx) in SDIO_GetFIFOCount() argument
462 return (SDIOx->FIFO); in SDIO_GetFIFOCount()
474 HAL_StatusTypeDef SDIO_SetSDMMCReadWaitMode(SDIO_TypeDef *SDIOx, uint32_t SDIO_ReadWaitMode) in SDIO_SetSDMMCReadWaitMode() argument
480 MODIFY_REG(SDIOx->DCTRL, SDIO_DCTRL_RWMOD, SDIO_ReadWaitMode); in SDIO_SetSDMMCReadWaitMode()
509 uint32_t SDMMC_CmdBlockLength(SDIO_TypeDef *SDIOx, uint32_t BlockSize) in SDMMC_CmdBlockLength() argument
520 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdBlockLength()
523 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_SET_BLOCKLEN, SDIO_CMDTIMEOUT); in SDMMC_CmdBlockLength()
533 uint32_t SDMMC_CmdReadSingleBlock(SDIO_TypeDef *SDIOx, uint32_t ReadAdd) in SDMMC_CmdReadSingleBlock() argument
544 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdReadSingleBlock()
547 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_READ_SINGLE_BLOCK, SDIO_CMDTIMEOUT); in SDMMC_CmdReadSingleBlock()
557 uint32_t SDMMC_CmdReadMultiBlock(SDIO_TypeDef *SDIOx, uint32_t ReadAdd) in SDMMC_CmdReadMultiBlock() argument
568 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdReadMultiBlock()
571 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_READ_MULT_BLOCK, SDIO_CMDTIMEOUT); in SDMMC_CmdReadMultiBlock()
581 uint32_t SDMMC_CmdWriteSingleBlock(SDIO_TypeDef *SDIOx, uint32_t WriteAdd) in SDMMC_CmdWriteSingleBlock() argument
592 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdWriteSingleBlock()
595 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_WRITE_SINGLE_BLOCK, SDIO_CMDTIMEOUT); in SDMMC_CmdWriteSingleBlock()
605 uint32_t SDMMC_CmdWriteMultiBlock(SDIO_TypeDef *SDIOx, uint32_t WriteAdd) in SDMMC_CmdWriteMultiBlock() argument
616 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdWriteMultiBlock()
619 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_WRITE_MULT_BLOCK, SDIO_CMDTIMEOUT); in SDMMC_CmdWriteMultiBlock()
629 uint32_t SDMMC_CmdSDEraseStartAdd(SDIO_TypeDef *SDIOx, uint32_t StartAdd) in SDMMC_CmdSDEraseStartAdd() argument
640 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdSDEraseStartAdd()
643 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_SD_ERASE_GRP_START, SDIO_CMDTIMEOUT); in SDMMC_CmdSDEraseStartAdd()
653 uint32_t SDMMC_CmdSDEraseEndAdd(SDIO_TypeDef *SDIOx, uint32_t EndAdd) in SDMMC_CmdSDEraseEndAdd() argument
664 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdSDEraseEndAdd()
667 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_SD_ERASE_GRP_END, SDIO_CMDTIMEOUT); in SDMMC_CmdSDEraseEndAdd()
677 uint32_t SDMMC_CmdEraseStartAdd(SDIO_TypeDef *SDIOx, uint32_t StartAdd) in SDMMC_CmdEraseStartAdd() argument
688 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdEraseStartAdd()
691 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_ERASE_GRP_START, SDIO_CMDTIMEOUT); in SDMMC_CmdEraseStartAdd()
701 uint32_t SDMMC_CmdEraseEndAdd(SDIO_TypeDef *SDIOx, uint32_t EndAdd) in SDMMC_CmdEraseEndAdd() argument
712 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdEraseEndAdd()
715 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_ERASE_GRP_END, SDIO_CMDTIMEOUT); in SDMMC_CmdEraseEndAdd()
725 uint32_t SDMMC_CmdErase(SDIO_TypeDef *SDIOx) in SDMMC_CmdErase() argument
736 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdErase()
739 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_ERASE, SDIO_MAXERASETIMEOUT); in SDMMC_CmdErase()
749 uint32_t SDMMC_CmdStopTransfer(SDIO_TypeDef *SDIOx) in SDMMC_CmdStopTransfer() argument
760 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdStopTransfer()
763 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_STOP_TRANSMISSION, SDIO_STOPTRANSFERTIMEOUT); in SDMMC_CmdStopTransfer()
774 uint32_t SDMMC_CmdSelDesel(SDIO_TypeDef *SDIOx, uint64_t Addr) in SDMMC_CmdSelDesel() argument
785 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdSelDesel()
788 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_SEL_DESEL_CARD, SDIO_CMDTIMEOUT); in SDMMC_CmdSelDesel()
798 uint32_t SDMMC_CmdGoIdleState(SDIO_TypeDef *SDIOx) in SDMMC_CmdGoIdleState() argument
808 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdGoIdleState()
811 errorstate = SDMMC_GetCmdError(SDIOx); in SDMMC_CmdGoIdleState()
821 uint32_t SDMMC_CmdOperCond(SDIO_TypeDef *SDIOx) in SDMMC_CmdOperCond() argument
836 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdOperCond()
839 errorstate = SDMMC_GetCmdResp7(SDIOx); in SDMMC_CmdOperCond()
852 uint32_t SDMMC_CmdAppCommand(SDIO_TypeDef *SDIOx, uint32_t Argument) in SDMMC_CmdAppCommand() argument
862 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdAppCommand()
868 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_APP_CMD, SDIO_CMDTIMEOUT); in SDMMC_CmdAppCommand()
880 uint32_t SDMMC_CmdAppOperCommand(SDIO_TypeDef *SDIOx, uint32_t Argument) in SDMMC_CmdAppOperCommand() argument
890 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdAppOperCommand()
893 errorstate = SDMMC_GetCmdResp3(SDIOx); in SDMMC_CmdAppOperCommand()
904 uint32_t SDMMC_CmdBusWidth(SDIO_TypeDef *SDIOx, uint32_t BusWidth) in SDMMC_CmdBusWidth() argument
914 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdBusWidth()
917 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_APP_SD_SET_BUSWIDTH, SDIO_CMDTIMEOUT); in SDMMC_CmdBusWidth()
927 uint32_t SDMMC_CmdSendSCR(SDIO_TypeDef *SDIOx) in SDMMC_CmdSendSCR() argument
938 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdSendSCR()
941 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_SD_APP_SEND_SCR, SDIO_CMDTIMEOUT); in SDMMC_CmdSendSCR()
951 uint32_t SDMMC_CmdSendCID(SDIO_TypeDef *SDIOx) in SDMMC_CmdSendCID() argument
962 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdSendCID()
965 errorstate = SDMMC_GetCmdResp2(SDIOx); in SDMMC_CmdSendCID()
976 uint32_t SDMMC_CmdSendCSD(SDIO_TypeDef *SDIOx, uint32_t Argument) in SDMMC_CmdSendCSD() argument
987 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdSendCSD()
990 errorstate = SDMMC_GetCmdResp2(SDIOx); in SDMMC_CmdSendCSD()
1001 uint32_t SDMMC_CmdSetRelAdd(SDIO_TypeDef *SDIOx, uint16_t *pRCA) in SDMMC_CmdSetRelAdd() argument
1012 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdSetRelAdd()
1015 errorstate = SDMMC_GetCmdResp6(SDIOx, SDMMC_CMD_SET_REL_ADDR, pRCA); in SDMMC_CmdSetRelAdd()
1026 uint32_t SDMMC_CmdSetRelAddMmc(SDIO_TypeDef *SDIOx, uint16_t RCA) in SDMMC_CmdSetRelAddMmc() argument
1037 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdSetRelAddMmc()
1040 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_SET_REL_ADDR, SDIO_CMDTIMEOUT); in SDMMC_CmdSetRelAddMmc()
1051 uint32_t SDMMC_CmdSendStatus(SDIO_TypeDef *SDIOx, uint32_t Argument) in SDMMC_CmdSendStatus() argument
1061 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdSendStatus()
1064 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_SEND_STATUS, SDIO_CMDTIMEOUT); in SDMMC_CmdSendStatus()
1074 uint32_t SDMMC_CmdStatusRegister(SDIO_TypeDef *SDIOx) in SDMMC_CmdStatusRegister() argument
1084 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdStatusRegister()
1087 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_SD_APP_STATUS, SDIO_CMDTIMEOUT); in SDMMC_CmdStatusRegister()
1099 uint32_t SDMMC_CmdOpCondition(SDIO_TypeDef *SDIOx, uint32_t Argument) in SDMMC_CmdOpCondition() argument
1109 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdOpCondition()
1112 errorstate = SDMMC_GetCmdResp3(SDIOx); in SDMMC_CmdOpCondition()
1123 uint32_t SDMMC_CmdSwitch(SDIO_TypeDef *SDIOx, uint32_t Argument) in SDMMC_CmdSwitch() argument
1135 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdSwitch()
1138 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_HS_SWITCH, SDIO_CMDTIMEOUT); in SDMMC_CmdSwitch()
1149 uint32_t SDMMC_CmdSendEXTCSD(SDIO_TypeDef *SDIOx, uint32_t Argument) in SDMMC_CmdSendEXTCSD() argument
1160 (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); in SDMMC_CmdSendEXTCSD()
1163 errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_HS_SEND_EXT_CSD,SDIO_CMDTIMEOUT); in SDMMC_CmdSendEXTCSD()
1191 uint32_t SDMMC_GetCmdResp1(SDIO_TypeDef *SDIOx, uint8_t SD_CMD, uint32_t Timeout) in SDMMC_GetCmdResp1() argument
1206 sta_reg = SDIOx->STA; in SDMMC_GetCmdResp1()
1210 if(__SDIO_GET_FLAG(SDIOx, SDIO_FLAG_CTIMEOUT)) in SDMMC_GetCmdResp1()
1212 __SDIO_CLEAR_FLAG(SDIOx, SDIO_FLAG_CTIMEOUT); in SDMMC_GetCmdResp1()
1216 else if(__SDIO_GET_FLAG(SDIOx, SDIO_FLAG_CCRCFAIL)) in SDMMC_GetCmdResp1()
1218 __SDIO_CLEAR_FLAG(SDIOx, SDIO_FLAG_CCRCFAIL); in SDMMC_GetCmdResp1()
1228 __SDIO_CLEAR_FLAG(SDIOx, SDIO_STATIC_CMD_FLAGS); in SDMMC_GetCmdResp1()
1231 if(SDIO_GetCommandResponse(SDIOx) != SD_CMD) in SDMMC_GetCmdResp1()
1237 response_r1 = SDIO_GetResponse(SDIOx, SDIO_RESP1); in SDMMC_GetCmdResp1()
1326 uint32_t SDMMC_GetCmdResp2(SDIO_TypeDef *SDIOx) in SDMMC_GetCmdResp2() argument
1339 sta_reg = SDIOx->STA; in SDMMC_GetCmdResp2()
1343 if (__SDIO_GET_FLAG(SDIOx, SDIO_FLAG_CTIMEOUT)) in SDMMC_GetCmdResp2()
1345 __SDIO_CLEAR_FLAG(SDIOx, SDIO_FLAG_CTIMEOUT); in SDMMC_GetCmdResp2()
1349 else if (__SDIO_GET_FLAG(SDIOx, SDIO_FLAG_CCRCFAIL)) in SDMMC_GetCmdResp2()
1351 __SDIO_CLEAR_FLAG(SDIOx, SDIO_FLAG_CCRCFAIL); in SDMMC_GetCmdResp2()
1359 __SDIO_CLEAR_FLAG(SDIOx, SDIO_STATIC_CMD_FLAGS); in SDMMC_GetCmdResp2()
1370 uint32_t SDMMC_GetCmdResp3(SDIO_TypeDef *SDIOx) in SDMMC_GetCmdResp3() argument
1383 sta_reg = SDIOx->STA; in SDMMC_GetCmdResp3()
1387 if(__SDIO_GET_FLAG(SDIOx, SDIO_FLAG_CTIMEOUT)) in SDMMC_GetCmdResp3()
1389 __SDIO_CLEAR_FLAG(SDIOx, SDIO_FLAG_CTIMEOUT); in SDMMC_GetCmdResp3()
1396 __SDIO_CLEAR_FLAG(SDIOx, SDIO_STATIC_CMD_FLAGS); in SDMMC_GetCmdResp3()
1410 uint32_t SDMMC_GetCmdResp6(SDIO_TypeDef *SDIOx, uint8_t SD_CMD, uint16_t *pRCA) in SDMMC_GetCmdResp6() argument
1425 sta_reg = SDIOx->STA; in SDMMC_GetCmdResp6()
1429 if(__SDIO_GET_FLAG(SDIOx, SDIO_FLAG_CTIMEOUT)) in SDMMC_GetCmdResp6()
1431 __SDIO_CLEAR_FLAG(SDIOx, SDIO_FLAG_CTIMEOUT); in SDMMC_GetCmdResp6()
1435 else if(__SDIO_GET_FLAG(SDIOx, SDIO_FLAG_CCRCFAIL)) in SDMMC_GetCmdResp6()
1437 __SDIO_CLEAR_FLAG(SDIOx, SDIO_FLAG_CCRCFAIL); in SDMMC_GetCmdResp6()
1447 if(SDIO_GetCommandResponse(SDIOx) != SD_CMD) in SDMMC_GetCmdResp6()
1453 __SDIO_CLEAR_FLAG(SDIOx, SDIO_STATIC_CMD_FLAGS); in SDMMC_GetCmdResp6()
1456 response_r1 = SDIO_GetResponse(SDIOx, SDIO_RESP1); in SDMMC_GetCmdResp6()
1483 uint32_t SDMMC_GetCmdResp7(SDIO_TypeDef *SDIOx) in SDMMC_GetCmdResp7() argument
1496 sta_reg = SDIOx->STA; in SDMMC_GetCmdResp7()
1500 if(__SDIO_GET_FLAG(SDIOx, SDIO_FLAG_CTIMEOUT)) in SDMMC_GetCmdResp7()
1503 __SDIO_CLEAR_FLAG(SDIOx, SDIO_FLAG_CTIMEOUT); in SDMMC_GetCmdResp7()
1507 else if(__SDIO_GET_FLAG(SDIOx, SDIO_FLAG_CCRCFAIL)) in SDMMC_GetCmdResp7()
1510 __SDIO_CLEAR_FLAG(SDIOx, SDIO_FLAG_CCRCFAIL); in SDMMC_GetCmdResp7()
1519 if(__SDIO_GET_FLAG(SDIOx, SDIO_FLAG_CMDREND)) in SDMMC_GetCmdResp7()
1522 __SDIO_CLEAR_FLAG(SDIOx, SDIO_FLAG_CMDREND); in SDMMC_GetCmdResp7()
1543 static uint32_t SDMMC_GetCmdError(SDIO_TypeDef *SDIOx) in SDMMC_GetCmdError() argument
1556 }while(!__SDIO_GET_FLAG(SDIOx, SDIO_FLAG_CMDSENT)); in SDMMC_GetCmdError()
1559 __SDIO_CLEAR_FLAG(SDIOx, SDIO_STATIC_CMD_FLAGS); in SDMMC_GetCmdError()