usb_config.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. /**@file usb_config.h
  2. * @brief usb_config配置头文件
  3. * @details 功能函数声明
  4. * @author jieli
  5. * @date 2021-8-1
  6. * @version V1.0
  7. * @copyright Copyright(c)2010-2021 珠海市杰理科技股份有限公司
  8. *********************************************************
  9. * @attention
  10. * 硬件平台:AC695N
  11. * SDK版本:AC695N_V1.0.0_SDK
  12. * @修改日志:
  13. * <table>
  14. * <tr><th>Date <th>Version <th>Author <th>Description
  15. * <tr><td>2021-8-1 <td>1.0 <td>jieli <td>创建初始版本
  16. * </table>
  17. *
  18. *********************************************************
  19. */
  20. #ifndef __USB_CONFIG_H__
  21. #define __USB_CONFIG_H__
  22. #include "typedef.h"
  23. #include "asm/usb.h"
  24. #include "usb/device/usb_stack.h"
  25. #include "usb/host/usb_host.h"
  26. /**@brief USB主机模式配置
  27. * @param[in] usb_id USB的id号
  28. * @return 无
  29. * @par 示例:
  30. * @code
  31. * usb_host_config(usb_id);
  32. * @encode
  33. */
  34. void usb_host_config(usb_dev usb_id);
  35. /**@brief USB主机模式释放
  36. * @param[in] usb_id USB的id号
  37. * @return 无
  38. * @par 示例:
  39. * @code
  40. * usb_host_free(usb_id);
  41. * @encode
  42. */
  43. void usb_host_free(usb_dev usb_id);
  44. /**@brief USB主机模式获取端点的BUFFER的地址
  45. * @param[in] usb_id USB的id号
  46. * @param[in] ep 端点号
  47. * @return 无
  48. * @par 示例:
  49. * @code
  50. * usb_h_get_ep_bufeeer(usb_id , ep);
  51. * @encode
  52. */
  53. void *usb_h_get_ep_buffer(const usb_dev usb_id, u32 ep);
  54. /**@brief USB主机模式中断注册
  55. * @param[in] usb_id USB的id号
  56. * @param[in] priority 优先级
  57. * @param[in] cpu_id cpu的id号
  58. * @return 无
  59. * @par 示例:
  60. * @code
  61. * usb_h_isr_reg(usb_id , ep);
  62. * @encode
  63. */
  64. void usb_h_isr_reg(const usb_dev usb_id, u8 priority, u8 cpu_id);
  65. /**@brief USB从机模式中断注册
  66. * @param[in] usb_id USB的id号
  67. * @param[in] priority 优先级
  68. * @param[in] cpu_id cpu的id号
  69. * @return 无
  70. * @par 示例:
  71. * @code
  72. * usb_g_isr_reg(usb_id , ep);
  73. * @encode
  74. */
  75. void usb_g_isr_reg(const usb_dev usb_id, u8 priority, u8 cpu_id);
  76. /**@brief USB SOF中断注册
  77. * @param[in] usb_id USB的id号
  78. * @param[in] priority 优先级
  79. * @param[in] cpu_id cpu的id号
  80. * @return 无
  81. * @par 示例:
  82. * @code
  83. * usb_sof_isr_reg(usb_id , ep);
  84. * @encode
  85. */
  86. void usb_sof_isr_reg(const usb_dev usb_id, u8 priority, u8 cpu_id);
  87. /**@brief 分配端点BUFFER的dma地址
  88. * @param[in] usb_id USB的id号
  89. * @param[in] ep 端点号
  90. * @param[in] dma_size 数据长度
  91. * @return 无
  92. * @par 示例:
  93. * @code
  94. * usb_alloc_ep_dmabuffer(usb_id , ep , size);
  95. * @encode
  96. */
  97. void *usb_alloc_ep_dmabuffer(const usb_dev usb_id, u32 ep, u32 dma_size);
  98. /**@brief USB从机初始化配置
  99. * @param[in] usb_id USB的id号
  100. * @return 0:成功
  101. * @par 示例:
  102. * @code
  103. * usb_config(usb_id);
  104. * @encode
  105. */
  106. u32 usb_config(const usb_dev usb_id);
  107. /**@brief USB从机释放
  108. * @param[in] usb_id USB的id号
  109. * @return 0:成功
  110. * @par 示例:
  111. * @code
  112. * usb_release(usb_id);
  113. * @encode
  114. */
  115. u32 usb_release(const usb_dev usb_id);
  116. /**@brief USB内存空间初始化
  117. * @param[in] 无
  118. * @return 无
  119. * @par 示例:
  120. * @code
  121. * usb_memory_init(usb_id);
  122. * @encode
  123. */
  124. void usb_memory_init();
  125. #endif /*USB_CONFIG_H*/