ast_udc_write
ast_udc_write(udc, ast_udc_read(udc, AST_UDC_EP0_CTRL) | EP0_STALL,
ast_udc_write(udc, reg, AST_UDC_CONFIG);
ast_udc_write(udc, ast_udc_read(udc, AST_UDC_EP0_CTRL) | EP0_STALL,
ast_udc_write(udc, EP0_TX_BUFF_RDY, AST_UDC_EP0_CTRL);
ast_udc_write(udc, isr, AST_UDC_ISR);
ast_udc_write(udc, ep_isr, AST_UDC_EP_ACK_ISR);
ast_udc_write(udc, ctrl | USB_REMOTE_WAKEUP_EN, AST_UDC_FUNC_CTRL);
ast_udc_write(udc, ctrl, AST_UDC_FUNC_CTRL);
ast_udc_write(udc, ctrl, AST_UDC_FUNC_CTRL);
ast_udc_write(udc, ctrl, AST_UDC_FUNC_CTRL);
ast_udc_write(udc, 0, AST_UDC_DEV_RESET);
ast_udc_write(udc, ctrl, AST_UDC_FUNC_CTRL);
ast_udc_write(udc, 0, AST_UDC_IER);
ast_udc_write(udc, UDC_IRQ_ACK_ALL, AST_UDC_ISR);
ast_udc_write(udc, ctrl, AST_UDC_IER);
ast_udc_write(udc, UDC_IRQ_EP_ACK_ALL, AST_UDC_EP_ACK_IER);
ast_udc_write(udc, UDC_IRQ_EP_ACK_ALL, AST_UDC_EP_ACK_ISR);
ast_udc_write(udc, 0, AST_UDC_EP0_CTRL);
ast_udc_write(udc, ctrl, AST_UDC_FUNC_CTRL);
ast_udc_write(udc, EP_TOGGLE_SET_EPNUM(epnum), AST_VHUB_EP_DATA);
ast_udc_write(udc, req->req.dma + req->req.actual,
ast_udc_write(udc, EP0_TX_LEN(tx_len), AST_UDC_EP0_CTRL);
ast_udc_write(udc, EP0_TX_LEN(tx_len) | EP0_TX_BUFF_RDY,
ast_udc_write(udc, EP0_TX_BUFF_RDY, AST_UDC_EP0_CTRL);
ast_udc_write(udc, EP0_RX_BUFF_RDY, AST_UDC_EP0_CTRL);
ast_udc_write(udc, ctrl, AST_UDC_EP0_CTRL);
ast_udc_write(udc, udc->ep0_buf_dma, AST_UDC_EP0_DATA_BUFF);
ast_udc_write(udc, EP0_RX_BUFF_RDY, AST_UDC_EP0_CTRL);
ast_udc_write(udc, udc->ep0_buf_dma, AST_UDC_EP0_DATA_BUFF);
ast_udc_write(udc, EP0_TX_BUFF_RDY, AST_UDC_EP0_CTRL);
ast_udc_write(udc, udc->ep0_buf_dma, AST_UDC_EP0_DATA_BUFF);
ast_udc_write(udc, EP0_TX_LEN(len), AST_UDC_EP0_CTRL);
ast_udc_write(udc, EP0_TX_LEN(len) | EP0_TX_BUFF_RDY,
ast_udc_write(udc, EP0_TX_BUFF_RDY, AST_UDC_EP0_CTRL);