Lines Matching +full:has +full:- +full:transaction +full:- +full:translator

5  * Adapted for U-Boot driver model
8 * SPDX-License-Identifier: GPL-2.0+
9 * Note: Part of this code has been derived from linux
46 * time for a BULK device to react - some are slow.
93 * struct usb_device - information about a USB device
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
253 int usb_detect_change(void); /* detect if a USB device has been (un)plugged */
282 /* big endian -> little endian conversion */
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
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
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 */
550 /* Transaction Translator Think Times, in bits */
587 int overcurrent_count[USB_MAXCHILDREN]; /* Over-current counter */
589 struct usb_tt tt; /* Transaction Translator */
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
628 /* NULL-terminated list of descriptor pointers */
635 * struct usb_bus_priv - information about the USB controller
644 * has been assigned an address. For XHCI this is not possible
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)
770 * reset_root_port() - Reset usb root port
775 * update_hub_device() - Update HCD's internal representation of hub
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)
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
841 * Scan a device on a bus. It has already been detected and is ready to
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
869 * This function assumes that the device already has an address and a driver
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
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
1072 * usb_show_tree() - show the USB device tree