forked from yystopf/xiuos
Add dwc3_init
This commit is contained in:
parent
637408e192
commit
a509d162ec
|
@ -92,6 +92,10 @@ int dwc3_core_init(struct dwc3 *dwc){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void dwc3_core_exit(struct dwc3 *dwc){
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int dwc3_alloc_scratch_buffers(struct dwc3 *dwc){
|
int dwc3_alloc_scratch_buffers(struct dwc3 *dwc){
|
||||||
uint32_t length;
|
uint32_t length;
|
||||||
|
|
||||||
|
@ -119,11 +123,20 @@ int dwc3_alloc_event_buffers(struct dwc3 *dwc, uint32_t length){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void dwc3_free_event_buffers(struct dwc3 *dwc){
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int dwc3_event_buffers_setup(struct dwc3 *dwc){
|
int dwc3_event_buffers_setup(struct dwc3 *dwc){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void dwc3_event_buffers_cleanup(struct dwc3 *dwc){
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int dwc3_core_init_mode(struct dwc3 *dwc){
|
int dwc3_core_init_mode(struct dwc3 *dwc){
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -137,12 +150,51 @@ void dwc3_set_mode(struct dwc3 *dwc, uint32_t mode){
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int dwc3_init(struct dwc3 *dwc){
|
int dwc3_init(struct dwc3 *dwc)
|
||||||
return 0;
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
dwc3_cache_hwparams(dwc);
|
||||||
|
|
||||||
|
ret = dwc3_alloc_event_buffers(dwc, DWC3_EVENT_BUFFERS_SIZE);
|
||||||
|
if (ret) {
|
||||||
|
USB_LOG_ERR("failed to allocate event buffers\n");
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = dwc3_core_init(dwc);
|
||||||
|
if (ret) {
|
||||||
|
USB_LOG_ERR("failed to initialize core\n");
|
||||||
|
goto core_fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = dwc3_event_buffers_setup(dwc);
|
||||||
|
if (ret) {
|
||||||
|
USB_LOG_ERR("failed to setup event buffers\n");
|
||||||
|
goto event_fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = dwc3_core_init_mode(dwc);
|
||||||
|
if (ret)
|
||||||
|
goto mode_fail;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
mode_fail:
|
||||||
|
dwc3_event_buffers_cleanup(dwc);
|
||||||
|
|
||||||
|
event_fail:
|
||||||
|
dwc3_core_exit(dwc);
|
||||||
|
|
||||||
|
core_fail:
|
||||||
|
dwc3_free_event_buffers(dwc);
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int dwc3_send_gadget_generic_command(struct dwc3 *dwc, unsigned cmd, uint32_t param){
|
int dwc3_send_gadget_generic_command(struct dwc3 *dwc, unsigned cmd, uint32_t param){
|
||||||
uint32_t timeout = 500;
|
uint32_t timeout = 500;
|
||||||
uint32_t reg;
|
uint32_t reg;
|
||||||
|
|
|
@ -888,14 +888,21 @@ void dwc3_cache_hwparams(struct dwc3 *dwc);
|
||||||
|
|
||||||
int dwc3_core_init(struct dwc3 *dwc);
|
int dwc3_core_init(struct dwc3 *dwc);
|
||||||
|
|
||||||
|
void dwc3_core_exit(struct dwc3 *dwc);
|
||||||
|
|
||||||
int dwc3_alloc_scratch_buffers(struct dwc3 *dwc);
|
int dwc3_alloc_scratch_buffers(struct dwc3 *dwc);
|
||||||
|
|
||||||
int dwc3_setup_scratch_buffers(struct dwc3 *dwc);
|
int dwc3_setup_scratch_buffers(struct dwc3 *dwc);
|
||||||
|
|
||||||
int dwc3_alloc_event_buffers(struct dwc3 *dwc, uint32_t length);
|
int dwc3_alloc_event_buffers(struct dwc3 *dwc, uint32_t length);
|
||||||
|
|
||||||
|
void dwc3_free_event_buffers(struct dwc3 *dwc);
|
||||||
|
|
||||||
int dwc3_event_buffers_setup(struct dwc3 *dwc);
|
int dwc3_event_buffers_setup(struct dwc3 *dwc);
|
||||||
|
|
||||||
|
void dwc3_event_buffers_cleanup(struct dwc3 *dwc);
|
||||||
|
|
||||||
|
|
||||||
int dwc3_core_init_mode(struct dwc3 *dwc);
|
int dwc3_core_init_mode(struct dwc3 *dwc);
|
||||||
|
|
||||||
void dwc3_set_mode(struct dwc3 *dwc, uint32_t mode);
|
void dwc3_set_mode(struct dwc3 *dwc, uint32_t mode);
|
||||||
|
|
Loading…
Reference in New Issue