Lines Matching +full:short +full:- +full:descriptor

5  * Adapted for U-Boot driver model
8 * SPDX-License-Identifier: GPL-2.0+
46 * time for a BULK device to react - some are slow.
70 * Companion Descriptor (section 9.6.7 of usb 3.0 spec)
93 * struct usb_device - information about a USB device
124 /* Device Descriptor */
125 struct usb_device_descriptor descriptor member
127 struct usb_config config; /* config descriptor */
136 * Child devices - if this is a hub device
150 /* slot_id - for xHCI enabled devices */
212 * board-specific hardware initialization, called by
213 * usb drivers and u-boot commands
261 unsigned short value, unsigned short index,
262 void *data, unsigned short size, int timeout);
282 /* big endian -> little endian conversion */
285 ({ unsigned short x_ = (unsigned short)x; \
286 (unsigned short)( \
310 * - device number (7 bits)
311 * - endpoint number (4 bits)
312 * - current Data0/1 state (1 bit)
313 * - direction (1 bit)
314 * - speed (2 bits)
315 * - max packet size (2 bits: 8, 16, 32 or 64)
316 * - pipe type (2 bits: control, interrupt, bulk, isochronous)
325 * - max size: bits 0-1 (00 = 8, 01 = 16, 10 = 32, 11 = 64)
326 * - direction: bit 7 (0 = Host-to-Device [Out],
327 * (1 = Device-to-Host [In])
328 * - device: bits 8-14
329 * - endpoint: bits 15-18
330 * - Data0/1: bit 19
331 * - pipe type: bits 30-31 (00 = isochronous, 01 = interrupt,
341 (((dev)->devnum << 8) | ((endpoint) << 15) | \
342 (dev)->maxpacketsize)
343 #define default_pipe(dev) ((dev)->speed << 26)
372 #define usb_gettoggle(dev, ep, out) (((dev)->toggle[out] >> ep) & 1)
373 #define usb_dotoggle(dev, ep, out) ((dev)->toggle[out] ^= (1 << ep))
374 #define usb_settoggle(dev, ep, out, bit) ((dev)->toggle[out] = \
375 ((dev)->toggle[out] & \
380 #define usb_endpoint_halt(dev, ep, out) ((dev)->halted[out] |= (1 << (ep)))
381 #define usb_endpoint_running(dev, ep, out) ((dev)->halted[out] &= ~(1 << (ep)))
382 #define usb_endpoint_halted(dev, ep, out) ((dev)->halted[out] & (1 << (ep)))
401 ((usb_pipeendpoint(pipe) * 2) - \
405 * struct usb_device_id - identifies USB devices for probing and hotplugging
413 * @idProduct: Vendor-assigned product ID.
414 * @bcdDevice_lo: Low end of range of vendor-assigned product version numbers.
421 * or be vendor-specific. Device classes specify behavior of all
427 * or be vendor-specific. Interface classes specify behavior only
432 * fixed interface numbers to differentiate between vendor-specific
435 * a pointer to a descriptor understood by the driver, or perhaps
471 /* Used for vendor-specific interface matches */
496 * struct usb_driver_entry - Matches a driver to its usb_device_ids
509 * USB_DEVICE - macro used to describe a specific usb device
531 unsigned short wPortStatus;
532 unsigned short wPortChange;
536 unsigned short wHubStatus;
537 unsigned short wHubChange;
541 * Hub Device descriptor
545 #define USB_HUB_PR_HS_NO_TT 0 /* Hi-speed hub without TT */
546 #define USB_HUB_PR_HS_SINGLE_TT 1 /* Hi-speed hub with single TT */
547 #define USB_HUB_PR_HS_MULTI_TT 2 /* Hi-speed hub with multiple TT */
556 /* Hub descriptor */
561 unsigned short wHubCharacteristics;
587 int overcurrent_count[USB_MAXCHILDREN]; /* Over-current counter */
594 * struct usb_platdata - Platform data about a USB controller
603 * struct usb_dev_platdata - Platform data about a USB device
610 * @udev: usb-uclass internal use only do NOT use
611 * @strings: List of descriptor strings (for sandbox emulation purposes)
628 /* NULL-terminated list of descriptor pointers */
635 * struct usb_bus_priv - information about the USB controller
643 * @desc_before_addr: true if we can read a device descriptor before it
656 * struct usb_emul_platdata - platform data about the USB emulator
668 * struct dm_usb_ops - USB controller operations
682 * DMA-aligned.
687 * control() - Send a control message
697 * bulk() - Send a bulk message
704 * interrupt() - Send an interrupt message
715 * create_int_queue() - Create and queue interrupt packets
733 * poll_int_queue() - Poll an interrupt queue for completed packets
748 * destroy_int_queue() - Destroy an interrupt queue
754 * @return 0 if OK, -ve on error
760 * alloc_device() - Allocate a new device context (XHCI)
764 * called before the device is enumerated (even before its descriptor
770 * reset_root_port() - Reset usb root port
775 * update_hub_device() - Update HCD's internal representation of hub
777 * After a hub descriptor is fetched, notify HCD so that its internal
783 * get_max_xfer_size() - Get HCD's maximum transfer bytes
791 #define usb_get_ops(dev) ((struct dm_usb_ops *)(dev)->driver->ops)
792 #define usb_get_emul_ops(dev) ((struct dm_usb_ops *)(dev)->driver->ops)
795 * usb_get_dev_index() - look up a device index number
798 * in U-Boot device addresses are allocated starting at 1 with no gaps.
810 * usb_setup_device() - set up a device ready for use
812 * @dev: USB device pointer. This need not be a real device - it is
813 * common for it to just be a local variable with its ->dev
814 * member (i.e. @dev->dev) set to the parent device and
815 * dev->portnr set to the port number on the hub (1=first)
816 * @do_read: true to read the device descriptor before an address is set
819 * @return 0 if OK, -ve on error */
824 * usb_hub_is_root_hub() - Test whether a hub device is root hub or not
832 * usb_hub_scan() - Scan a hub and find its devices
839 * usb_scan_device() - Scan a device on a bus
849 * @return 0 if OK, -ve on error
855 * usb_get_bus() - Find the bus for a device
867 * usb_select_config() - Set up a device ready for use
872 * This re-reads the device and configuration descriptors and sets the
880 * usb_child_pre_probe() - Pre-probe function for USB devices
899 * usb_setup_ehci_gadget() - Set up a USB device as a gadget
909 * usb_stor_reset() - Prepare to scan USB storage devices
928 * usb_find_usb2_hub_address_port() - Get hub address and port for TT setting
940 * usb_alloc_new_device() - Allocate a new device
944 * driver-specific.
945 * @return 0 if OK, -ENOSPC if we have found out of room for new devices
950 * usb_free_device() - Free a partially-inited device
962 * usb_update_hub_device() - Update HCD's internal representation of hub
964 * After a hub descriptor is fetched, notify HCD so that its internal
968 * @return 0 if OK, -ve on error
973 * usb_get_max_xfer_size() - Get HCD's maximum transfer bytes
980 * @return 0 if OK, -ve on error
985 * usb_emul_setup_device() - Set up a new USB device emulation
996 * @return 0 if OK, -ENOSYS if not implemented, other -ve on error
1002 * usb_emul_control() - Send a control packet to an emulator
1007 * @return 0 if OK, -ve on error
1014 * usb_emul_bulk() - Send a bulk packet to an emulator
1019 * @return 0 if OK, -ve on error
1025 * usb_emul_int() - Send an interrupt packet to an emulator
1030 * @return 0 if OK, -ve on error
1037 * usb_emul_find() - Find an emulator for a particular device
1045 * @return 0 if found, -ve on error
1051 * usb_emul_find_for_dev() - Find an emulator for a particular device
1056 * @return 0 if found, -ve on error
1061 * usb_emul_find_descriptor() - Find a USB descriptor of a particular device
1063 * @ptr: a pointer to a list of USB descriptor pointers
1064 * @type: type of USB descriptor to find
1066 * @return a pointer to the USB descriptor found, NULL if not found
1072 * usb_show_tree() - show the USB device tree