| 1234567891011121314151617181920212223242526272829303132333435363738 |
- // 使用官方的SDMMC例程包
- #ifndef __HARD_SDIO_SD_H
- #define __HARD_SDIO_SD_H
- #include "hpm_sdmmc_sd.h"
- #define RUN_CORE HPM_CORE0
- #define SDCARD_SDXC_BASE (HPM_SDXC1)
- #define SDCARD_SUPPORT_3V3 (1)
- #define SDCARD_SUPPORT_1V8 (1)
- #define SDCARD_SUPPORT_4BIT (1)
- #define SDCARD_SUPPORT_CARD_DETECTION (1)
- #define SDCARD_SUPPORT_POWER_SWITCH (0)
- #define SDCARD_SUPPORT_VOLTAGE_SWITCH (1)
- #define SDCARD_SUPPORT_CARD_DETECTION (1)
- #define SDCARD_CARD_DETECTION_USING_GPIO (0)
- #if defined(SDCARD_CARD_DETECTION_USING_GPIO) && (SDCARD_CARD_DETECTION_USING_GPIO == 1)
- #define SDCARD_CARD_DETECTION_GPIO NULL
- #define SDCARD_CARD_DETECTION_GPIO_INDEX 0
- #define SDCARD_CARD_DETECTION_PIN_INDEX 0
- #endif
- #define EMMC_SDXC_BASE (HPM_SDXC1)
- #define EMMC_SUPPORT_3V3 (1)
- #define EMMC_SUPPORT_1V8 (0)
- #define EMMC_SUPPORT_4BIT (1)
- #define EMMC_SUPPORT_8BIT (0)
- #define EMMC_SUPPORT_VOLTAGE_SWITCH (0)
- /* For eMMC device, it is recommended to use GPIO to switch voltage directly */
- #define EMMC_VOLTAGE_SWITCH_USING_GPIO (1)
- #if defined(EMMC_VOLTAGE_SWITCH_USING_GPIO) && (EMMC_VOLTAGE_SWITCH_USING_GPIO == 1)
- #define EMMC_VSEL_PIN IOC_PAD_PD29
- #endif
- void sdxc1_cd_pin(SDXC_Type *ptr, bool as_gpio);
- uint32_t sd1_configure_clock(SDXC_Type *ptr, uint32_t freq, bool need_inverse);
- void sdxc1_cmd_pin(SDXC_Type *ptr, bool open_drain, bool is_1v8);
- void sdxc1_clk_data_pins(SDXC_Type *ptr, uint32_t width, bool is_1v8);
- void sdxc1_vsel_pin(SDXC_Type *ptr, bool as_gpio);
- #endif
|