api_sd.h 972 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef _API_SD_H
  2. #define _API_SD_H
  3. enum {
  4. RW_IDLE, //空闲状态
  5. RW_READ, //读状态
  6. RW_WRITE, //写状态
  7. };
  8. #define sd_insert() sd0_insert(0)
  9. #define sd_remove() sd0_remove(0)
  10. #define sd1_insert() sd0_insert(1)
  11. #define sd1_remove() sd0_remove(1)
  12. void sd_disk_init(void);
  13. void sd0_insert(u8 index);
  14. void sd0_remove(u8 index);
  15. bool sd0_read(void *buf, u32 lba);
  16. bool sd0_write(void* buf, u32 lba);
  17. bool sd0_stop(bool type); //复用SDCLK检测时type: 0->sdclk设置为输出, 1->sdclk设置为输入上拉,用于检测
  18. bool sd0_init(void);
  19. bool sd_soft_detect(void);
  20. void sd0_go_idle_state(void);
  21. u8 sd0_get_rw_sta(void);
  22. void ude_sd_remove(void);
  23. void sd_other_param_set(u32 param); //dev_init后调用, 补充设置一些sd参数
  24. void sd_disable_user(void);
  25. void sd_enable_user(void);
  26. void sd0_set_invalid_state(void);
  27. #endif // _API_SD_H