/* * @file hv_drv_UsbDefines.h * @brief HAL layer porting for usb gadget. * * @author HiView SoC Software Team * @version 1.0.0 * @date 2022-06-15 */ #ifndef __HV_DRV_USB_DEFINES_H_ #define __HV_DRV_USB_DEFINES_H_ /* standard C Header */ #include #include #include #include #include #include "stdlib.h" #include "hv_vos_Comm.h" #include "hv_comm_DataType.h" /* specific def and operation */ #include "hv_drv_UsbErrNo.h" #define typeof __typeof__ #ifdef HS_CONFIG_OS_FREERTOS #include "FreeRTOS.h" #include "semphr.h" #include "os_print.h" /* Critical section helper functions */ #define HAL_ENTER_CRITICAL() taskENTER_CRITICAL() #define HAL_EXIT_CRITICAL() taskEXIT_CRITICAL() #define HAL_ENTER_CRITICAL_FROM_ISR() taskENTER_CRITICAL_FROM_ISR() #define HAL_EXIT_CRITICAL_FROM_ISR( x ) taskEXIT_CRITICAL_FROM_ISR( x ) #define HAL_MAXDELAY (portTickType)portMAX_DELAY #define HAL_GET_TICK() xTaskGetTickCount() #define HAL_GET_TICK_FROM_ISR() xTaskGetTickCountFromISR() /* Share resource protection and synchronization helper functions */ #define HAL_LOCK_INIT(x) (x = xSemaphoreCreateMutex()) #define HAL_LOCK_FINI(x) vSemaphoreDelete(x) #define HAL_LOCK(x) xSemaphoreTake(x,HAL_MAXDELAY) #define HAL_UNLOCK(x) xSemaphoreGive(x) #define HAL_SEMA_INIT(x, y) xSemaphoreCreateCounting(x, y) #define HAL_SEMA_FINI(x) vSemaphoreDelete(x) #define HAL_SEMA_TAKE(x, y) xSemaphoreTake( x, y ) #define HAL_SEMA_GIVE(x) xSemaphoreGive(x) #define HAL_SEMA_TAKE_FROM_ISR(x, y) xSemaphoreTakeFromISR( x, y ) #define HAL_SEMA_GIVE_FROM_ISR(x, y) xSemaphoreGiveFromISR(x, y) #define HAL_QUEU_INIT(x, y) xQueueCreate(x, y) #define HAL_QUEU_FINI(x) vQueueDelete(x) #define HAL_QUEU_GET(x,y) xQueueReceive(x,y,HAL_MAXDELAY) #define HAL_QUEU_PUT(x,y) xQueueSend(x,y,HAL_MAXDELAY) #define HAL_QUEU_GET_FROM_ISR(x,y,z) xQueueReceiveFromISR(x,y,z) #define HAL_QUEU_PUT_FROM_ISR(x,y,z) xQueueSendFromISR(x,y,z) #define HAL_TASK_CREATE(x,y,z,a,b,c) xTaskCreate(x,y,z,a,b,c) #define HAL_TASK_DELETE(x) vTaskDelete(x) #endif #define pr_debug HV_LOGV #define pr_err HV_LOGE #define pr_info HV_LOGI #define HAL_W32 HV_W32 #define HAL_R32 HV_R32 #define HAL_W16 HV_W16 #define HAL_R16 HV_R16 #define HAL_W8 HV_W8 #define HAL_R8 HV_R8 #define HAL_W32_MASK HV_W32_MASK typedef unsigned short __u16; typedef unsigned int __u32; typedef signed short __s16; typedef signed int __s32; typedef __u16 __le16; typedef __u16 __be16; typedef __u32 __le32; typedef __u32 __be32; typedef __u16 __sum16; typedef __u32 __wsum; typedef unsigned char u8; typedef char s8; typedef unsigned short u16; typedef unsigned int u32; typedef signed short s16; typedef signed int s32; typedef unsigned long long u64; typedef unsigned short le16; typedef unsigned short be16; typedef unsigned int le32; typedef unsigned int be32; /* sysv */ typedef unsigned char unchar; typedef unsigned short ushort; typedef unsigned int uint; typedef unsigned long ulong; typedef unsigned int gfp_t; typedef long long loff_t; typedef u32 dma_addr_t; #define false 0 #define true 1 #endif