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