linux/include/linux/usb
Heikki Krogerus fde0aa6c17 usb: common: Small class for USB role switches
USB role switch is a device that can be used to choose the
data role for USB connector. With dual-role capable USB
controllers, the controller itself will be the switch, but
on some platforms the USB host and device controllers are
separate IPs and there is a mux between them and the
connector. On those platforms the mux driver will need to
register the switch.

With USB Type-C connectors, the host-to-device relationship
is negotiated over the Configuration Channel (CC). That
means the USB Type-C drivers need to be in control of the
role switch. The class provides a simple API for the USB
Type-C drivers for the control.

For other types of USB connectors (mainly microAB) the class
provides user space control via sysfs attribute file that
can be used to request role swapping from the switch.

Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-22 13:40:10 +01:00
..
association.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
atmel_usba_udc.h
audio-v2.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
audio.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
c67x00.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
cdc_ncm.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
cdc-wdm.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
cdc.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
ch9.h
chipidea.h
composite.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
ehci_def.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
ehci_pdriver.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
ehci-dbgp.h
ezusb.h
functionfs.h
g_hid.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
gadget_configfs.h
gadget.h usb: gadget: add isoch_delay member 2017-12-11 12:36:48 +02:00
gpio_vbus.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
hcd.h usb: core: hcd: remove support for initializing a single PHY 2018-03-09 09:43:53 -08:00
input.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
iowarrior.h
irda.h
isp116x.h
isp1301.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
isp1362.h
isp1760.h
m66592.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
musb-ux500.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
musb.h
net2280.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
of.h USB: of: clean up device-node helper 2017-11-28 15:12:38 +01:00
ohci_pdriver.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
otg-fsm.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
otg.h
pd_ado.h typec: tcpm: Add ADO header for Alert message handling 2018-03-09 09:21:40 -08:00
pd_bdo.h
pd_ext_sdb.h typec: tcpm: Add SDB header for Status message handling 2018-03-09 09:21:40 -08:00
pd_vdo.h usb: pd: fix the offset for SVID specific commands 2017-12-19 11:47:23 +01:00
pd.h typec: tcpm: Add PD Rev 3.0 definitions to PD header 2018-03-09 09:21:40 -08:00
phy_companion.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
phy.h
quirks.h usb: quirks: add control message delay for 1b1c:1b20 2018-03-06 09:17:34 -08:00
r8a66597.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
renesas_usbhs.h usb: renesas_usbhs: Add support for RZ/A1 2018-01-09 16:18:50 +01:00
rndis_host.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
role.h usb: common: Small class for USB role switches 2018-03-22 13:40:10 +01:00
samsung_usb_phy.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
serial.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
sl811.h
storage.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
tcpm.h typec: tcpm: Validate source and sink caps 2017-12-07 16:03:15 +01:00
tegra_usb_phy.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
tilegx.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
typec_mux.h usb: typec: API for controlling USB Type-C Multiplexers 2018-03-22 13:40:10 +01:00
typec.h usb: typec: API for controlling USB Type-C Multiplexers 2018-03-22 13:40:10 +01:00
uas.h
ulpi.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
usb_phy_generic.h
usb338x.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
usbnet.h usbnet: fix alignment for frames with no ethernet header 2017-12-07 14:32:30 -05:00
wusb-wa.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
wusb.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
xhci-dbgp.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00