mirror of
https://github.com/apache/nuttx.git
synced 2026-08-01 20:28:58 +00:00
arch/arm/src/stm32{h7,f7,l4}: add 4-bit wide bus support for MMC/eMMC cards
The STM32H7, STM32F7, STM32L4 and common STM32 SDIO/SDMMC drivers failed to program the WIDBUS bits when switching MMC/eMMC cards to 4-bit mode, and the MMC transfer clock presets were hardwired to 1-bit bus width. Add CLOCK_MMC_TRANSFER_4BIT to the common SDIO clock enum, add 4-bit MMC clock presets, and update stm32_widebus() to use modifyreg32/ sdmmc_modifyreg32 to set the host controller bus width. Signed-off-by: DuoYuWang <thirteenking.wang@gmail.com>
This commit is contained in:
parent
85ad737463
commit
82ab33aed6
5 changed files with 72 additions and 2 deletions
|
|
@ -942,9 +942,10 @@ enum sdio_clock_e
|
|||
{
|
||||
CLOCK_SDIO_DISABLED = 0, /* Clock is disabled */
|
||||
CLOCK_IDMODE, /* Initial ID mode clocking (<400KHz) */
|
||||
CLOCK_MMC_TRANSFER, /* MMC normal operation clocking */
|
||||
CLOCK_MMC_TRANSFER, /* MMC normal operation clocking (narrow 1-bit mode) */
|
||||
CLOCK_SD_TRANSFER_1BIT, /* SD normal operation clocking (narrow 1-bit mode) */
|
||||
CLOCK_SD_TRANSFER_4BIT /* SD normal operation clocking (wide 4-bit mode) */
|
||||
CLOCK_SD_TRANSFER_4BIT, /* SD normal operation clocking (wide 4-bit mode) */
|
||||
CLOCK_MMC_TRANSFER_4BIT /* MMC normal operation clocking (wide 4-bit mode) */
|
||||
};
|
||||
|
||||
/* Event set. A uint8_t is big enough to hold a set of 8-events. If more
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue