Skip to content

Commit

Permalink
[H7][LIB][SDMMC] Workaround for SDMMC Errata 2.11.4
Browse files Browse the repository at this point in the history
Application of

STM32H750 - Apply workaround to the SDMMC Errata 2.11.4 (8446832)

to V1.6.0
  • Loading branch information
ezshinoda committed Sep 14, 2020
1 parent 0397a16 commit f281055
Showing 1 changed file with 11 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -444,6 +444,17 @@ HAL_StatusTypeDef SDMMC_ConfigData(SDMMC_TypeDef *SDMMCx, SDMMC_DataInitTypeDef*
Data->TransferMode |\
Data->DPSM);

// DC - See errata 2.11.4 - 8 SDMMC clock cycles must elapse before DTEN can be set.
// 32U below is used as a VERY rough guess that the SDMMC clock is 1/4 of the sytem clock, 8 * 4 = 32 and that the
// assembly below only takes 1 CPU cycle to run. All of which will be wrong, but right enough most of the time, especially
// when considering other processing overheads.
register uint32_t count = 32U;
do
{
count--;
} while(count > 0);
// DC - See errata 2.11.4

/* Write to SDMMC DCTRL */
MODIFY_REG(SDMMCx->DCTRL, DCTRL_CLEAR_MASK, tmpreg);

Expand Down

0 comments on commit f281055

Please sign in to comment.