Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 453f7755 authored by Hao Wu's avatar Hao Wu Committed by Greg Kroah-Hartman
Browse files

USB: Add Intel Langwell USB OTG Transceiver Drive



Description:
This driver is used for Intel Langwell* USB OTG controller in Intel
Moorestown* platform. It tries to implement host/device role switch
according to OTG spec.  The actual hsot and device functions are
accomplished in modified EHCI driver and Intel Langwell USB OTG client
controller driver.

* Langwell and Moorestown are names used in development. They are not
  approved official name.

Note:
This patch is the first version Intel Langwell USB OTG Transceiver
driver. The development is not finished, and the bug fixing is on going
for some hardware and software issues. The main purpose of this
submission is for code view.

Supported features:
- Data-line Pulsing SRP
- Support HNP to switch roles
- PCI D0/D3 power management support

Known issues:
- HNP is only tested with another Moorestown platform.
- PCI D0/D3 power management support is not fully tested.
- VBus Pulsing SRP is not support in current version.

Signed-off-by: default avatarHao Wu <hao.wu@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 5be19a9d
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -59,4 +59,18 @@ config NOP_USB_XCEIV
	 built-in with usb ip or which are autonomous and doesn't require any
	 phy programming such as ISP1x04 etc.

config USB_LANGWELL_OTG
	tristate "Intel Langwell USB OTG dual-role support"
	depends on USB && MRST
	select USB_OTG
	select USB_OTG_UTILS
	help
	  Say Y here if you want to build Intel Langwell USB OTG
	  transciever driver in kernel. This driver implements role
	  switch between EHCI host driver and Langwell USB OTG
	  client driver.

	  To compile this driver as a module, choose M here: the
	  module will be called langwell_otg.

endif # USB || OTG
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ obj-$(CONFIG_USB_OTG_UTILS) += otg.o
obj-$(CONFIG_USB_GPIO_VBUS)	+= gpio_vbus.o
obj-$(CONFIG_ISP1301_OMAP)	+= isp1301_omap.o
obj-$(CONFIG_TWL4030_USB)	+= twl4030-usb.o
obj-$(CONFIG_USB_LANGWELL_OTG)	+= langwell_otg.o
obj-$(CONFIG_NOP_USB_XCEIV)	+= nop-usb-xceiv.o

ccflags-$(CONFIG_USB_DEBUG)	+= -DDEBUG