38#define USB_PID_SETUP 3
40#define USB_PID_DATA0 0
41#define USB_PID_DATA2 1
44#define DWC2_GET_PORT_SPEED(hport) ((hport >> 17) & 0x3)
50#define EP_ISOCHRONOUS 1
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
unsigned short int uint16_t
Definition acefiex.h:162
void dwc2_free_used_dma_list()
dwc2_free_used_dma_list – free up all used physical memories, this function must be called at the end...
Definition main.cpp:645
void dwc2_flush_rx_fifo(struct dwc2_core_regs *regs)
Definition main.cpp:271
int dwc2_wait_channel_look_bit(struct dwc2_core_regs *regs, int ch, int bit)
Definition dwc2_channel.cpp:329
void * root_hub_get_interrupt_buffer()
Definition dwc2_root.cpp:217
dwc2_core_regs * dwc2_get_core_regs()
Definition main.cpp:659
uint32_t dwc2_read(uint64_t base)
dwc2_read – reads a value from dwc2 register
Definition main.cpp:99
void dwc2_enumerate_root_device(struct dwc2_core_regs *regs)
Definition dwc2_root.cpp:73
uint8_t dwc2_assign_address()
dwc2_assign_address – assigns address to a usb device
Definition main.cpp:89
void * dwc2_get_dma_address_phys()
Definition main.cpp:623
void dwc2_add_to_used_dma_list(void *phys)
dwc2_add_to_used_dma_list – there is a bug i guess within the dwc2 ip where same buffer can't be used...
Definition main.cpp:636
void * dwc2_get_dma_address()
dwc2_get_dma_address – return pre allocated dma address
Definition main.cpp:618
void dwc2_write(uint64_t base, uint32_t value)
dwc2_write – write a value to dwc2 register
Definition main.cpp:108
AuDMAGlobalClass * dwc2_get_dma_class()
dwc2_get_dma_class – get global dma class
Definition main.cpp:655
void root_hub_transfer_int(dwc2_core_regs *regs, uint8_t pid)
Definition dwc2_root.cpp:203
bool dwc2_control_transfer(struct dwc2_core_regs *regs, dwc2_usb_endpoint_t *ep, uint8_t bmRequestType, uint8_t b_request, uint16_t wValue, uint16_t wIndex, void *data, uint16_t wLength)
Definition dwc2_channel.cpp:358
void dwc2_interrupt_transfer(dwc2_core_regs *regs, dwc2_usb_endpoint_t *ep, void *intbuf, uint8_t ch, uint32_t odd, uint8_t pid)
Definition dwc2_channel.cpp:599
void dwc2_handle_channel_interrupt(dwc2_core_regs *regs, int ch)
dwc2_handle_channel_interrupt – handle channel interrupts here
Definition dwc2_channel.cpp:483
void dwc2_interrupt_transfer_csplit(dwc2_core_regs *regs, dwc2_usb_endpoint_t *ep, void *intbuf, uint8_t ch, uint32_t odd, uint8_t pid)
Definition dwc2_channel.cpp:604
void root_hub_handle_port_change(dwc2_core_regs *regs, uint8_t port)
Definition dwc2_root.cpp:226
void dwc2_flush_tx_fifo(struct dwc2_core_regs *regs, uint32_t nfifo)
Definition main.cpp:257
int dwc2_wait_channel(struct dwc2_core_regs *regs, int ch)
Definition dwc2_channel.cpp:316
uint8_t speed
Definition dwc2.h:59
uint16_t max_packet_sz
Definition dwc2.h:67
uint8_t next_pid
Definition dwc2.h:72
uint8_t dir
Definition dwc2.h:57
uint8_t ch
Definition dwc2.h:73
uint8_t hub_address
Definition dwc2.h:70
uint8_t interval
Definition dwc2.h:68
uint8_t hub_port
Definition dwc2.h:71
uint8_t ep_num
Definition dwc2.h:56
uint8_t split_enable
Definition dwc2.h:69
uint8_t type
Definition dwc2.h:58
uint8_t dev_address
Definition dwc2.h:55
uint16_t wIndex
Definition dwc2.h:81
uint8_t bmRequest
Definition dwc2.h:79
uint16_t wLength
Definition dwc2.h:82
uint16_t wValue
Definition dwc2.h:80
uint8_t bmRequestType
Definition dwc2.h:78