[HAL BUG Report] STM32H743 SDMMC LL library only supports 2 transfer modes
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-01-19 8:52 PM
[HAL BUG] STM32H743 SDMMC LL library only supports 2 transfer modes
I connected SDMMC2 to Marvell 88W8801 WiFi chip (an SDIO card).
In STM32H743 reference manual, SDMMC_DCTRL_DTMODE supports 4 data transfer modes:
[00] block data transfer
[01] SDIO multibyte data transfer
[10] eMMC stream data transfer
[11] block data transfer ending with STOP_TRANSMISSION command
However, stm32h7xx_ll_sdmmc.h only gives us 2 choices:
SDMMC_TRANSFER_MODE_BLOCK [00]
SDMMC_TRANSFER_MODE_STREAM [10]
88W8801 only supports SDIO multibyte data transfer mode in 1-bit width bus.
It does not support eMMC stream data transfer mode.
If sdmmc_data.TransferMode=SDMMC_DCTRL_DTMODE_0, IS_SDMMC_TRANSFER_MODE() macro in SDMMC_ConfigData will fail.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-01-20 3:21 AM
Hello @Community member​ ,
Thanks for posting this issue.
I am checking this and I will come back to you with details about corrective actions we will take.
Thanks
Imen
Thanks
Imen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-01-21 1:09 AM
Hi @Community member​ ,
I confirm that SDMMC LL driver support only 2 modes.
The driver implementation is done mainly for generic SD/MMC memories, so there is some modes that are not supported, and there is no short-term plan to support them.
Thank you once again for your contribution.
When your question is answered, please close this topic by choosing "Select as Best". This will help other users find that answer faster.
Thanks
Imen
Thanks
Imen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-03 6:54 PM
Just adding the 01 mode macro ​and modifying IS_SDMMC_TRANSFER_MODE() marco in the sdmmc header file is enough. We want to use SDMMC_ConfigData
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-03 7:03 PM
We advice that in the next hal library version, the SDMMC_TRANSFER_MODE_MULTIBYTE macro (0x01) be added​ to stm32h7xx_ll_sdmmc.h, and IS_SDMMC_TRANSFER_MODE(SDMMC_TRANSFER_MODE_MULTIBYTE) return true, so that SDMMC_ConfigData do not fail assertion.
