mirror of
https://github.com/apache/nuttx.git
synced 2026-10-09 07:15:20 +00:00
Add the STM32H5 SDMMC1/SDMMC2 lower-half SDIO driver (interrupt-mode and
IDMA transfers, SD/SDIO card mode), following the same structure as the
existing STM32H7 SDMMC driver.
Three fixes were needed to get this actually building, selectable, and
correct:
- The driver checked CONFIG_STM32H5_SDMMC1/CONFIG_STM32H5_SDMMC_IDMA/
CONFIG_STM32H5_SDMMC_XFRDEBUG, but the real Kconfig symbols selected by
this chip are the shared CONFIG_STM32_SDMMC1/CONFIG_STM32_SDMMC_IDMA/
CONFIG_STM32_SDMMC_XFRDEBUG (see arch/arm/src/common/stm32/Kconfig.sdio,
Kconfig.periph). With the old names the driver silently compiled out.
Renamed all guards in stm32_sdmmc.c to match. Also fixed a similar typo,
STM32H5_SRAM3_SIZE -> STM32_SRAM3_SIZE, in the IDMA-reach check.
- arch/arm/src/common/stm32/Kconfig.sdio's STM32_SDMMC_IDMA and the
SDMMC1/2 SDIO-mode/pull-up options depended on ARCH_CHIP_STM32H7 /
STM32_COMMON_F7_H7 only. Extended STM32_SDMMC_IDMA to also allow
ARCH_CHIP_STM32H5, and switched the SDIO-mode/pull-up options to
STM32_COMMON_F7_H7_H5, matching the pattern already used for other
STM32H5 peripherals (Ethernet, ADC, SPI, timers).
- stm32_sdmmc.c was only added to Make.defs, not to CMakeLists.txt, so
the driver would silently be omitted from CMake builds. Added it to
the same unconditional source list as stm32_exti_gpio.c.
Also ports a fix from a related STM32H7 SDMMC commit
(
|
||
|---|---|---|
| .. | ||
| ameba | ||
| gnu | ||
| iar | ||
| stm32 | ||
| arm_allocateheap.c | ||
| arm_backtrace_fp.c | ||
| arm_backtrace_sp.c | ||
| arm_backtrace_unwind.c | ||
| arm_checkstack.c | ||
| arm_createstack.c | ||
| arm_exit.c | ||
| arm_fork.c | ||
| arm_fork.h | ||
| arm_getintstack.c | ||
| arm_hostfs.c | ||
| arm_idle.c | ||
| arm_initialize.c | ||
| arm_internal.h | ||
| arm_lowputs.c | ||
| arm_modifyreg.c | ||
| arm_nputs.c | ||
| arm_poweroff.c | ||
| arm_pthread_start.c | ||
| arm_registerdump.c | ||
| arm_releasestack.c | ||
| arm_semi_syslog.c | ||
| arm_signal_dispatch.c | ||
| arm_stackframe.c | ||
| arm_task_start.c | ||
| arm_tls.c | ||
| arm_usestack.c | ||
| CMakeLists.txt | ||
| crt0.c | ||
| hwcap.h | ||
| Make.defs | ||
| README_lwl_console.txt | ||
| Toolchain.defs | ||