spi_flash_sfud.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /*
  2. * Copyright (c) 2006-2021, 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. */
  10. #ifndef _SPI_FLASH_SFUD_H_
  11. #define _SPI_FLASH_SFUD_H_
  12. #include <rtthread.h>
  13. #include <rtdevice.h>
  14. #include "./sfud/inc/sfud.h"
  15. #include "spi_flash.h"
  16. /**
  17. * Probe SPI flash by SFUD(Serial Flash Universal Driver) driver library and though SPI device.
  18. *
  19. * @param spi_flash_dev_name the name which will create SPI flash device
  20. * @param spi_dev_name using SPI device name
  21. *
  22. * @return probed SPI flash device, probe failed will return RT_NULL
  23. */
  24. rt_spi_flash_device_t rt_sfud_flash_probe(const char *spi_flash_dev_name, const char *spi_dev_name);
  25. /**
  26. * Probe SPI flash by SFUD (Serial Flash Universal Driver) driver library and though SPI device by specified configuration.
  27. *
  28. * @param spi_flash_dev_name the name which will create SPI flash device
  29. * @param spi_dev_name using SPI device name
  30. * @param spi_cfg SPI device configuration
  31. * @param qspi_cfg QSPI device configuration
  32. *
  33. * @return probed SPI flash device, probe failed will return RT_NULL
  34. */
  35. rt_spi_flash_device_t rt_sfud_flash_probe_ex(const char *spi_flash_dev_name, const char *spi_dev_name,
  36. struct rt_spi_configuration *spi_cfg, struct rt_qspi_configuration *qspi_cfg);
  37. /**
  38. * Delete SPI flash device
  39. *
  40. * @param spi_flash_dev SPI flash device
  41. *
  42. * @return the operation status, RT_EOK on successful
  43. */
  44. rt_err_t rt_sfud_flash_delete(rt_spi_flash_device_t spi_flash_dev);
  45. /**
  46. * Find sfud flash device by SPI device name
  47. *
  48. * @param spi_dev_name using SPI device name
  49. *
  50. * @return sfud flash device if success, otherwise return RT_NULL
  51. */
  52. sfud_flash_t rt_sfud_flash_find(const char *spi_dev_name);
  53. /**
  54. * Find sfud flash device by flash device name
  55. *
  56. * @param flash_dev_name using flash device name
  57. *
  58. * @return sfud flash device if success, otherwise return RT_NULL
  59. */
  60. sfud_flash_t rt_sfud_flash_find_by_dev_name(const char *flash_dev_name);
  61. #endif /* _SPI_FLASH_SFUD_H_ */