sdmmc_private.h 939 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #pragma once
  7. #include <stdint.h>
  8. #include <stddef.h>
  9. #include "esp_err.h"
  10. #include "freertos/FreeRTOS.h"
  11. #include "freertos/queue.h"
  12. #include "soc/sdmmc_periph.h"
  13. typedef struct {
  14. uint32_t sdmmc_status; ///< masked SDMMC interrupt status
  15. uint32_t dma_status; ///< masked DMA interrupt status
  16. } sdmmc_event_t;
  17. void sdmmc_host_reset(void);
  18. esp_err_t sdmmc_host_start_command(int slot, sdmmc_hw_cmd_t cmd, uint32_t arg);
  19. esp_err_t sdmmc_host_wait_for_event(int tick_count, sdmmc_event_t* out_event);
  20. void sdmmc_host_dma_prepare(sdmmc_desc_t* desc, size_t block_size, size_t data_size);
  21. void sdmmc_host_dma_stop(void);
  22. void sdmmc_host_dma_resume(void);
  23. bool sdmmc_host_card_busy(void);
  24. esp_err_t sdmmc_host_transaction_handler_init(void);
  25. void sdmmc_host_transaction_handler_deinit(void);