1*449697f1STroy Kisky /* 2*449697f1STroy Kisky * SPDX-License-Identifier: GPL-2.0+ 3*449697f1STroy Kisky */ 4*449697f1STroy Kisky #ifndef USB_UDC_H 5*449697f1STroy Kisky #define USB_UDC_H 6*449697f1STroy Kisky 7*449697f1STroy Kisky #ifndef EP0_MAX_PACKET_SIZE 8*449697f1STroy Kisky #define EP0_MAX_PACKET_SIZE 64 9*449697f1STroy Kisky #endif 10*449697f1STroy Kisky 11*449697f1STroy Kisky #ifndef EP_MAX_PACKET_SIZE 12*449697f1STroy Kisky #define EP_MAX_PACKET_SIZE 64 13*449697f1STroy Kisky #endif 14*449697f1STroy Kisky 15*449697f1STroy Kisky #if !defined(CONFIG_PPC) && !defined(CONFIG_OMAP1510) 16*449697f1STroy Kisky /* omap1510_udc.h and mpc8xx_udc.h will set these values */ 17*449697f1STroy Kisky #define UDC_OUT_PACKET_SIZE EP_MAX_PACKET_SIZE 18*449697f1STroy Kisky #define UDC_IN_PACKET_SIZE EP_MAX_PACKET_SIZE 19*449697f1STroy Kisky #define UDC_INT_PACKET_SIZE EP_MAX_PACKET_SIZE 20*449697f1STroy Kisky #define UDC_BULK_PACKET_SIZE EP_MAX_PACKET_SIZE 21*449697f1STroy Kisky #endif 22*449697f1STroy Kisky 23*449697f1STroy Kisky #define UDC_BULK_HS_PACKET_SIZE 512 24*449697f1STroy Kisky 25*449697f1STroy Kisky #ifndef UDC_INT_ENDPOINT 26*449697f1STroy Kisky #define UDC_INT_ENDPOINT 1 27*449697f1STroy Kisky #endif 28*449697f1STroy Kisky 29*449697f1STroy Kisky #ifndef UDC_OUT_ENDPOINT 30*449697f1STroy Kisky #define UDC_OUT_ENDPOINT 2 31*449697f1STroy Kisky #endif 32*449697f1STroy Kisky 33*449697f1STroy Kisky #ifndef UDC_IN_ENDPOINT 34*449697f1STroy Kisky #define UDC_IN_ENDPOINT 3 35*449697f1STroy Kisky #endif 36*449697f1STroy Kisky 37*449697f1STroy Kisky /* function declarations */ 38*449697f1STroy Kisky int udc_init(void); 39*449697f1STroy Kisky void udc_irq(void); 40*449697f1STroy Kisky int udc_endpoint_write(struct usb_endpoint_instance *endpoint); 41*449697f1STroy Kisky void udc_setup_ep(struct usb_device_instance *device, unsigned int ep, 42*449697f1STroy Kisky struct usb_endpoint_instance *endpoint); 43*449697f1STroy Kisky void udc_connect(void); 44*449697f1STroy Kisky void udc_disconnect(void); 45*449697f1STroy Kisky void udc_enable(struct usb_device_instance *device); 46*449697f1STroy Kisky void udc_disable(void); 47*449697f1STroy Kisky void udc_startup_events(struct usb_device_instance *device); 48*449697f1STroy Kisky 49*449697f1STroy Kisky /* Flow control */ 50*449697f1STroy Kisky void udc_set_nak(int epid); 51*449697f1STroy Kisky void udc_unset_nak(int epid); 52*449697f1STroy Kisky 53*449697f1STroy Kisky #endif 54