lift_indicator_suite/bsp/generated/sdmmc_config.h

88 lines
3.5 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* sdmmc_config.h — board-level конфигурация SDMMC для MIMXRT1052CVJ5B.
*
* SD_CD : GPIO_B1_12 → GPIO2[28] (GPIO card detect).
* Уровень вставки карты: 0 (active-low).
*
* SD_PWR: GPIO_AD_B1_03 → GPIO1[19] (SdPwr).
* Active-high: 1 = питание включено.
*/
#ifndef BSP_SDMMC_CONFIG_H
#define BSP_SDMMC_CONFIG_H
#include "clock_config.h"
#include "fsl_common.h"
#include "fsl_gpio.h"
#include "fsl_sdmmc_common.h"
#include "fsl_sdmmc_host.h"
#ifdef SD_ENABLED
#include "fsl_sd.h"
#endif
/* ---------------------------------------------------------------------------
* Host controller
* ------------------------------------------------------------------------- */
#define BOARD_SDMMC_SD_HOST_BASEADDR USDHC1
#define BOARD_SDMMC_SD_HOST_IRQ USDHC1_IRQn
#define BOARD_SDMMC_SD_HOST_IRQ_PRIORITY 5U
/* ---------------------------------------------------------------------------
* Card detect
* CD_B подключён как периферийный сигнал USDHC1 — детект через регистр
* PRSSTAT, а не через GPIO. Прерывание и callback на CD не используются.
* ------------------------------------------------------------------------- */
#define BOARD_SDMMC_SD_CD_GPIO_BASE GPIO2
#define BOARD_SDMMC_SD_CD_GPIO_PIN 28U
#define BOARD_SDMMC_SD_CD_INSERT_LEVEL 0U
#define BOARD_SDMMC_SD_CD_TYPE kSD_DetectCardByGpioCD
#define BOARD_SDMMC_SD_CD_DEBOUNCE_MS 100U
/* ---------------------------------------------------------------------------
* Card power — GPIO1[19] (GPIO_AD_B1_03, SdPwr), active-high
* ------------------------------------------------------------------------- */
#define BOARD_SDMMC_SD_PWR_GPIO_BASE GPIO1
#define BOARD_SDMMC_SD_PWR_GPIO_PIN 19U
/* 1U: питание карты включается уровнем '1'; 0U: включается уровнем '0'. */
#define BOARD_SDMMC_SD_PWR_ACTIVE_HIGH 0U
/* ---------------------------------------------------------------------------
* IO voltage — управляется хостом (LDO внутри USDHC)
* ------------------------------------------------------------------------- */
/*
* На данной плате для SD-стека отключаем процедуру переключения на 1.8V
* (CMD11/UHS voltage switch): SD_Init продолжит работу в 3.3V режиме.
*/
#define BOARD_SDMMC_SD_IO_VOLTAGE_TYPE kSD_IOVoltageCtrlNotSupport
/* ---------------------------------------------------------------------------
* DMA и кэш
* ------------------------------------------------------------------------- */
#define BOARD_SDMMC_HOST_DMA_DESCRIPTOR_BUFFER_SIZE 32U
#define BOARD_SDMMC_DATA_BUFFER_ALIGN_SIZE 32U
#define BOARD_SDMMC_HOST_CACHE_CONTROL kSDMMCHOST_CacheControlRWBuffer
/* ---------------------------------------------------------------------------
* Максимальная частота (SDR104)
* ------------------------------------------------------------------------- */
#define BOARD_SDMMC_SD_HOST_SUPPORT_SDR104_FREQ 200000000U
#if defined(__cplusplus)
extern "C"
{
#endif
#ifdef SD_ENABLED
/*
* Конфигурирует sd_card_t: host, CD, power, IO voltage, частота.
* cd и userData передаются NULL из bsp_sd — CD управляется хостом.
*/
void BOARD_SD_Config(void *card, sd_cd_t cd, uint32_t host_irq_priority, void *user_data);
#endif
#if defined(__cplusplus)
}
#endif
#endif /* BSP_SDMMC_CONFIG_H */