/linux/drivers/usb/typec/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 4 tristate "USB Type-C Support" 6 USB Type-C Specification defines a cable and connector for USB where 8 be Type-A plug on one end of the cable and Type-B plug on the other. 9 Determination of the host-to-device relationship happens through a 10 specific Configuration Channel (CC) which goes through the USB Type-C 12 Accessory Modes - Analog Audio and Debug - and if USB Power Delivery 14 something else then USB communication. 16 USB Power Delivery Specification defines a protocol that can be used 18 partners. USB Power Delivery allows higher voltages then the normal [all …]
|
/linux/drivers/usb/typec/tcpm/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 4 tristate "USB Type-C Port Controller Manager" 5 depends on USB 9 The Type-C Port Controller Manager provides a USB PD and USB Type-C 10 state machine for use with Type-C Port Controllers. 15 tristate "Type-C Port Controller Interface driver" 19 Type-C Port Controller driver for TCPCI-compliant controller. 24 tristate "Richtek RT1711H Type-C chip driver" 26 Richtek RT1711H Type-C chip driver that works with 27 Type-C Port Controller Manager to provide USB PD and USB [all …]
|
/linux/Documentation/devicetree/bindings/connector/ |
H A D | usb-connector.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/connector/usb-connector.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: USB Connector 10 - Rob Herring <robh@kernel.org> 13 A USB connector node represents a physical USB connector. It should be a child 14 of a USB interface controller or a separate node when it is attached to both 15 MUX and USB interface controller. 20 - enum: [all …]
|
/linux/drivers/extcon/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 11 host USB ports. Many of 30-pin connectors including PDMI are 25 tristate "X-Power AXP288 EXTCON support" 29 Say Y here to enable support for USB peripheral detection 30 and USB MUX switching by X-Power AXP288 PMIC. 39 FSA9480 microUSB switch and accessory detector chip. The FSA9480 is a USB 41 I2C and enables USB data, stereo and mono audio, video, microphone 55 Say Y here to enable extcon support for USB OTG ports controlled by 84 microUSB switch and accessory detector chip. The LC824206XA is a USB 86 using I2C and enables USB data, stereo and mono audio, video, [all …]
|
/linux/Documentation/driver-api/usb/ |
H A D | writing_usb_driver.rst | 1 .. _writing-usb-driver: 4 Writing USB Device Drivers 7 :Author: Greg Kroah-Hartman 12 The Linux USB subsystem has grown from supporting only two different 15 almost all USB class devices (standard types of devices like keyboards, 16 mice, modems, printers and speakers) and an ever-growing number of 17 vendor-specific devices (such as USB to serial converters, digital 19 different USB devices currently supported, see Resources. 21 The remaining kinds of USB devices that do not have support on Linux are 22 almost all vendor-specific devices. Each vendor decides to implement a [all …]
|
H A D | typec.rst | 3 USB Type-C connector class 7 ------------ 9 The typec class is meant for describing the USB Type-C ports in a system to the 14 The platforms are expected to register every USB Type-C port they have with the 15 class. In a normal case the registration will be done by a USB Type-C or PD PHY 17 USB PD controller or even driver for Thunderbolt3 controller. This document 18 considers the component registering the USB Type-C ports with the class as "port 26 attributes are described in Documentation/ABI/testing/sysfs-class-typec. 29 -------------------- 36 "port0-partner". Full path to the device would be [all …]
|
H A D | usb.rst | 1 .. _usb-hostside-api: 4 The Linux-USB Host Side API 7 Introduction to USB on Linux 10 A Universal Serial Bus (USB) is used to connect a host, such as a PC or 11 workstation, to a number of peripheral devices. USB uses a tree 14 support several such trees of USB devices, usually 15 a few USB 3.0 (5 GBit/s) or USB 3.1 (10 GBit/s) and some legacy 16 USB 2.0 (480 MBit/s) busses just in case. 18 That master/slave asymmetry was designed-in for a number of reasons, one 20 downstream or it does not matter with a type C plug (or they are built into the [all …]
|
H A D | writing_musb_glue_layer.rst | 10 The Linux MUSB subsystem is part of the larger Linux USB subsystem. It 11 provides support for embedded USB Device Controllers (UDC) that do not 15 Instead, these embedded UDC rely on the USB On-the-Go (OTG) 17 reference design used in most cases is the Multipoint USB Highspeed 18 Dual-Role Controller (MUSB HDRC) found in the Mentor Graphics Inventra™ 21 As a self-taught exercise I have written an MUSB glue layer for the 24 ``drivers/usb/musb/jz4740.c``. In this documentation I will walk through the 25 basics of the ``jz4740.c`` glue layer, explaining the different pieces and 28 .. _musb-basics: 33 To get started on the topic, please read USB On-the-Go Basics (see [all …]
|
H A D | gadget.rst | 2 USB Gadget API for Linux 11 This document presents a Linux-USB "Gadget" kernel mode API, for use 12 within peripherals and other USB devices that embed Linux. It provides 17 - Supports USB 2.0, for high speed devices which can stream data at 20 - Handles devices with dozens of endpoints just as well as ones with 21 just two fixed-function ones. Gadget drivers can be written so 24 - Flexible enough to expose more complex USB device capabilities such 28 - USB "On-The-Go" (OTG) support, in conjunction with updates to the 29 Linux-USB host side. 31 - Sharing data structures and API models with the Linux-USB host side [all …]
|
H A D | typec_bus.rst | 2 API for USB Type-C Alternate Mode drivers 6 ------------ 9 Messages (VDM) as defined in USB Type-C and USB Power Delivery Specifications. 13 USB Type-C bus allows binding a driver to the discovered partner alternate 16 :ref:`USB Type-C Connector Class <typec>` provides a device for every alternate 36 ------ 43 space (See Documentation/ABI/testing/sysfs-class-typec). Port drivers should not 46 ``->vdm`` is the most important callback in the operation callbacks vector. It 49 the SVID specific commands to each other using :c:func:`typec_altmode_vdm()`. 53 needs to notify the bus using :c:func:`typec_altmode_notify()`. The driver [all …]
|
/linux/include/linux/usb/ |
H A D | typec.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 /* USB Type-C Specification releases */ 91 * struct enter_usb_data - Enter_USB Message details 95 * @active_link_training is a flag that should be set with uni-directional SBRX 96 * communication, and left 0 with passive cables and with bi-directional SBRX 105 * struct usb_pd_identity - USB Power Delivery identity data 111 * USB power delivery Discover Identity command response data. 113 * REVISIT: This is USB Power Delivery specific information, so this structure 114 * probable belongs to USB Power Delivery header file once we have them. 127 * struct typec_altmode_desc - USB Type-C Alternate Mode Descriptor [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-bus-usb | 1 What: /sys/bus/usb/devices/<INTERFACE>/authorized 9 by writing INTERFACE to /sys/bus/usb/drivers_probe 10 This allows to avoid side-effects with drivers 15 What: /sys/bus/usb/devices/usbX/interface_authorized_default 22 What: /sys/bus/usb/device/.../authorized 28 drivers, non-authorized one are not. By default, wired 29 USB devices are authorized. 31 What: /sys/bus/usb/drivers/.../new_id 33 Contact: linux-usb@vger.kernel.org 36 dynamically add a new device ID to a USB device driver. [all …]
|
H A D | sysfs-driver-typec-displayport | 6 Valid values are USB, source and sink. Source means DisplayPort 14 USB [source] sink 18 Note. USB configuration does not equal to Exit Mode. It is 20 USB Type-C Standard. Functionally it equals to the situation 22 Documentation/ABI/testing/sysfs-bus-typec, and use file 29 VESA DisplayPort Alt Mode on USB Type-C Standard defines six 30 different pin assignments for USB Type-C connector that are 31 labeled A, B, C, D, E, and F. The supported pin assignments are 37 C [D] 44 Note. As of VESA DisplayPort Alt Mode on USB Type-C Standard [all …]
|
H A D | sysfs-class-typec | 1 USB Type-C port devices (eg. /sys/class/typec/port0/) 7 The supported USB data roles. This attribute can be used for 47 dual (The port will behave as dual-role-data and 48 dual-role-power port) 57 when both the port and the partner support USB Power Delivery. 66 - "no" when the port is not the VCONN Source 67 - "yes" when the port is the VCONN Source 74 power operation mode means current level for VBUS. In case USB 80 - default 81 - 1.5A [all …]
|
/linux/Documentation/hid/ |
H A D | hiddev.rst | 8 In addition to the normal input type HID devices, USB also uses the 14 To support these disparate requirements, the Linux USB system provides 18 normalised event interface - see Documentation/input/input.rst 24 usb.c ---> hid-core.c ----> hid-input.c ----> [keyboard/mouse/joystick/event] 27 --> hiddev.c ----> POWER / MONITOR CONTROL 29 In addition, other subsystems (apart from USB) can potentially feed 36 The hiddev interface is a char interface using the normal USB major, 40 mknod /dev/usb/hiddev0 c 180 96 41 mknod /dev/usb/hiddev1 c 180 97 42 mknod /dev/usb/hiddev2 c 180 98 [all …]
|
/linux/Documentation/admin-guide/media/ |
H A D | usb-cardlist.rst | 1 .. SPDX-License-Identifier: GPL-2.0 3 USB drivers 6 The USB boards are identified by an identification called USB ID. 8 The ``lsusb`` command allows identifying the USB IDs:: 18 via USB Video Class. Those cameras are automatically supported by the 19 ``uvc-driver``. 21 Older cameras and TV USB devices uses USB Vendor Classes: each vendor 23 card lists for such vendor-class devices. 25 While this is not as common as on PCI, sometimes the same USB ID is used 30 The current supported USB cards (not including staging drivers) are [all …]
|
/linux/Documentation/usb/ |
H A D | acm.rst | 5 Copyright (c) 1999 Vojtech Pavlik <vojtech@suse.cz> 23 Temple Place, Suite 330, Boston, MA 02111-1307 USA 25 Should you need to contact me, the author, you can do so either by e-mail - 34 The drivers/usb/class/cdc-acm.c drivers works with USB modems and USB ISDN terminal 36 Abstract Control Model (USB CDC ACM) specification. 40 - 3Com OfficeConnect 56k 41 - 3Com Voice FaxModem Pro 42 - 3Com Sportster 43 - MultiTech MultiModem 56k 44 - Zoom 2986L FaxModem [all …]
|
/linux/drivers/usb/core/ |
H A D | file.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * drivers/usb/core/file.c 5 * (C) Copyright Linus Torvalds 1999 6 * (C) Copyright Johannes Erdfelt 1999-2001 7 * (C) Copyright Andreas Gal 1999 8 * (C) Copyright Gregory P. Smith 1999 9 * (C) Copyright Deti Fliegl 1999 (new USB architecture) 10 * (C) Copyright Randy Dunlap 2000 11 * (C) Copyright David Brownell 2000-2001 (kernel hotplug, usb_device_id, 13 * (C) Copyright Yggdrasil Computing, Inc. 2000 [all …]
|
H A D | generic.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * drivers/usb/core/generic.c - generic driver for USB devices (not interfaces) 5 * (C) Copyright 2005 Greg Kroah-Hartman <gregkh@suse.de> 7 * based on drivers/usb/usb.c which had the following copyrights: 8 * (C) Copyright Linus Torvalds 1999 9 * (C) Copyright Johannes Erdfelt 1999-2001 10 * (C) Copyright Andreas Gal 1999 11 * (C) Copyright Gregory P. Smith 1999 12 * (C) Copyright Deti Fliegl 1999 (new USB architecture) 13 * (C) Copyright Randy Dunlap 2000 [all …]
|
/linux/Documentation/devicetree/bindings/usb/ |
H A D | richtek,rt1711h.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/usb/richtek,rt1711h.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Richtek RT1711H Type-C Port Switch and Power Delivery controller 10 - Gene Chen <gene_chen@richtek.com> 13 The RT1711H is a USB Type-C controller that complies with the latest 14 USB Type-C and PD standards. It does the USB Type-C detection including attach 15 and orientation. It integrates the physical layer of the USB BMC power 17 support for alternative interfaces of the Type-C specification. [all …]
|
H A D | richtek,rt1719.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/usb/richtek,rt1719.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Richtek RT1719 sink-only Type-C PD controller 10 - ChiYuan Huang <cy_huang@richtek.com> 13 The RT1719 is a sink-only USB Type-C controller that complies with the latest 14 USB Type-C and PD standards. It does the USB Type-C detection including attach 15 and orientation. It integrates the physical layer of the USB BMC power 17 support for alternative interfaces of the Type-C specification. [all …]
|
H A D | realtek,rtd-type-c.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/usb/realtek,rtd-type-c.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Realtek DHC RTD SoCs USB Type-C Connector detection 11 - Stanley Chang <stanley_chang@realtek.com> 14 Realtek digital home center (DHC) RTD series SoCs include a type c module. 15 This module is able to detect the state of type c connector. 20 - realtek,rtd1295-type-c 21 - realtek,rtd1312c-type-c [all …]
|
H A D | willsemi,wusb3801.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/usb/willsemi,wusb3801.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: WUSB3801 Type-C port controller 10 The Will Semiconductor WUSB3801 is a USB Type-C port controller which 12 compatible with the USB Type-C Cable and Connector Specification v1.2. 15 - Samuel Holland <samuel@sholland.org> 20 - willsemi,wusb3801 30 $ref: ../connector/usb-connector.yaml# [all …]
|
/linux/drivers/usb/serial/ |
H A D | usb-serial-simple.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * USB Serial "Simple" driver 5 * Copyright (C) 2001-2006,2008,2013 Greg Kroah-Hartman <greg@kroah.com> 6 * Copyright (C) 2005 Arthur Huillet (ahuillet@users.sf.net) 7 * Copyright (C) 2005 Thomas Hergenhahn <thomas.hergenhahn@suse.de> 8 * Copyright (C) 2009 Outpost Embedded, LLC 9 * Copyright (C) 2010 Zilogic Systems <code@zilogic.com> 10 * Copyright (C) 2013 Wei Shuai <cpuwolf@gmail.com> 11 * Copyright (C) 2013 Linux Foundation 17 #include <linux/usb.h> [all …]
|
/linux/drivers/usb/gadget/legacy/ |
H A D | gmidi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * gmidi.c -- USB MIDI Gadget Driver 5 * Copyright (C) 2006 Thumtronics Pty Ltd. 11 * Gadget Zero driver, Copyright (C) 2003-2004 David Brownell. 12 * USB Audio driver, Copyright (C) 2002 by Takashi Iwai. 13 * USB MIDI driver, Copyright (C) 2002-2005 Clemens Ladisch. 15 * Refer to the USB Device Class Definition for MIDI Devices: 16 * http://www.usb.org/developers/devclass_docs/midi10.pdf 26 #include <linux/usb/composite.h> 27 #include <linux/usb/gadget.h> [all …]
|