dev_spi_flash_sfud.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /*
  2. * Copyright (c) 2006-2023, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2016-09-28 armink first version.
  9. * 2024-10-24 yekai Add C++ support
  10. */
  11. #ifndef __DEV_SPI_FLASH_SFUD_H__
  12. #define __DEV_SPI_FLASH_SFUD_H__
  13. #include <rtthread.h>
  14. #include <rtdevice.h>
  15. #include "./sfud/inc/sfud.h"
  16. #include "dev_spi_flash.h"
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. /**
  21. * Probe SPI flash by SFUD(Serial Flash Universal Driver) driver library and though SPI device.
  22. *
  23. * @param spi_flash_dev_name the name which will create SPI flash device
  24. * @param spi_dev_name using SPI device name
  25. *
  26. * @return probed SPI flash device, probe failed will return RT_NULL
  27. */
  28. rt_spi_flash_device_t rt_sfud_flash_probe(const char *spi_flash_dev_name, const char *spi_dev_name);
  29. /**
  30. * Probe SPI flash by SFUD (Serial Flash Universal Driver) driver library and though SPI device by specified configuration.
  31. *
  32. * @param spi_flash_dev_name the name which will create SPI flash device
  33. * @param spi_dev_name using SPI device name
  34. * @param spi_cfg SPI device configuration
  35. * @param qspi_cfg QSPI device configuration
  36. *
  37. * @return probed SPI flash device, probe failed will return RT_NULL
  38. */
  39. rt_spi_flash_device_t rt_sfud_flash_probe_ex(const char *spi_flash_dev_name, const char *spi_dev_name,
  40. struct rt_spi_configuration *spi_cfg, struct rt_qspi_configuration *qspi_cfg);
  41. /**
  42. * Delete SPI flash device
  43. *
  44. * @param spi_flash_dev SPI flash device
  45. *
  46. * @return the operation status, RT_EOK on successful
  47. */
  48. rt_err_t rt_sfud_flash_delete(rt_spi_flash_device_t spi_flash_dev);
  49. /**
  50. * Find sfud flash device by SPI device name
  51. *
  52. * @param spi_dev_name using SPI device name
  53. *
  54. * @return sfud flash device if success, otherwise return RT_NULL
  55. */
  56. sfud_flash_t rt_sfud_flash_find(const char *spi_dev_name);
  57. /**
  58. * Find sfud flash device by flash device name
  59. *
  60. * @param flash_dev_name using flash device name
  61. *
  62. * @return sfud flash device if success, otherwise return RT_NULL
  63. */
  64. sfud_flash_t rt_sfud_flash_find_by_dev_name(const char *flash_dev_name);
  65. #ifdef __cplusplus
  66. }
  67. #endif
  68. #endif /* __DEV_SPI_FLASH_SFUD_H__ */