static void acm_enumerate(USBConfiguration *conf) { acm_is_ready = 0; USBInterface *acm_if = usb_add_interface(conf, 0, 0, 0x0a, 0, 0, usb_add_string_descriptor("IF0")); usb_add_endpoint(acm_if, ACM_EP_SEND, USBIn, USBBulk); usb_add_endpoint(acm_if, ACM_EP_RECV, USBOut, USBBulk); if(!acm_send_buffer) acm_send_buffer = memalign(DMA_ALIGN, ACM_BUFFER_SIZE); if(!acm_recv_buffer) acm_recv_buffer = memalign(DMA_ALIGN, ACM_BUFFER_SIZE); }
static void enumerateHandler(USBInterface* interface) { usb_add_endpoint(interface, 1, USBIn, USBBulk); usb_add_endpoint(interface, 2, USBOut, USBBulk); usb_add_endpoint(interface, 3, USBIn, USBInterrupt); usb_add_endpoint(interface, 4, USBOut, USBInterrupt); if(!controlSendBuffer) controlSendBuffer = memalign(DMA_ALIGN, 512); if(!controlRecvBuffer) controlRecvBuffer = memalign(DMA_ALIGN, 512); if(!dataSendBuffer) dataSendBuffer = memalign(DMA_ALIGN, 512); if(!dataRecvBuffer) dataRecvBuffer = commandRecvBuffer = memalign(DMA_ALIGN, 512); }