mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 10:56:40 +00:00
64dc9e2e73
Here is the big Gadget & PHY pull request. Many of us have been really busy lately getting multiple drivers to a better position. Since this pull request is so large, I will divide it in sections so it's easier to grasp what's included. - cleanups: . UDC drivers no longer touch gadget->dev, that's now udc-core responsibility . Many more UDC drivers converted to usb_gadget_map/unmap_request() . UDC drivers no longer initialize DMA-related fields from gadget's device structure . UDC drivers don't touch gadget.dev.driver directly . UDC drivers don't assign gadget.dev.release directly . Removal of some unused DMA_ADDR_INVALID . Introduction of CONFIG_USB_PHY . All phy drivers have been moved to drivers/usb/phy and renamed to a common naming scheme . Fix PHY layer so it never returns a NULL pointer, also fix all callers to avoid using IS_ERR_OR_NULL() . Sparse fixes all over the place . drivers/usb/otg/ has been deleted . Marvel drivers (mv_udc, ehci-mv, mv_otg and mv_u3d) improved clock usage - new features: . UDC core now provides a generic way for tracking and reporting UDC's state (not attached, resuming, suspended, addressed, default, etc) . twl4030-usb learned that it shouldn't be enabled during init . Full DT support for DWC3 has been implemented . ab8500-usb learned about pinctrl framework . nop PHY learned about DeviceTree and regulators . DWC3 learned about suspend/resume . DWC3 can now be compiled in host-only and gadget-only (as well as DRD) configurations . UVC now enables streaming endpoint based on negotiated speed . isp1301 now implements the PHY API properly . configfs-based interface for gadget drivers which will lead to the removal of all code which just combines functions together to build functional gadget drivers. . f_serial and f_obex were converted to new configfs interface while maintaining old interface around. - non-critical fixes: . UVC gadget driver got fixes for Endpoint usage and stream calculation . ab8500-usb fixed unbalanced clock and regulator API usage . twl4030-usb got a fix for when OMAP3 is booted with cable connected . fusb300_udc got a fix for DMA usage . UVC got fixes for two assertions of the USB Video Class Compliance specification revision 1.1 . build warning issues caused by recent addition of __must_check to regulator API These are all changes which deserve a mention, all other changes are related to these one or minor spelling fixes and other similar tasks. Signed-of-by: Felipe Balbi <balbi@ti.com> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJRXG8GAAoJEIaOsuA1yqREJzYQAKMLW3J/TKTWS1DDuf7qMtMz Ug6qChKZXgT1/QrNjsq2tx4jYIkNdSMtRKiUx0BnIptlUx6gM22gcsN8mXX/UJjC FYAiWl+tYe85e9uayqqt+qVCZjTZCc7St4wQalugDHefvA7yCbiZpSaJRGlJMK+x mePJ7MfrulDsYBXr0u+m2LOJ0qxMDi40k3/UN3aUu5yzrmBiRpVq1mySruvLwGFp Pr6vBnprEc6bW5sRdUR4SICKLvLk5sHwHpvpkzDLYBIb/jXQwbfQri/HKeh4VMk8 trbsvHZyB7H8uuFsCHiBc6VtjcbZ4mxPUK+1PCq8hG077avdkm3ox0BERk9aRTeC jg4mdpyWjgovwi882woPEQXNZoaAXpVDyI8tBRx92a+rGJjXSHhLQI+4Ffi4ZvzV d+q1ZzrHxuzwa/BwcPETY76umXQqXWXg+ap1bHDY0RZFoPLdXMpl583NXGSn3gOD dUlD0UlgYwb75333tRIPNQn3qOx0HVd6MlYPMNzl9t9c9qqfX78AYRny6ZucupRg t9VZ6FO3D2yre9W7u3U3q2c9H7uSAKr/8xaNfvdsIWPncgvvYVIyE8MnR7AiHoPv ZYESs/Gs6w9vUsHa9K4J16Ape7D3AMcGpXUoPUxTBHrwBexzt4j27VWtcL4ns/9r 0kcltUJ4Zq+PIjc7xgxe =aF4r -----END PGP SIGNATURE----- Merge tag 'usb-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next Felipe writes: usb: patches for v3.10 merge window Here is the big Gadget & PHY pull request. Many of us have been really busy lately getting multiple drivers to a better position. Since this pull request is so large, I will divide it in sections so it's easier to grasp what's included. - cleanups: . UDC drivers no longer touch gadget->dev, that's now udc-core responsibility . Many more UDC drivers converted to usb_gadget_map/unmap_request() . UDC drivers no longer initialize DMA-related fields from gadget's device structure . UDC drivers don't touch gadget.dev.driver directly . UDC drivers don't assign gadget.dev.release directly . Removal of some unused DMA_ADDR_INVALID . Introduction of CONFIG_USB_PHY . All phy drivers have been moved to drivers/usb/phy and renamed to a common naming scheme . Fix PHY layer so it never returns a NULL pointer, also fix all callers to avoid using IS_ERR_OR_NULL() . Sparse fixes all over the place . drivers/usb/otg/ has been deleted . Marvel drivers (mv_udc, ehci-mv, mv_otg and mv_u3d) improved clock usage - new features: . UDC core now provides a generic way for tracking and reporting UDC's state (not attached, resuming, suspended, addressed, default, etc) . twl4030-usb learned that it shouldn't be enabled during init . Full DT support for DWC3 has been implemented . ab8500-usb learned about pinctrl framework . nop PHY learned about DeviceTree and regulators . DWC3 learned about suspend/resume . DWC3 can now be compiled in host-only and gadget-only (as well as DRD) configurations . UVC now enables streaming endpoint based on negotiated speed . isp1301 now implements the PHY API properly . configfs-based interface for gadget drivers which will lead to the removal of all code which just combines functions together to build functional gadget drivers. . f_serial and f_obex were converted to new configfs interface while maintaining old interface around. - non-critical fixes: . UVC gadget driver got fixes for Endpoint usage and stream calculation . ab8500-usb fixed unbalanced clock and regulator API usage . twl4030-usb got a fix for when OMAP3 is booted with cable connected . fusb300_udc got a fix for DMA usage . UVC got fixes for two assertions of the USB Video Class Compliance specification revision 1.1 . build warning issues caused by recent addition of __must_check to regulator API These are all changes which deserve a mention, all other changes are related to these one or minor spelling fixes and other similar tasks. Signed-of-by: Felipe Balbi <balbi@ti.com>
209 lines
6.8 KiB
Plaintext
209 lines
6.8 KiB
Plaintext
#
|
|
# Physical Layer USB driver configuration
|
|
#
|
|
menuconfig USB_PHY
|
|
tristate "USB Physical Layer drivers"
|
|
help
|
|
USB controllers (those which are host, device or DRD) need a
|
|
device to handle the physical layer signalling, commonly called
|
|
a PHY.
|
|
|
|
The following drivers add support for such PHY devices.
|
|
|
|
if USB_PHY
|
|
|
|
#
|
|
# USB Transceiver Drivers
|
|
#
|
|
config AB8500_USB
|
|
tristate "AB8500 USB Transceiver Driver"
|
|
depends on AB8500_CORE
|
|
help
|
|
Enable this to support the USB OTG transceiver in AB8500 chip.
|
|
This transceiver supports high and full speed devices plus,
|
|
in host mode, low speed.
|
|
|
|
config FSL_USB2_OTG
|
|
bool "Freescale USB OTG Transceiver Driver"
|
|
depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_SUSPEND
|
|
select USB_OTG
|
|
help
|
|
Enable this to support Freescale USB OTG transceiver.
|
|
|
|
config ISP1301_OMAP
|
|
tristate "Philips ISP1301 with OMAP OTG"
|
|
depends on I2C && ARCH_OMAP_OTG
|
|
help
|
|
If you say yes here you get support for the Philips ISP1301
|
|
USB-On-The-Go transceiver working with the OMAP OTG controller.
|
|
The ISP1301 is a full speed USB transceiver which is used in
|
|
products including H2, H3, and H4 development boards for Texas
|
|
Instruments OMAP processors.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called isp1301_omap.
|
|
|
|
config MV_U3D_PHY
|
|
bool "Marvell USB 3.0 PHY controller Driver"
|
|
depends on CPU_MMP3
|
|
help
|
|
Enable this to support Marvell USB 3.0 phy controller for Marvell
|
|
SoC.
|
|
|
|
config NOP_USB_XCEIV
|
|
tristate "NOP USB Transceiver Driver"
|
|
help
|
|
This driver is to be used by all the usb transceiver which are either
|
|
built-in with usb ip or which are autonomous and doesn't require any
|
|
phy programming such as ISP1x04 etc.
|
|
|
|
config OMAP_CONTROL_USB
|
|
tristate "OMAP CONTROL USB Driver"
|
|
help
|
|
Enable this to add support for the USB part present in the control
|
|
module. This driver has API to power on the USB2 PHY and to write to
|
|
the mailbox. The mailbox is present only in omap4 and the register to
|
|
power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an
|
|
additional register to power on USB3 PHY.
|
|
|
|
config OMAP_USB2
|
|
tristate "OMAP USB2 PHY Driver"
|
|
depends on ARCH_OMAP2PLUS
|
|
select OMAP_CONTROL_USB
|
|
help
|
|
Enable this to support the transceiver that is part of SOC. This
|
|
driver takes care of all the PHY functionality apart from comparator.
|
|
The USB OTG controller communicates with the comparator using this
|
|
driver.
|
|
|
|
config OMAP_USB3
|
|
tristate "OMAP USB3 PHY Driver"
|
|
select OMAP_CONTROL_USB
|
|
help
|
|
Enable this to support the USB3 PHY that is part of SOC. This
|
|
driver takes care of all the PHY functionality apart from comparator.
|
|
This driver interacts with the "OMAP Control USB Driver" to power
|
|
on/off the PHY.
|
|
|
|
config SAMSUNG_USBPHY
|
|
tristate "Samsung USB PHY Driver"
|
|
help
|
|
Enable this to support Samsung USB phy helper driver for Samsung SoCs.
|
|
This driver provides common interface to interact, for Samsung USB 2.0 PHY
|
|
driver and later for Samsung USB 3.0 PHY driver.
|
|
|
|
config SAMSUNG_USB2PHY
|
|
tristate "Samsung USB 2.0 PHY controller Driver"
|
|
select SAMSUNG_USBPHY
|
|
help
|
|
Enable this to support Samsung USB 2.0 (High Speed) PHY controller
|
|
driver for Samsung SoCs.
|
|
|
|
config SAMSUNG_USB3PHY
|
|
tristate "Samsung USB 3.0 PHY controller Driver"
|
|
select SAMSUNG_USBPHY
|
|
help
|
|
Enable this to support Samsung USB 3.0 (Super Speed) phy controller
|
|
for samsung SoCs.
|
|
|
|
config TWL4030_USB
|
|
tristate "TWL4030 USB Transceiver Driver"
|
|
depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
|
|
help
|
|
Enable this to support the USB OTG transceiver on TWL4030
|
|
family chips (including the TWL5030 and TPS659x0 devices).
|
|
This transceiver supports high and full speed devices plus,
|
|
in host mode, low speed.
|
|
|
|
config TWL6030_USB
|
|
tristate "TWL6030 USB Transceiver Driver"
|
|
depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS
|
|
help
|
|
Enable this to support the USB OTG transceiver on TWL6030
|
|
family chips. This TWL6030 transceiver has the VBUS and ID GND
|
|
and OTG SRP events capabilities. For all other transceiver functionality
|
|
UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs
|
|
are hooked to this driver through platform_data structure.
|
|
The definition of internal PHY APIs are in the mach-omap2 layer.
|
|
|
|
config USB_GPIO_VBUS
|
|
tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
|
|
depends on GENERIC_GPIO
|
|
help
|
|
Provides simple GPIO VBUS sensing for controllers with an
|
|
internal transceiver via the usb_phy interface, and
|
|
optionally control of a D+ pullup GPIO as well as a VBUS
|
|
current limit regulator.
|
|
|
|
config USB_ISP1301
|
|
tristate "NXP ISP1301 USB transceiver support"
|
|
depends on USB || USB_GADGET
|
|
depends on I2C
|
|
select USB_OTG_UTILS
|
|
help
|
|
Say Y here to add support for the NXP ISP1301 USB transceiver driver.
|
|
This chip is typically used as USB transceiver for USB host, gadget
|
|
and OTG drivers (to be selected separately).
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called isp1301.
|
|
|
|
config USB_MSM_OTG
|
|
tristate "OTG support for Qualcomm on-chip USB controller"
|
|
depends on (USB || USB_GADGET) && ARCH_MSM
|
|
help
|
|
Enable this to support the USB OTG transceiver on MSM chips. It
|
|
handles PHY initialization, clock management, and workarounds
|
|
required after resetting the hardware and power management.
|
|
This driver is required even for peripheral only or host only
|
|
mode configurations.
|
|
This driver is not supported on boards like trout which
|
|
has an external PHY.
|
|
|
|
config USB_MV_OTG
|
|
tristate "Marvell USB OTG support"
|
|
depends on USB_EHCI_MV && USB_MV_UDC && USB_SUSPEND
|
|
select USB_OTG
|
|
help
|
|
Say Y here if you want to build Marvell USB OTG transciever
|
|
driver in kernel (including PXA and MMP series). This driver
|
|
implements role switch between EHCI host driver and gadget driver.
|
|
|
|
To compile this driver as a module, choose M here.
|
|
|
|
config USB_MXS_PHY
|
|
tristate "Freescale MXS USB PHY support"
|
|
depends on ARCH_MXC || ARCH_MXS
|
|
select STMP_DEVICE
|
|
help
|
|
Enable this to support the Freescale MXS USB PHY.
|
|
|
|
MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x.
|
|
|
|
config USB_RCAR_PHY
|
|
tristate "Renesas R-Car USB phy support"
|
|
depends on USB || USB_GADGET
|
|
help
|
|
Say Y here to add support for the Renesas R-Car USB phy driver.
|
|
This chip is typically used as USB phy for USB host, gadget.
|
|
This driver supports: R8A7779
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called rcar-phy.
|
|
|
|
config USB_ULPI
|
|
bool "Generic ULPI Transceiver Driver"
|
|
depends on ARM
|
|
help
|
|
Enable this to support ULPI connected USB OTG transceivers which
|
|
are likely found on embedded boards.
|
|
|
|
config USB_ULPI_VIEWPORT
|
|
bool
|
|
depends on USB_ULPI
|
|
help
|
|
Provides read/write operations to the ULPI phy register set for
|
|
controllers with a viewport register (e.g. Chipidea/ARC controllers).
|
|
|
|
endif # USB_PHY
|