add DWC3 codes
This commit is contained in:
parent
36bd413225
commit
33ac3e9048
|
@ -4,6 +4,87 @@
|
|||
#include <strings.h>
|
||||
#include <stdint.h>
|
||||
#include "usbh_core.h"
|
||||
#include "usb_list.h"
|
||||
|
||||
|
||||
struct usb_ctrlrequest;
|
||||
struct usb_ep;
|
||||
struct usb_ep_caps;
|
||||
struct usb_ep_ops;
|
||||
struct usb_gadget;
|
||||
struct usb_gadget_driver;
|
||||
struct usb_ss_ep_comp_descriptor;
|
||||
|
||||
|
||||
|
||||
struct usb_ctrlrequest {
|
||||
uint8_t bRequestType;
|
||||
uint8_t bRequest;
|
||||
uint8_t wValue;
|
||||
/* wIndex and wLength should be little end. */
|
||||
uint16_t wIndex;
|
||||
uint16_t wLength;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
|
||||
struct usb_ep_caps {
|
||||
uint8_t type_control:1;
|
||||
uint8_t type_iso:1;
|
||||
uint8_t type_bulk:1;
|
||||
uint8_t type_int:1;
|
||||
uint8_t dir_in:1;
|
||||
uint8_t dir_out:1;
|
||||
};
|
||||
|
||||
struct usb_ep {
|
||||
void *driver_data;
|
||||
const char *name;
|
||||
const struct usb_ep_ops *ops;
|
||||
usb_slist_t ep_list;
|
||||
struct usb_ep_caps caps;
|
||||
uint32_t maxpacket:16;
|
||||
uint32_t maxpacket_limit:16;
|
||||
uint32_t max_streams:16;
|
||||
uint32_t maxburst:5;
|
||||
/* usb_endpoint_descriptor is included in usb_def.h header files*/
|
||||
const struct usb_endpoint_descriptor *desc;
|
||||
const struct usb_ss_ep_comp_descriptor *comp_desc;
|
||||
};
|
||||
|
||||
|
||||
|
||||
struct usb_gadget_ops {
|
||||
int (*get_frame)(struct usb_gadget *);
|
||||
int (*wakeup)(struct usb_gadget *);
|
||||
int (*set_selfpowered) (struct usb_gadget *, int is_selfpowered);
|
||||
int (*vbus_draw) (struct usb_gadget *, unsigned mA);
|
||||
int (*pullup) (struct usb_gadget *, int is_on);
|
||||
int (*ioctl)(struct usb_gadget *,
|
||||
unsigned code, unsigned long param);
|
||||
int (*udc_start)(struct usb_gadget *,
|
||||
struct usb_gadget_driver *);
|
||||
int (*udc_stop)(struct usb_gadget *);
|
||||
struct usb_ep *(*match_ep)(struct usb_gadget *,
|
||||
struct usb_endpoint_descriptor *,
|
||||
struct usb_ss_ep_comp_descriptor *);
|
||||
void (*udc_set_speed)(struct usb_gadget *gadget,
|
||||
int usb_device_speed);
|
||||
};
|
||||
|
||||
struct usb_gadget_driver {
|
||||
char *function;
|
||||
int speed;
|
||||
int (*bind)(struct usb_gadget *);
|
||||
void (*unbind)(struct usb_gadget *);
|
||||
int (*setup)(struct usb_gadget *,
|
||||
const struct usb_ctrlrequest *);
|
||||
void (*disconnect)(struct usb_gadget *);
|
||||
void (*suspend)(struct usb_gadget *);
|
||||
void (*resume)(struct usb_gadget *);
|
||||
void (*reset)(struct usb_gadget *);
|
||||
};
|
||||
|
||||
|
||||
|
||||
struct usb_gadget {
|
||||
int speed;
|
||||
|
|
Loading…
Reference in New Issue