18#ifndef __VSF_USBH_WIFI_MT76_PRIV_H__
19#define __VSF_USBH_WIFI_MT76_PRIV_H__
25#if VSF_USE_USB_HOST == ENABLED && VSF_USBH_USE_MT76 == ENABLED && VSF_USE_WIFI == ENABLED
32#define MT76_EP_IN_PKT_RX 0
33#define MT76_EP_IN_CMD_RESP 1
34#define MT76_EP_IN_MAX 2
36#define MT76_EP_OUT_INBAND_CMD 0
37#define MT76_EP_OUT_AC_BE 1
38#define MT76_EP_OUT_AC_BK 2
39#define MT76_EP_OUT_AC_VI 3
40#define MT76_EP_OUT_AC_VO 4
41#define MT76_EP_OUT_HCCA 5
42#define MT76_EP_OUT_MAX 6
44#ifndef VSF_USBH_WIFI_MT76_CFG_RX_NUM
45# define VSF_USBH_WIFI_MT76_CFG_RX_NUM 4
47#ifndef VSF_USBH_WIFI_MT76_CFG_TX_NUM
48# define VSF_USBH_WIFI_MT76_CFG_TX_NUM 4
50#ifndef VSF_USBH_WIFI_MT76_CFG_RX_BUFSIZE
51# define VSF_USBH_WIFI_MT76_CFG_RX_BUFSIZE 4096
53#ifndef VSF_USBH_WIFI_MT76_CFG_TX_BUFSIZE
54# define VSF_USBH_WIFI_MT76_CFG_TX_BUFSIZE 4096
74#define MT76_EP0_CLASS_DATA_SIZE 64
75#define MT76_EP0_QUEUE_SIZE 8
146#define __this_uwifi(__eda) vsf_container_of(__eda, vk_usbh_wifi_mt76_t, eda)
Definition vsf_usbh.h:478
Definition vsf_usbh.h:523
Definition vsf_usbh.h:450
unsigned short uint16_t
Definition stdint.h:7
unsigned uint32_t
Definition stdint.h:9
unsigned char uint8_t
Definition stdint.h:5
Definition vsf_wifi_mt76.h:128
Definition usb_common.h:89
Definition usb_common.h:294
Definition vsf_usbh.h:179
Definition vsf_usbh_wifi_mt76_priv.h:88
uint8_t tail
Definition vsf_usbh_wifi_mt76_priv.h:91
vk_usbh_wifi_mt76_ep0_req_t reqs[MT76_EP0_QUEUE_SIZE]
Definition vsf_usbh_wifi_mt76_priv.h:89
uint8_t count
Definition vsf_usbh_wifi_mt76_priv.h:92
uint8_t head
Definition vsf_usbh_wifi_mt76_priv.h:90
Definition vsf_usbh_wifi_mt76_priv.h:77
uint8_t class_data[MT76_EP0_CLASS_DATA_SIZE]
Definition vsf_usbh_wifi_mt76_priv.h:83
vk_usbh_wifi_mt76_ep0_req_type_t type
Definition vsf_usbh_wifi_mt76_priv.h:78
void * buf
Definition vsf_usbh_wifi_mt76_priv.h:82
uint32_t fce_addr
Definition vsf_usbh_wifi_mt76_priv.h:80
vsf_wifi_done_t done
Definition vsf_usbh_wifi_mt76_priv.h:85
struct usb_ctrlrequest_t req
Definition vsf_usbh_wifi_mt76_priv.h:79
uint32_t fce_val
Definition vsf_usbh_wifi_mt76_priv.h:81
uint16_t class_len
Definition vsf_usbh_wifi_mt76_priv.h:84
Definition vsf_usbh_wifi_mt76_priv.h:95
uint8_t addr
Definition vsf_usbh_wifi_mt76_priv.h:96
struct usb_endpoint_desc_t * desc
Definition vsf_usbh_wifi_mt76_priv.h:97
Definition vsf_usbh_wifi_mt76_priv.h:100
uint8_t is_busy
Definition vsf_usbh_wifi_mt76_priv.h:104
uint8_t ep_idx
Definition vsf_usbh_wifi_mt76_priv.h:105
uint8_t is_supported
Definition vsf_usbh_wifi_mt76_priv.h:103
vk_usbh_urb_t urb
Definition vsf_usbh_wifi_mt76_priv.h:101
uint8_t is_rx
Definition vsf_usbh_wifi_mt76_priv.h:102
vsf_wifi_done_t done
Definition vsf_usbh_wifi_mt76_priv.h:106
Definition vsf_usbh_wifi_mt76_priv.h:109
vsf_wifi_t wifi
Definition vsf_usbh_wifi_mt76_priv.h:118
uint32_t ep0_fce_addr
Definition vsf_usbh_wifi_mt76_priv.h:134
bool ep0_busy
Definition vsf_usbh_wifi_mt76_priv.h:129
bool ep0_crit_pend
Definition vsf_usbh_wifi_mt76_priv.h:130
vk_usbh_wifi_mt76_ep_t out_ep[MT76_EP_OUT_MAX]
Definition vsf_usbh_wifi_mt76_priv.h:115
vk_usbh_wifi_mt76_ep0_queue_t ep0_queue
Definition vsf_usbh_wifi_mt76_priv.h:131
vk_usbh_wifi_mt76_iocb_t rx_pkt_iocb[VSF_USBH_WIFI_MT76_CFG_RX_NUM]
Definition vsf_usbh_wifi_mt76_priv.h:138
mt76_wifi_priv_t mt76_priv
Definition vsf_usbh_wifi_mt76_priv.h:121
vk_usbh_ifs_t * ifs
Definition vsf_usbh_wifi_mt76_priv.h:112
vk_usbh_wifi_mt76_iocb_t mcu_cmd_iocb
Definition vsf_usbh_wifi_mt76_priv.h:141
void * ep0_buf
Definition vsf_usbh_wifi_mt76_priv.h:133
struct usb_ctrlrequest_t ep0_req
Definition vsf_usbh_wifi_mt76_priv.h:132
vsf_wifi_done_t ep0_done
Definition vsf_usbh_wifi_mt76_priv.h:128
vk_usbh_dev_t * dev
Definition vsf_usbh_wifi_mt76_priv.h:111
vk_usbh_wifi_mt76_ep0_state_t ep0_state
Definition vsf_usbh_wifi_mt76_priv.h:127
vsf_eda_t eda
Definition vsf_usbh_wifi_mt76_priv.h:117
vk_usbh_wifi_mt76_ep_t in_ep[MT76_EP_IN_MAX]
Definition vsf_usbh_wifi_mt76_priv.h:114
vk_usbh_t * usbh
Definition vsf_usbh_wifi_mt76_priv.h:110
vk_usbh_wifi_mt76_iocb_t tx_iocb[VSF_USBH_WIFI_MT76_CFG_TX_NUM]
Definition vsf_usbh_wifi_mt76_priv.h:140
uint32_t ep0_fce_val
Definition vsf_usbh_wifi_mt76_priv.h:135
vk_usbh_wifi_mt76_iocb_t rx_cmd_iocb
Definition vsf_usbh_wifi_mt76_priv.h:139
Definition vsf_wifi_priv.h:57
struct vk_usbh_wifi_mt76_ep0_req_t vk_usbh_wifi_mt76_ep0_req_t
#define MT76_EP0_CLASS_DATA_SIZE
Definition vsf_usbh_wifi_mt76_priv.h:74
#define VSF_USBH_WIFI_MT76_CFG_RX_NUM
Definition vsf_usbh_wifi_mt76_priv.h:45
#define MT76_EP0_QUEUE_SIZE
Definition vsf_usbh_wifi_mt76_priv.h:75
struct vk_usbh_wifi_mt76_ep0_queue_t vk_usbh_wifi_mt76_ep0_queue_t
struct vk_usbh_wifi_mt76_iocb_t vk_usbh_wifi_mt76_iocb_t
#define MT76_EP_OUT_MAX
Definition vsf_usbh_wifi_mt76_priv.h:42
#define MT76_EP_IN_MAX
Definition vsf_usbh_wifi_mt76_priv.h:34
struct vk_usbh_wifi_mt76_ep_t vk_usbh_wifi_mt76_ep_t
#define VSF_USBH_WIFI_MT76_CFG_TX_NUM
Definition vsf_usbh_wifi_mt76_priv.h:48
vk_usbh_wifi_mt76_ep0_req_type_t
Definition vsf_usbh_wifi_mt76_priv.h:66
@ MT76_EP0_REQ_FCE_WRITE
Definition vsf_usbh_wifi_mt76_priv.h:69
@ MT76_EP0_REQ_DEV_CMD
Definition vsf_usbh_wifi_mt76_priv.h:70
@ MT76_EP0_REQ_DEV_CLASS_CMD
Definition vsf_usbh_wifi_mt76_priv.h:71
@ MT76_EP0_REQ_WRITE
Definition vsf_usbh_wifi_mt76_priv.h:68
@ MT76_EP0_REQ_READ
Definition vsf_usbh_wifi_mt76_priv.h:67
struct vk_usbh_wifi_mt76_t vk_usbh_wifi_mt76_t
vk_usbh_wifi_mt76_ep0_state_t
Definition vsf_usbh_wifi_mt76_priv.h:59
@ MT76_EP0_FCE_LO
Definition vsf_usbh_wifi_mt76_priv.h:62
@ MT76_EP0_IDLE
Definition vsf_usbh_wifi_mt76_priv.h:60
@ MT76_EP0_FCE_HI
Definition vsf_usbh_wifi_mt76_priv.h:63
@ MT76_EP0_MCU_CMD
Definition vsf_usbh_wifi_mt76_priv.h:61
void(* vsf_wifi_done_t)(vsf_wifi_t *wifi, vsf_err_t err)
Definition vsf_wifi.h:123