hard_sdio_sd.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // 使用官方的SDMMC例程包
  2. #ifndef __HARD_SDIO_SD_H
  3. #define __HARD_SDIO_SD_H
  4. #include "hpm_sdmmc_sd.h"
  5. #define RUN_CORE HPM_CORE0
  6. #define SDCARD_SDXC_BASE (HPM_SDXC1)
  7. #define SDCARD_SUPPORT_3V3 (1)
  8. #define SDCARD_SUPPORT_1V8 (1)
  9. #define SDCARD_SUPPORT_4BIT (1)
  10. #define SDCARD_SUPPORT_CARD_DETECTION (1)
  11. #define SDCARD_SUPPORT_POWER_SWITCH (0)
  12. #define SDCARD_SUPPORT_VOLTAGE_SWITCH (1)
  13. #define SDCARD_SUPPORT_CARD_DETECTION (1)
  14. #define SDCARD_CARD_DETECTION_USING_GPIO (0)
  15. #if defined(SDCARD_CARD_DETECTION_USING_GPIO) && (SDCARD_CARD_DETECTION_USING_GPIO == 1)
  16. #define SDCARD_CARD_DETECTION_GPIO NULL
  17. #define SDCARD_CARD_DETECTION_GPIO_INDEX 0
  18. #define SDCARD_CARD_DETECTION_PIN_INDEX 0
  19. #endif
  20. #define EMMC_SDXC_BASE (HPM_SDXC1)
  21. #define EMMC_SUPPORT_3V3 (1)
  22. #define EMMC_SUPPORT_1V8 (0)
  23. #define EMMC_SUPPORT_4BIT (1)
  24. #define EMMC_SUPPORT_8BIT (0)
  25. #define EMMC_SUPPORT_VOLTAGE_SWITCH (0)
  26. /* For eMMC device, it is recommended to use GPIO to switch voltage directly */
  27. #define EMMC_VOLTAGE_SWITCH_USING_GPIO (1)
  28. #if defined(EMMC_VOLTAGE_SWITCH_USING_GPIO) && (EMMC_VOLTAGE_SWITCH_USING_GPIO == 1)
  29. #define EMMC_VSEL_PIN IOC_PAD_PD29
  30. #endif
  31. void sdxc1_cd_pin(SDXC_Type *ptr, bool as_gpio);
  32. uint32_t sd1_configure_clock(SDXC_Type *ptr, uint32_t freq, bool need_inverse);
  33. void sdxc1_cmd_pin(SDXC_Type *ptr, bool open_drain, bool is_1v8);
  34. void sdxc1_clk_data_pins(SDXC_Type *ptr, uint32_t width, bool is_1v8);
  35. void sdxc1_vsel_pin(SDXC_Type *ptr, bool as_gpio);
  36. #endif