X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=include%2Fusb.h;h=02a0ccdd77b370b4bd62d858a2c797e926fd03f2;hb=916dca48bbcd20b7159bdef57ac63342fc01b2ae;hp=55b9268ea16ad9b12650699decf3381b06e8473f;hpb=c1924d85af4a07dc70aef1ef95c48b54a136733f;p=karo-tx-uboot.git diff --git a/include/usb.h b/include/usb.h index 55b9268ea1..02a0ccdd77 100644 --- a/include/usb.h +++ b/include/usb.h @@ -130,7 +130,7 @@ struct usb_device { int string_langid; /* language ID for strings */ int (*irq_handle)(struct usb_device *dev); unsigned long irq_status; - int irq_act_len; /* transfered bytes */ + int irq_act_len; /* transferred bytes */ void *privptr; /* * Child devices - if this is a hub device @@ -138,7 +138,7 @@ struct usb_device { */ unsigned long status; unsigned long int_pending; /* 1 bit per ep, used by int_queue */ - int act_len; /* transfered bytes */ + int act_len; /* transferred bytes */ int maxchild; /* Number of ports if hub */ int portnr; /* Port number, 1=first */ #ifndef CONFIG_DM_USB @@ -227,8 +227,7 @@ int board_usb_cleanup(int index, enum usb_init_type init); #ifdef CONFIG_USB_STORAGE -#define USB_MAX_STOR_DEV 5 -block_dev_desc_t *usb_stor_get_dev(int index); +#define USB_MAX_STOR_DEV 7 int usb_stor_scan(int mode); int usb_stor_info(void); @@ -266,8 +265,9 @@ int usb_submit_int_msg(struct usb_device *dev, unsigned long pipe, void *buffer, int transfer_len, int interval); int usb_disable_asynch(int disable); int usb_maxpacket(struct usb_device *dev, unsigned long pipe); -int usb_get_configuration_no(struct usb_device *dev, unsigned char *buffer, - int cfgno); +int usb_get_configuration_no(struct usb_device *dev, int cfgno, + unsigned char *buffer, int length); +int usb_get_configuration_len(struct usb_device *dev, int cfgno); int usb_get_report(struct usb_device *dev, int ifnum, unsigned char type, unsigned char id, void *buf, int size); int usb_get_class_descriptor(struct usb_device *dev, int ifnum, @@ -555,6 +555,10 @@ struct usb_hub_descriptor { struct usb_hub_device { struct usb_device *pusb_dev; struct usb_hub_descriptor desc; + + ulong connect_timeout; /* Device connection timeout in ms */ + ulong query_delay; /* Device query delay in ms */ + int overcurrent_count[USB_MAXCHILDREN]; /* Over-current counter */ }; #ifdef CONFIG_DM_USB @@ -874,6 +878,18 @@ int legacy_hub_port_reset(struct usb_device *dev, int port, int hub_port_reset(struct udevice *dev, int port, unsigned short *portstat); +/* + * usb_find_usb2_hub_address_port() - Get hub address and port for TT setting + * + * Searches for the first HS hub above the given device. If a + * HS hub is found, the hub address and the port the device is + * connected to is return, as required for SPLIT transactions + * + * @param: udev full speed or low speed device + */ +void usb_find_usb2_hub_address_port(struct usb_device *udev, + uint8_t *hub_address, uint8_t *hub_port); + /** * usb_alloc_new_device() - Allocate a new device *