diff options
author | Hans de Goede <hdegoede@redhat.com> | 2018-03-20 15:57:10 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-03-22 13:49:27 +0100 |
commit | f6fb9ec02be1c1718596622263a88ff5490d2e95 (patch) | |
tree | b81b1094f5218b7ed70069e985e6ee6e984b63a8 /drivers/usb/Makefile | |
parent | fa31b3cb2ae143aa6e26974fcbe75689da60bdbe (diff) | |
download | linux-f6fb9ec02be1c1718596622263a88ff5490d2e95.tar.gz linux-f6fb9ec02be1c1718596622263a88ff5490d2e95.tar.bz2 linux-f6fb9ec02be1c1718596622263a88ff5490d2e95.zip |
usb: roles: Add Intel xHCI USB role switch driver
Various Intel SoCs (Cherry Trail, Broxton and others) have an internal USB
role switch for swiching the OTG USB data lines between the xHCI host
controller and the dwc3 gadget controller.
Note on some Cherry Trail systems there is ACPI/AML code listening to
edge interrupts on the id-pin (through an _AIE ACPI method) and switching
the role between ROLE_HOST and ROLE_NONE based on the id-pin. Note it does
not set the role to ROLE_DEVICE, because device-mode is usually not used
under Windows.
The presence of AML code which modifies the cfg0 reg (on some systems)
means that our read/write/modify of cfg0 may race with the AML code
doing the same to avoid this we take the global ACPI lock while doing
the read/write/modify.
Signed-off-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>
Diffstat (limited to 'drivers/usb/Makefile')
-rw-r--r-- | drivers/usb/Makefile | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile index 060643a1b5c8..7d1b8c82b208 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile @@ -65,3 +65,5 @@ obj-$(CONFIG_USB_COMMON) += common/ obj-$(CONFIG_USBIP_CORE) += usbip/ obj-$(CONFIG_TYPEC) += typec/ + +obj-$(CONFIG_USB_ROLE_SWITCH) += roles/ |