8 #ifndef HPM_USB_DEVICE_H
9 #define HPM_USB_DEVICE_H
16 #include "hpm_soc_feature.h"
38 volatile uint32_t : 1;
42 volatile uint32_t : 2;
44 volatile uint32_t : 3;
47 volatile uint32_t : 1;
67 volatile uint32_t : 2;
70 volatile uint32_t : 0;
88 volatile uint8_t reserved[8];
101 #if defined(__cplusplus)
181 #if defined(__cplusplus)
#define USB_SOC_DCD_QHD_BUFFER_COUNT
Definition: hpm_soc_feature.h:84
#define USB_SOS_DCD_MAX_QHD_COUNT
Definition: hpm_soc_feature.h:90
#define USB_SOC_DCD_MAX_QTD_COUNT
Definition: hpm_soc_feature.h:89
usb_control_request_t
Definition: hpm_usb_drv.h:126
bool usb_device_get_port_ccs(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:182
uint8_t usb_device_get_port_speed(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:144
uint32_t usb_device_get_setup_status(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:202
void usb_device_remote_wakeup(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:167
uint32_t usb_device_interrupts(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:139
void usb_device_disconnect(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:177
uint8_t usb_device_get_address(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:162
void usb_device_clear_edpt_complete_status(usb_device_handle_t *handle, uint32_t mask)
Definition: hpm_usb_device.c:197
void usb_device_edpt_stall(usb_device_handle_t *handle, uint8_t ep_addr)
Definition: hpm_usb_device.c:336
dcd_qhd_t * usb_device_qhd_get(usb_device_handle_t *handle, uint8_t ep_idx)
Definition: hpm_usb_device.c:63
void usb_device_edpt_clear_stall(usb_device_handle_t *handle, uint8_t ep_addr)
Definition: hpm_usb_device.c:341
void usb_device_clear_setup_status(usb_device_handle_t *handle, uint32_t mask)
Definition: hpm_usb_device.c:207
void usb_device_deinit(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:117
void usb_device_edpt_close_all(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:356
void usb_device_connect(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:172
bool usb_device_edpt_check_stall(usb_device_handle_t *handle, uint8_t ep_addr)
Definition: hpm_usb_device.c:346
uint32_t usb_device_status_flags(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:129
uint8_t usb_device_get_suspend_status(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:149
void usb_device_set_address(usb_device_handle_t *handle, uint8_t dev_addr)
Definition: hpm_usb_device.c:154
bool usb_device_get_port_reset_status(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:187
uint32_t usb_device_get_edpt_complete_status(usb_device_handle_t *handle)
Definition: hpm_usb_device.c:192
void usb_device_edpt_close(usb_device_handle_t *handle, uint8_t ep_addr)
Definition: hpm_usb_device.c:351
void usb_device_clear_status_flags(usb_device_handle_t *handle, uint32_t mask)
Definition: hpm_usb_device.c:134
bool usb_device_edpt_xfer(usb_device_handle_t *handle, uint8_t ep_addr, uint8_t *buffer, uint32_t total_bytes)
Definition: hpm_usb_device.c:248
void usb_device_bus_reset(usb_device_handle_t *handle, uint16_t ep0_max_packet_size)
Definition: hpm_usb_device.c:73
dcd_qtd_t * usb_device_qtd_get(usb_device_handle_t *handle, uint8_t ep_idx)
Definition: hpm_usb_device.c:68
bool usb_device_edpt_open(usb_device_handle_t *handle, usb_endpoint_config_t *config)
Definition: hpm_usb_device.c:216
bool usb_device_init(usb_device_handle_t *handle, uint32_t int_mask)
Definition: hpm_usb_device.c:91
Definition: hpm_usb_regs.h:12
Definition: hpm_usb_device.h:91
Definition: hpm_usb_device.h:61
volatile uint32_t int_on_setup
Definition: hpm_usb_device.h:65
volatile uint32_t max_packet_size
Definition: hpm_usb_device.h:66
volatile dcd_qtd_t qtd_overlay
Definition: hpm_usb_device.h:76
volatile usb_control_request_t setup_request
Definition: hpm_usb_device.h:79
dcd_qtd_t *volatile attached_qtd
Definition: hpm_usb_device.h:87
volatile uint32_t iso_mult
Definition: hpm_usb_device.h:69
volatile uint32_t attached_buffer
Definition: hpm_usb_device.h:86
volatile uint32_t
Definition: hpm_usb_device.h:64
volatile uint32_t zero_length_termination
Definition: hpm_usb_device.h:68
volatile uint32_t qtd_addr
Definition: hpm_usb_device.h:73
Definition: hpm_usb_device.h:28
volatile bool in_use
Definition: hpm_usb_device.h:56
volatile uint32_t next
Definition: hpm_usb_device.h:30
volatile uint32_t xact_err
Definition: hpm_usb_device.h:37
volatile uint8_t reserved
Definition: hpm_usb_device.h:57
volatile uint32_t active
Definition: hpm_usb_device.h:41
volatile uint32_t halted
Definition: hpm_usb_device.h:40
volatile uint32_t total_bytes
Definition: hpm_usb_device.h:46
volatile uint16_t expected_bytes
Definition: hpm_usb_device.h:55
volatile uint32_t int_on_complete
Definition: hpm_usb_device.h:45
volatile uint32_t buffer_err
Definition: hpm_usb_device.h:39
volatile uint32_t iso_mult_override
Definition: hpm_usb_device.h:43
volatile uint32_t token
Definition: hpm_usb_device.h:34
volatile uint32_t
Definition: hpm_usb_device.h:36
Definition: hpm_usb_device.h:96
dcd_data_t * dcd_data
Definition: hpm_usb_device.h:98
USB_Type * regs
Definition: hpm_usb_device.h:97
Endpoint config structure.
Definition: hpm_usb_drv.h:131