/openbmc/linux/drivers/usb/gadget/udc/ |
H A D | core.c | 22 #include <linux/usb/gadget.h> 33 * @driver: the gadget driver pointer. For use by the class code 35 * @gadget: the gadget. For use by the class code 41 * Set/cleared by gadget_(un)bind_driver() after gadget driver is bound or 44 * @connect_lock: protects udc->started, gadget->connect, 45 * gadget->allow_connect and gadget->deactivate. The routines 51 * to hold information about udc driver and gadget together. 55 struct usb_gadget *gadget; member 149 * gadget drivers must call usb_ep_enable() again before queueing 232 * request queued; they complete in FIFO order. Once a gadget driver [all …]
|
H A D | Kconfig | 3 # USB Gadget support on a system involves 5 # (b) the gadget driver using it. 7 # NOTE: Gadget support ** DOES NOT ** depend on host-side CONFIG_USB !! 25 # - debug/dummy gadget+hcd is last. 44 gadget drivers to also be dynamically linked. 56 gadget drivers to also be dynamically linked. 103 all gadget drivers to also be dynamically linked. 130 gadget drivers to also be dynamically linked. 146 gadget drivers to also be dynamically linked. 148 # if there's only one gadget driver, using only two bulk endpoints, [all …]
|
/openbmc/linux/Documentation/usb/ |
H A D | raw-gadget.rst | 2 USB Raw Gadget 5 USB Raw Gadget is a gadget driver that gives userspace low-level control over 6 the gadget's communication process. 8 Like any other gadget driver, Raw Gadget implements USB devices via the 9 USB gadget API. Unlike most gadget drivers, Raw Gadget does not implement 12 Raw Gadget is currently a strictly debugging feature and should not be used 20 Raw Gadget is similar to GadgetFS but provides more direct access to the 21 USB gadget layer for userspace. The key differences are: 23 1. Raw Gadget passes every USB request to userspace to get a response, while 26 its own and never forward them to the gadget layer. [all …]
|
H A D | gadget_serial.rst | 2 Linux Gadget Serial Driver v2.0 27 This document and the gadget serial driver itself are 36 Versions of the gadget serial driver are available for the 38 version 2.3 or later of the gadget serial driver in a 2.6 45 gadget and usb drivers as modules. 56 The gadget serial driver is a Linux USB gadget driver, a USB device 61 The gadget serial driver talks over USB to either a CDC ACM driver 75 Gadget | 77 | Gadget USB Periph. | | 78 | Device-Side | Gadget | Controller | | [all …]
|
H A D | gadget_multi.rst | 2 Multifunction Composite Gadget 8 The Multifunction Composite Gadget (or g_multi) is a composite gadget 10 a... multifunction gadget. 17 and RNDIS can be turned off. If they are both enabled the gadget will 26 To make use of the gadget one needs to make it work on host side -- 27 without that there's no hope of achieving anything with the gadget. 33 Since the gadget uses standard composite framework and appears as such 45 For the gadget to work under Windows two conditions have to be met: 47 Detecting as composite gadget 50 First of all, Windows need to detect the gadget as an USB composite [all …]
|
H A D | gadget_configfs.rst | 2 Linux USB gadget configured through configfs 14 A USB Linux Gadget is a device which has a UDC (USB Device Controller) and can 18 A gadget is seen by its host as a set of configurations, each of which contains 19 a number of interfaces which, from the gadget's perspective, are known as 24 Creating a gadget means deciding what configurations there will be 31 It also describes how configfs integration into gadget is designed. 62 For each gadget to be created its corresponding directory must be created:: 64 $ mkdir $CONFIGFS_HOME/usb_gadget/<gadget name> 76 Each gadget needs to have its vendor id <VID> and product id <PID> specified:: 81 A gadget also needs its serial number, manufacturer and product strings. [all …]
|
H A D | mass-storage.rst | 2 Mass Storage Gadget (MSG) 8 Mass Storage Gadget (or MSG) acts as a USB Mass Storage device, 12 to read-only, and gadget can indicate that it is removable and/or 26 This document describes how to use the gadget from user space, its 28 using it, and how it differs from File Storage Gadget (or FSG) 35 The mass storage gadget accepts the following mass storage specific 62 If this option is set for a logical unit, gadget will accept an 75 true. This has been changed to better match File Storage Gadget 83 reader). It does *not* mean that the entire gadget can be 99 backing file could not be opened in read/write mode, the gadget [all …]
|
/openbmc/u-boot/drivers/usb/gadget/udc/ |
H A D | udc-core.c | 9 * Taken from Linux Kernel v3.19-rc1 (drivers/usb/gadget/udc-core.c) and ported 12 * commit 02e8c96627 : usb: gadget: udc: core: prepend udc_attach_driver with 24 #include <linux/usb/gadget.h> 28 * @driver - the gadget driver pointer. For use by the class code 30 * @gadget - the gadget. For use by the class code 34 * to hold information about udc driver and gadget together. 38 struct usb_gadget *gadget; member 49 int usb_gadget_map_request(struct usb_gadget *gadget, in usb_gadget_map_request() argument 62 void usb_gadget_unmap_request(struct usb_gadget *gadget, in usb_gadget_unmap_request() argument 76 * usb_gadget_giveback_request - give the request back to the gadget layer [all …]
|
/openbmc/linux/drivers/usb/gadget/legacy/ |
H A D | Kconfig | 3 # USB Gadget support on a system involves 5 # (b) the gadget driver using it. 7 # NOTE: Gadget support ** DOES NOT ** depend on host-side CONFIG_USB !! 16 # A Linux "Gadget Driver" talks to the USB Peripheral Controller 17 # driver through the abstract "gadget" API. Some other operating 20 # A gadget driver implements one or more USB functions using 23 # Gadget drivers are hardware-neutral, or "platform independent", 27 # enough of the right types of endpoints, the gadget driver might 32 # gadget configuration. In the device model, each option contains 33 # both the device instantiation as a child for a USB gadget [all …]
|
H A D | dbgp.c | 3 * dbgp.c -- EHCI Debug Port device gadget 15 #include <linux/usb/gadget.h> 27 struct usb_gadget *gadget; member 124 dev_dbg(&dbgp.gadget->dev, in dbgp_complete() 162 dev_dbg(&dbgp.gadget->dev, in dbgp_enable_ep_req() 204 dev_dbg(&dbgp.gadget->dev, "enable ep: failure (%d:%d)\n", stp, err); in dbgp_enable_ep() 209 static void dbgp_disconnect(struct usb_gadget *gadget) in dbgp_disconnect() argument 218 static void dbgp_unbind(struct usb_gadget *gadget) in dbgp_unbind() argument 226 usb_ep_free_request(gadget->ep0, dbgp.req); in dbgp_unbind() 235 static int dbgp_configure_endpoints(struct usb_gadget *gadget) in dbgp_configure_endpoints() argument [all …]
|
H A D | raw_gadget.c | 3 * USB Raw Gadget driver. 4 * See Documentation/usb/raw-gadget.rst for more details. 27 #include <linux/usb/gadget.h> 31 #define DRIVER_DESC "USB Raw Gadget" 32 #define DRIVER_NAME "raw-gadget" 174 struct usb_gadget *gadget; member 215 usb_ep_dequeue(dev->gadget->ep0, dev->req); in dev_free() 216 usb_ep_free_request(dev->gadget->ep0, dev->req); in dev_free() 279 static int gadget_bind(struct usb_gadget *gadget, in gadget_bind() argument 288 if (strcmp(gadget->name, dev->udc_name) != 0) in gadget_bind() [all …]
|
/openbmc/linux/Documentation/ABI/testing/ |
H A D | configfs-usb-gadget | 1 What: /config/usb-gadget 8 What: /config/usb-gadget/gadget 13 The attributes of a gadget: 16 UDC bind a gadget to UDC/unbind a gadget; 18 to bind a gadget, empty string "" to unbind. 34 What: /config/usb-gadget/gadget/configs 38 This group contains a USB gadget's configurations 40 What: /config/usb-gadget/gadget/configs/config 51 What: /config/usb-gadget/gadget/configs/config/strings 58 What: /config/usb-gadget/gadget/configs/config/strings/language [all …]
|
H A D | configfs-usb-gadget-uvc | 1 What: /config/usb-gadget/gadget/functions/uvc.name 13 What: /config/usb-gadget/gadget/functions/uvc.name/control 27 What: /config/usb-gadget/gadget/functions/uvc.name/control/class 32 What: /config/usb-gadget/gadget/functions/uvc.name/control/class/ss 37 What: /config/usb-gadget/gadget/functions/uvc.name/control/class/fs 42 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal 47 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/output 52 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/output/default 69 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera 74 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera/default [all …]
|
/openbmc/u-boot/drivers/usb/gadget/ |
H A D | epautoconf.c | 3 * epautoconf.c -- endpoint autoconfiguration for usb gadget drivers 14 #include <linux/usb/gadget.h> 47 struct usb_gadget *gadget, in ep_matches() argument 85 if (gadget_is_pxa(gadget) in ep_matches() 122 if (!gadget->is_dualspeed && max > 64) in ep_matches() 130 if (!gadget->is_dualspeed && max > 1023) in ep_matches() 136 if (!gadget->is_dualspeed) in ep_matches() 174 find_ep(struct usb_gadget *gadget, const char *name) in find_ep() argument 178 list_for_each_entry(ep, &gadget->ep_list, ep_list) { in find_ep() 187 * @gadget: The device to which the endpoint must belong. [all …]
|
H A D | gadget_chips.h | 3 * gadget drivers or other code that needs to deal with them, and which 147 #define gadget_is_dwc3(g) (!strcmp("dwc3-gadget", (g)->name)) 154 * @gadget: the controller being driven 161 * gadget driver firmware -- maybe a more formal revision ID -- feel free. 167 static inline int usb_gadget_controller_number(struct usb_gadget *gadget) in usb_gadget_controller_number() argument 169 if (gadget_is_net2280(gadget)) in usb_gadget_controller_number() 171 else if (gadget_is_dummy(gadget)) in usb_gadget_controller_number() 173 else if (gadget_is_pxa(gadget)) in usb_gadget_controller_number() 175 else if (gadget_is_sh(gadget)) in usb_gadget_controller_number() 177 else if (gadget_is_sa1100(gadget)) in usb_gadget_controller_number() [all …]
|
H A D | Kconfig | 2 # USB Gadget support on a system involves 4 # (b) the gadget driver using it. 6 # NOTE: Gadget support ** DOES NOT ** depend on host-side CONFIG_USB !! 17 bool "USB Gadget Support" 34 peripheral/device side bus controller, and a "gadget driver" for 46 bool "Aspeed USB Device support on gadget" 50 Support Aspeed USB device gadget. It's a different architecture with 91 bool "DesignWare USB2.0 HS OTG controller (gadget mode)" 94 The Designware USB2.0 high-speed gadget controller 130 This value will be used except for system-specific gadget [all …]
|
H A D | composite.c | 21 * Context: single threaded during gadget setup 68 * usb_function_deactivate - prevent function and gadget enumeration 71 * Blocks response of the gadget driver to host enumeration by 92 status = usb_gadget_disconnect(cdev->gadget); in usb_function_deactivate() 100 * usb_function_activate - allow function and gadget enumeration 104 * are delaying their activation, the gadget driver will respond to 119 status = usb_gadget_connect(cdev->gadget); in usb_function_activate() 129 * Context: single threaded during gadget setup 216 struct usb_gadget *gadget = cdev->gadget; in config_desc() local 221 if (gadget_is_dualspeed(gadget)) { in config_desc() [all …]
|
/openbmc/linux/include/linux/usb/ |
H A D | gadget.h | 3 * <linux/usb/gadget.h> 5 * We call the USB code inside a Linux-based peripheral device a "gadget" 65 * @list: For use by the gadget driver. 198 * @ep_list:the gadget's ep_list holds all of its endpoints 212 * @driver_data:for use by the gadget driver. 221 * gadget->ep_list. the control endpoint (gadget->ep0) is not in that list, 313 int (*func_wakeup)(struct usb_gadget *gadget, int intf_id); 327 void (*udc_set_ssp_rate)(struct usb_gadget *gadget, 329 void (*udc_async_callbacks)(struct usb_gadget *gadget, bool enable); 333 int (*check_config)(struct usb_gadget *gadget); [all …]
|
/openbmc/linux/Documentation/driver-api/usb/ |
H A D | gadget.rst | 2 USB Gadget API for Linux 11 This document presents a Linux-USB "Gadget" kernel mode API, for use 21 just two fixed-function ones. Gadget drivers can be written so 46 are "USB gadget drivers". In USB protocol interactions, the device 47 driver is the master (or "client driver") and the gadget driver is the 50 The gadget API resembles the host side Linux-USB API in that both use 56 details and assumptions that are inappropriate for a gadget API. While 62 Structure of Gadget Drivers 67 additional layers in user space code. The ``gadget`` API is used by the 76 ``<linux/usb/gadget.h>`` API abstracts the peripheral controller [all …]
|
/openbmc/u-boot/include/linux/usb/ |
H A D | gadget.h | 2 * <linux/usb/gadget.h> 4 * We call the USB code inside a Linux-based peripheral device a "gadget" 53 * @list: For use by the gadget driver. 136 * @ep_list:the gadget's ep_list holds all of its endpoints 146 * @driver_data:for use by the gadget driver. all other fields are 147 * read-only to gadget drivers. 154 * gadget->ep_list. the control endpoint (gadget->ep0) is not in that list, 223 * gadget drivers must call usb_ep_enable() again before queueing 280 * request queued; they complete in FIFO order. Once a gadget driver 315 * arranges to poll once per interval, and the gadget driver usually will [all …]
|
/openbmc/linux/drivers/usb/gadget/udc/aspeed-vhub/ |
H A D | dev.c | 3 * aspeed-vhub -- Driver for Aspeed SoC "vHub" USB gadget 5 * dev.c - Individual device/gadget management (ie, a port = a gadget) 22 #include <linux/usb/gadget.h> 60 if (d->gadget.speed == USB_SPEED_HIGH) in ast_vhub_dev_enable() 104 d->gadget.speed = USB_SPEED_UNKNOWN; in ast_vhub_dev_disable() 173 st0 = d->gadget.is_selfpowered << USB_DEVICE_SELF_POWERED; in ast_vhub_dev_status() 238 if (d->gadget.speed == USB_SPEED_UNKNOWN) { in ast_vhub_std_dev_request() 239 d->gadget.speed = ep->vhub->speed; in ast_vhub_std_dev_request() 240 if (d->gadget.speed > d->driver->max_speed) in ast_vhub_std_dev_request() 241 d->gadget.speed = d->driver->max_speed; in ast_vhub_std_dev_request() [all …]
|
/openbmc/openbmc/meta-openembedded/meta-oe/recipes-support/libusbgx/ |
H A D | libusbgx_git.bb | 1 SUMMARY = "USB Gadget neXt Configfs Library" 15 file://gadget-start \ 16 file://gadget-stop \ 23 PACKAGECONFIG ??= "examples gadget-schemes libconfig" 26 PACKAGECONFIG[gadget-schemes] = "--enable-gadget-schemes,--disable-gadget-schemes" 41 install -Dm 0755 ${UNPACKDIR}/gadget-start ${D}${bindir}/gadget-start 42 sed -i -e 's,/usr/bin,${bindir},g' -e 's,/etc,${sysconfdir},g' ${D}${bindir}/gadget-start 43 install -m 0755 ${UNPACKDIR}/gadget-stop ${D}${bindir}/gadget-stop 44 sed -i -e 's,/usr/bin,${bindir},g' -e 's,/etc,${sysconfdir},g' ${D}${bindir}/gadget-stop 59 ALTERNATIVE:${PN}-examples = "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'gadget-acm-ecm sho… [all …]
|
/openbmc/linux/drivers/usb/gadget/ |
H A D | epautoconf.c | 3 * epautoconf.c -- endpoint autoconfiguration for usb gadget drivers 17 #include <linux/usb/gadget.h> 22 * @gadget: The device to which the endpoint must belong. 37 * this routine simplifies writing gadget drivers that work with 64 struct usb_gadget *gadget, in usb_ep_autoconfig_ss() argument 71 if (gadget->ops->match_ep) { in usb_ep_autoconfig_ss() 72 ep = gadget->ops->match_ep(gadget, desc, ep_comp); in usb_ep_autoconfig_ss() 78 list_for_each_entry (ep, &gadget->ep_list, ep_list) { in usb_ep_autoconfig_ss() 79 if (usb_gadget_ep_match_desc(gadget, ep, desc, ep_comp)) in usb_ep_autoconfig_ss() 100 if (++gadget->in_epnum > 15) in usb_ep_autoconfig_ss() [all …]
|
H A D | composite.c | 27 * struct usb_os_string - represents OS String to be reported by a gadget 43 * The code in this file is utility code, used to build a gadget driver 69 * NOTE: we try to help gadget drivers which might not be setting in function_descriptors() 94 * if we can't find any descriptors at all, then this gadget deserves to in function_descriptors() 134 * according to gadget speed. 135 * @g: pointer to the gadget 143 * endpoint according to gadget speed and saves it in the 272 * according to gadget speed. 273 * @g: pointer to the gadget 280 * endpoint according to gadget speed and saves it in the [all …]
|
/openbmc/linux/drivers/usb/gadget/udc/bdc/ |
H A D | bdc_udc.c | 9 * Based on drivers under drivers/usb/gadget/udc/ 27 #include <linux/usb/gadget.h> 86 bdc->gadget.ep0->maxpacket = EP0_MAX_PKT_SIZE; in bdc_uspc_connected() 87 bdc->gadget.speed = USB_SPEED_SUPER; in bdc_uspc_connected() 98 bdc->gadget.ep0->maxpacket = 64; in bdc_uspc_connected() 99 bdc->gadget.speed = USB_SPEED_HIGH; in bdc_uspc_connected() 104 bdc->gadget.ep0->maxpacket = 64; in bdc_uspc_connected() 105 bdc->gadget.speed = USB_SPEED_FULL; in bdc_uspc_connected() 110 bdc->gadget.ep0->maxpacket = 8; in bdc_uspc_connected() 111 bdc->gadget.speed = USB_SPEED_LOW; in bdc_uspc_connected() [all …]
|