hv_drv_UsbDefines.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. /*
  2. * @file hv_drv_UsbDefines.h
  3. * @brief HAL layer porting for usb gadget.
  4. *
  5. * @author HiView SoC Software Team
  6. * @version 1.0.0
  7. * @date 2022-06-15
  8. */
  9. #ifndef __HV_DRV_USB_DEFINES_H_
  10. #define __HV_DRV_USB_DEFINES_H_
  11. /* standard C Header */
  12. #include <assert.h>
  13. #include <stdbool.h>
  14. #include <stdint.h>
  15. #include <stddef.h>
  16. #include <string.h>
  17. #include "stdlib.h"
  18. #include "hv_vos_Comm.h"
  19. #include "hv_comm_DataType.h"
  20. /* specific def and operation */
  21. #include "hv_drv_UsbErrNo.h"
  22. #define typeof __typeof__
  23. #ifdef HS_CONFIG_OS_FREERTOS
  24. #include "FreeRTOS.h"
  25. #include "semphr.h"
  26. #include "os_print.h"
  27. /* Critical section helper functions */
  28. #define HAL_ENTER_CRITICAL() taskENTER_CRITICAL()
  29. #define HAL_EXIT_CRITICAL() taskEXIT_CRITICAL()
  30. #define HAL_ENTER_CRITICAL_FROM_ISR() taskENTER_CRITICAL_FROM_ISR()
  31. #define HAL_EXIT_CRITICAL_FROM_ISR( x ) taskEXIT_CRITICAL_FROM_ISR( x )
  32. #define HAL_MAXDELAY (portTickType)portMAX_DELAY
  33. #define HAL_GET_TICK() xTaskGetTickCount()
  34. #define HAL_GET_TICK_FROM_ISR() xTaskGetTickCountFromISR()
  35. /* Share resource protection and synchronization helper functions */
  36. #define HAL_LOCK_INIT(x) (x = xSemaphoreCreateMutex())
  37. #define HAL_LOCK_FINI(x) vSemaphoreDelete(x)
  38. #define HAL_LOCK(x) xSemaphoreTake(x,HAL_MAXDELAY)
  39. #define HAL_UNLOCK(x) xSemaphoreGive(x)
  40. #define HAL_SEMA_INIT(x, y) xSemaphoreCreateCounting(x, y)
  41. #define HAL_SEMA_FINI(x) vSemaphoreDelete(x)
  42. #define HAL_SEMA_TAKE(x, y) xSemaphoreTake( x, y )
  43. #define HAL_SEMA_GIVE(x) xSemaphoreGive(x)
  44. #define HAL_SEMA_TAKE_FROM_ISR(x, y) xSemaphoreTakeFromISR( x, y )
  45. #define HAL_SEMA_GIVE_FROM_ISR(x, y) xSemaphoreGiveFromISR(x, y)
  46. #define HAL_QUEU_INIT(x, y) xQueueCreate(x, y)
  47. #define HAL_QUEU_FINI(x) vQueueDelete(x)
  48. #define HAL_QUEU_GET(x,y) xQueueReceive(x,y,HAL_MAXDELAY)
  49. #define HAL_QUEU_PUT(x,y) xQueueSend(x,y,HAL_MAXDELAY)
  50. #define HAL_QUEU_GET_FROM_ISR(x,y,z) xQueueReceiveFromISR(x,y,z)
  51. #define HAL_QUEU_PUT_FROM_ISR(x,y,z) xQueueSendFromISR(x,y,z)
  52. #define HAL_TASK_CREATE(x,y,z,a,b,c) xTaskCreate(x,y,z,a,b,c)
  53. #define HAL_TASK_DELETE(x) vTaskDelete(x)
  54. #endif
  55. #define pr_debug HV_LOGV
  56. #define pr_err HV_LOGE
  57. #define pr_info HV_LOGI
  58. #define HAL_W32 HV_W32
  59. #define HAL_R32 HV_R32
  60. #define HAL_W16 HV_W16
  61. #define HAL_R16 HV_R16
  62. #define HAL_W8 HV_W8
  63. #define HAL_R8 HV_R8
  64. #define HAL_W32_MASK HV_W32_MASK
  65. typedef unsigned short __u16;
  66. typedef unsigned int __u32;
  67. typedef signed short __s16;
  68. typedef signed int __s32;
  69. typedef __u16 __le16;
  70. typedef __u16 __be16;
  71. typedef __u32 __le32;
  72. typedef __u32 __be32;
  73. typedef __u16 __sum16;
  74. typedef __u32 __wsum;
  75. typedef unsigned char u8;
  76. typedef char s8;
  77. typedef unsigned short u16;
  78. typedef unsigned int u32;
  79. typedef signed short s16;
  80. typedef signed int s32;
  81. typedef unsigned long long u64;
  82. typedef unsigned short le16;
  83. typedef unsigned short be16;
  84. typedef unsigned int le32;
  85. typedef unsigned int be32;
  86. /* sysv */
  87. typedef unsigned char unchar;
  88. typedef unsigned short ushort;
  89. typedef unsigned int uint;
  90. typedef unsigned long ulong;
  91. typedef unsigned int gfp_t;
  92. typedef long long loff_t;
  93. typedef u32 dma_addr_t;
  94. #define false 0
  95. #define true 1
  96. #endif