summaryrefslogtreecommitdiffstats
path: root/drivers/usb/Kconfig
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2018-03-20 15:57:10 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-03-22 13:49:27 +0100
commitf6fb9ec02be1c1718596622263a88ff5490d2e95 (patch)
treeb81b1094f5218b7ed70069e985e6ee6e984b63a8 /drivers/usb/Kconfig
parentfa31b3cb2ae143aa6e26974fcbe75689da60bdbe (diff)
downloadlinux-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/Kconfig')
-rw-r--r--drivers/usb/Kconfig2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index f278958e04ca..75f7fb151f71 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -171,6 +171,8 @@ source "drivers/usb/gadget/Kconfig"
source "drivers/usb/typec/Kconfig"
+source "drivers/usb/roles/Kconfig"
+
config USB_LED_TRIG
bool "USB LED Triggers"
depends on LEDS_CLASS && LEDS_TRIGGERS