12 Feb, 2019
1 commit
-
Add Cadence USB3 IP driver, this is the 1st version for this driver,
so wrapper layer and PHY layer are still IP core file (core.c).
Below functions are supported:- Basic host function
- Limited gadget function, only ACM (old g_seiral) are supported, and
mass_storage support is not very well.
- Role switch between host and device through extcon design
(Eg, Type-C application NXP PTN5150).Below functions are missing:
- Multi-queue support at gadget function, without this feature, many
gadget function are missing.
- Low power mode support, including system PM and runtime PM
- Wakeup supportSigned-off-by: Peter Chen
02 Nov, 2017
1 commit
-
Many source files in the tree are missing licensing information, which
makes it harder for compliance tools to determine the correct license.By default all files without license information are under the default
license of the kernel, which is GPL version 2.Update the files which contain no license information with the 'GPL-2.0'
SPDX license identifier. The SPDX identifier is a legally binding
shorthand, which can be used instead of the full boiler plate text.This patch is based on work done by Thomas Gleixner and Kate Stewart and
Philippe Ombredanne.How this work was done:
Patches were generated and checked against linux-4.14-rc6 for a subset of
the use cases:
- file had no licensing information it it.
- file was a */uapi/* one with no licensing information in it,
- file was a */uapi/* one with existing licensing information,Further patches will be generated in subsequent months to fix up cases
where non-standard license headers were used, and references to license
had to be inferred by heuristics based on keywords.The analysis to determine which SPDX License Identifier to be applied to
a file was done in a spreadsheet of side by side results from of the
output of two independent scanners (ScanCode & Windriver) producing SPDX
tag:value files created by Philippe Ombredanne. Philippe prepared the
base worksheet, and did an initial spot review of a few 1000 files.The 4.13 kernel was the starting point of the analysis with 60,537 files
assessed. Kate Stewart did a file by file comparison of the scanner
results in the spreadsheet to determine which SPDX license identifier(s)
to be applied to the file. She confirmed any determination that was not
immediately clear with lawyers working with the Linux Foundation.Criteria used to select files for SPDX license identifier tagging was:
- Files considered eligible had to be source code files.
- Make and config files were included as candidates if they contained >5
lines of source
- File already had some variant of a license header in it (even if
Reviewed-by: Philippe Ombredanne
Reviewed-by: Thomas Gleixner
Signed-off-by: Greg Kroah-Hartman
05 May, 2017
1 commit
-
Pull USB updates from Greg KH:
"Here is the big USB patchset for 4.12-rc1.Lots of good stuff here, after many many many attempts, the kernel
finally has a working typeC interface, many thanks to Heikki and
Guenter and others who have taken the time to get this merged. It
wasn't an easy path for them at all.There's also a staging driver that uses this new api, which is why
it's coming in through this tree.Along with that, there's the usual huge number of changes for gadget
drivers, xhci, and other stuff. Johan also finally refactored pretty
much every driver that was looking at USB endpoints to do it in a
common way, which will help prevent any "badly-formed" devices from
causing problems in drivers. That too wasn't a simple task.All of these have been in linux-next for a while with no reported
issues"* tag 'usb-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (263 commits)
staging: typec: Fairchild FUSB302 Type-c chip driver
staging: typec: Type-C Port Controller Interface driver (tcpci)
staging: typec: USB Type-C Port Manager (tcpm)
usb: host: xhci: remove #ifdef around PM functions
usb: musb: don't mark of_dev_auxdata as initdata
usb: misc: legousbtower: Fix buffers on stack
USB: Revert "cdc-wdm: fix "out-of-sync" due to missing notifications"
usb: Make sure usb/phy/of gets built-in
USB: storage: e-mail update in drivers/usb/storage/unusual_devs.h
usb: host: xhci: print correct command ring address
usb: host: xhci: delete sp_dma_buffers for scratchpad
usb: host: xhci: using correct specification chapter reference for DCBAAP
xhci: switch to pci_alloc_irq_vectors
usb: host: xhci-plat: set resume_quirk() for R-Car controllers
usb: host: xhci-plat: add resume_quirk()
usb: host: xhci-plat: enable clk in resume timing
usb: host: plat: Enable xHCI plat runtime PM
USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit
USB: serial: constify static arrays
usb: fix some references for /proc/bus/usb
...
23 Mar, 2017
1 commit
-
The purpose of USB Type-C connector class is to provide
unified interface for the user space to get the status and
basic information about USB Type-C connectors on a system,
control over data role swapping, and when the port supports
USB Power Delivery, also control over power role swapping
and Alternate Modes.Signed-off-by: Heikki Krogerus
Reviewed-by: Mika Westerberg
Reviewed-and-Tested-by: Felipe Balbi
Tested-by: Guenter Roeck
Signed-off-by: Greg Kroah-Hartman
21 Mar, 2017
1 commit
-
XHCI debug capability (DbC) is an optional but standalone
functionality provided by an xHCI host controller. Software
learns this capability by walking through the extended
capability list of the host. XHCI specification describes
DbC in section 7.6.This patch introduces the code to probe and initialize the
debug capability hardware during early boot. With hardware
initialized, the debug target (system on which this code is
running) will present a debug device through the debug port
(normally the first USB3 port). The debug device is fully
compliant with the USB framework and provides the equivalent
of a very high performance (USB3) full-duplex serial link
between the debug host and target. The DbC functionality is
independent of the xHCI host. There isn't any precondition
from the xHCI host side for the DbC to work.One use for this feature is kernel debugging, for example
when your machine crashes very early before the regular
console code is initialized. Other uses include simpler,
lockless logging instead of a full-blown printk console
driver and klogd.Signed-off-by: Lu Baolu
Acked-by: Thomas Gleixner
Cc: Greg Kroah-Hartman
Cc: Linus Torvalds
Cc: Mathias Nyman
Cc: Peter Zijlstra
Cc: linux-usb@vger.kernel.org
Link: http://lkml.kernel.org/r/1490083293-3792-3-git-send-email-baolu.lu@linux.intel.com
[ Small fix to the Kconfig help text. ]
Signed-off-by: Ingo Molnar
17 Mar, 2017
1 commit
-
a lot of embeded system SOC (e.g. freescale T2080) have both
PCI and USB modules. But USB module is controlled by registers directly,
it have no relationship with PCI module.when say N here it will not build PCI related code in USB driver.
Signed-off-by: yuan linyu
Acked-by: Felipe Balbi
Signed-off-by: Greg Kroah-Hartman
27 Oct, 2016
1 commit
-
This patch adds support for the MediaTek USB3 controller
integrated into MT8173. It currently supports High-Speed
Peripheral Only mode.Super-Speed Peripheral, Dual-Role Device and Host Only (xHCI)
modes will be added in the next patchs.Signed-off-by: Chunfeng Yun
Signed-off-by: Greg Kroah-Hartman
04 Mar, 2016
1 commit
-
The USB_FSL_MPH_DR_OF symbol is used to ensure the code that interprets
the DR device node is built whenever one of the two drivers (EHCI or
UDC) for the platform is enabled. However, if CONFIG_USB is disabled
and we only support gadget mode, this causes a Kconfig warning:warning: (USB_FSL_USB2) selects USB_FSL_MPH_DR_OF which has unmet direct dependencies (USB_SUPPORT && USB)
We can avoid this warning by simply no longer using the symbol,
and making sure we enter the drivers/usb/host/ directory when
the UDC driver is enabled that needs the file, and then we use
Makefile syntax to ensure the file is built-in if needed.There is currently a dependency on CONFIG_OF, but this is redundant,
as we already know that this is set unconditionally for the platforms
that use this driver.Signed-off-by: Arnd Bergmann
Signed-off-by: Felipe Balbi
17 Oct, 2015
1 commit
-
fusbh200 and fotg210 are very similar. The initial idea was to consolidate
both drivers but I'm afraid fusbh200 is not being used.This patch remove the fusbh200 source code, update Kconfig and two
Makefiles.Signed-off-by: Peter Senna Tschudin
Acked-by: John Chiang
Signed-off-by: Greg Kroah-Hartman
19 Mar, 2015
1 commit
-
USB PHY works proper is the base for the coming USB controller operation.
With this patch, it can avoid the controller drivers which are linked
earlier than USB PHY always being probed deferral.
Look at drivers/Makefile, it links phy first with the similar method.Signed-off-by: Zhangfei Gao
Acked-by: Peter Chen
Signed-off-by: Greg Kroah-Hartman
27 Jan, 2015
1 commit
-
Now that this is DRD, it doesn't make sense to keep it under
drivers/usb/host.Signed-off-by: Laurent Pinchart
Signed-off-by: Felipe Balbi
26 Aug, 2014
1 commit
-
At this point, USB/IP kernel code is fully functional
and can be moved out of staging.Signed-off-by: Valentina Manea
Signed-off-by: Greg Kroah-Hartman
28 May, 2014
2 commits
-
Since we will have more usb-common things, and it will let
usb-common.c be larger and larger, we create a folder named usb/common
for all usb common things.Cc: Felipe Balbi
Signed-off-by: Peter Chen
Signed-off-by: Greg Kroah-Hartman -
Signed-off-by: David Mosberger
Signed-off-by: Greg Kroah-Hartman
14 Jan, 2014
1 commit
-
The DWC2 driver should now be in good enough shape to move out of
staging. I have stress tested it overnight on RPI running mass
storage and Ethernet transfers in parallel, and for several days
on our proprietary PCI-based platform.Signed-off-by: Paul Zimmerman
Cc: Felipe Balbi
Signed-off-by: Greg Kroah-Hartman
14 Aug, 2013
1 commit
-
Felipe writes:
usb: patches for v3.12 merge window
All patches here have been pending on linux-usb
and sitting in linux-next for a while now.The biggest things in this tag are:
DWC3 learned proper usage of threaded IRQ
handlers and now we spend very little time
in hardirq context.MUSB now has proper support for BeagleBone and
Beaglebone Black.Tegra's USB support also got quite a bit of love
and is learning to use PHY layer and generic DT
attributes.Other than that, the usual pack of cleanups and
non-critical fixes follow.Signed-of-by: Felipe Balbi
Conflicts:
drivers/usb/gadget/udc-core.c
drivers/usb/host/ehci-tegra.c
drivers/usb/musb/omap2430.c
drivers/usb/musb/tusb6010.c
30 Jul, 2013
1 commit
-
FOTG210 is an OTG controller which can be configured as an
USB2.0 host. FOTG210 host is an ehci-like controller with
some differences. First, register layout of FOTG210 is
incompatible with EHCI. Furthermore, FOTG210 is lack of
siTDs which means iTDs are used for both HS and FS ISO
transfer.Signed-off-by: Feng-Hsin Chiang
Signed-off-by: Greg Kroah-Hartman
29 Jul, 2013
1 commit
-
Convert PHY Drivers from menuconfig to menu so that the PHY drivers
can be explicitely selected by the controller drivers.USB_PHY is no longer a user visible option. It is upto to the PHY
drivers to select it if needed. This patch does so for the existing
PHY drivers that use the USB_PHY library.Doing so moves the USB_PHY and PHY driver selection problem from the
end user to the PHY and controller driver developer.e.g.
Earlier, a controller driver (e.g. EHCI_OMAP) that needs to select
a PHY driver (e.g. NOP_PHY) couldn't do so because the PHY driver
depended on USB_PHY. Making the controller driver depend on USB_PHY
has a negative effect i.e. it becomes invisible to the user till
USB_PHY is enabled. Most end users will not familiar with this.With this patch, the end user just needs to select the controller driver
needed for his/her platform without worrying about which PHY driver to
select.Also update USB_EHCI_MSM, USB_LPC32XX and USB_OMAP to not depend
on USB_PHY any more. They can safely select the necessary PHY drivers.[ balbi@ti.com : refreshed on top of my next branch. Changed bool
followed by default n into def_bool n ]CC: Pavankumar Kondeti
Acked-by: Roland Stigge
Signed-off-by: Roger Quadros
Signed-off-by: Felipe Balbi
25 Jul, 2013
2 commits
-
This reverts commit 1dd3d123239179fad5de5dc00a6e0014a1918fde.
The email address for the developer now bounces, which means they have
moved on, so remove the driver until someone else from the company steps
up to maintain it.Signed-off-by: Greg Kroah-Hartman
-
FOTG210 is an OTG controller which can be configured as an
USB2.0 host. FOTG210 host is an ehci-like controller with
some differences. First, register layout of FOTG210 is
incompatible with EHCI. Furthermore, FOTG210 is lack of
siTDs which means iTDs are used for both HS and FS ISO
transfer.Signed-off-by: Yuan-Hsin Chen
Signed-off-by: Greg Kroah-Hartman
18 May, 2013
1 commit
-
FUSBH200-HCD is an USB2.0 hcd for Faraday FUSBH200.
FUSBH200 is an ehci-like controller with some differences.
First, register layout of FUSBH200 is incompatible with EHCI.
Furthermore, FUSBH200 is lack of siTDs which means iTDs
are used for both HS and FS ISO transfer.Signed-off-by: Yuan-Hsin Chen
Signed-off-by: Greg Kroah-Hartman
18 Mar, 2013
2 commits
-
there are no more users of CONFIG_USB_OTG_UTILS
left in tree, we can remove it just fine.[ kishon@ti.com : fixed a linking error due
to original patch forgetting to change
drivers/usb/Makefile ]Signed-off-by: Kishon Vijay Abraham I
Signed-off-by: Felipe Balbi -
that's a much more reasonable location for
those drivers. It helps us saving drivers/usb/otg/
for when we actually start adding generic OTG
code.Also completely delete drivers/usb/otg/ as there's
nothing left there.Signed-off-by: Felipe Balbi
07 Mar, 2013
1 commit
-
drivers/usb/phy/ should be compiled everytime
we have CONFIG_USB_OTG_UTILS enabled.phy/ should've been part of the build process based
on CONFIG_USB_OTG_UTILS, don't know where I had my head
when I allowed CONFIG_USB_COMMON there.In fact commit c6156328dec52a55f90688cbfad21c83f8711d84
tried to fix a previous issue but it made things even
worse.The real solution is to compile phy/ based on
CONFIG_USB_OTG_UTILS which gets selected by all PHY
drivers.I only triggered the error recently after accepting a
patch which moved a bunch of code from otg/otg.c to
phy/phy.c and running 100 randconfig cycles.Signed-off-by: Felipe Balbi
Signed-off-by: Greg Kroah-Hartman
27 Jun, 2012
1 commit
-
USB phy layer driver are only built if usb host is selected, but they
are used too by USB_GADGET driversSigned-off-by: Alexandre Pereira da Silva
Acked-by: Roland Stigge
Signed-off-by: Greg Kroah-Hartman
12 May, 2012
1 commit
-
Since chipidea is a dual role controller, it makes sense to move it
to its own directory, where we can also have host, otg and platform
code related to this controller. It also makes sense to break out
the driver into several compilation units like udc, host, debugging
code, etc.Firstly, let's move the udc and platform code to drivers/usb/chipidea.
Signed-off-by: Alexander Shishkin
Signed-off-by: Greg Kroah-Hartman
02 May, 2012
1 commit
-
This new driver registers the NXP ISP1301 chip via the I2C subsystem. The chip
is the USB transceiver shared by ohci-nxp, lpc32xx_udc (gadget) and
isp1301_omap.ISP1301 is a very low-level driver that primarily separates out the I2C client
registration of the ISP1301 chip (including instantiation via DT), used by
other drivers, and declares the chip's registers. It's only a helper driver for
some OHCI and USB device drivers. The driver can be considered as a register
set extension of ohci-nxp, lpc32xx-udc and isp1301_omap, which in turn know
best what to do with the low level functionality (individual ISP1301 registers
and timing, see the different initialization strategies in those drivers).
Those drivers previously internally duplicated ISP1301 register definitions
which is solved by this new isp1301 driver. The ISP1301 registers exposed via
isp1301.h can be accessed by other drivers using it with standard i2c_smbus_*()
accesses.Following patches let the respective USB host and gadget drivers use this
driver, instead of duplicating ISP1301 handling.Signed-off-by: Roland Stigge
Acked-by: Arnd Bergmann
Signed-off-by: Greg Kroah-Hartman
27 Nov, 2011
1 commit
-
For OTG controller, the host driver will call function
otg_get_transceiver to get the otg transceiver, so we need to init the
OTG driver before HOST.Signed-off-by: Neil Zhang
Acked-by: Felipe Balbi
Signed-off-by: Greg Kroah-Hartman
18 Sep, 2011
1 commit
-
In a few places in the kernel, the code prints
a human-readable USB device speed (eg. "high speed").
This involves a switch statement sometimes wrapped
around in ({ ... }) block leading to code repetition.To mitigate this issue, this commit introduces
usb_speed_string() function, which returns
a human-readable name of provided speed.It also changes a few places switch was used to use
this new function. This changes a bit the way the
speed is printed in few instances at the same time
standardising it.Signed-off-by: Michal Nazarewicz
Signed-off-by: Greg Kroah-Hartman
23 Aug, 2011
1 commit
-
The DesignWare USB3 is a highly
configurable IP Core which can be
instantiated as Dual-Role Device (DRD),
Peripheral Only and Host Only (XHCI)
configurations.Several other parameters can be configured
like amount of FIFO space, amount of TX and
RX endpoints, amount of Host Interrupters,
etc.The current driver has been validated with
a virtual model of version 1.73a of that core
and with an FPGA burned with version 1.83a
of the DRD core. We have support for PCIe
bus, which is used on FPGA prototyping, and
for the OMAP5, more adaptation (or glue)
layers can be easily added and the driver
is half prepared to handle any possible
configuration the HW engineer has chosen
considering we have the information on
one of the GHWPARAMS registers to do
runtime checking of certain features.More runtime checks can, and should, be added
in order to make this driver even more flexible
with regards to number of endpoints, FIFO sizes,
transfer types, etc.While this supports only the device side, for
now, we will add support for Host side (xHCI -
see the updated series Sebastian has sent [1])
and OTG after we have it all stabilized.[1] http://marc.info/?l=linux-usb&m=131341992020339&w=2
Signed-off-by: Felipe Balbi
Signed-off-by: Greg Kroah-Hartman
03 May, 2011
1 commit
-
When only FSL USB gadget driver is selected in the kernel
configuration the MPH DR OF driver for creation of FSL
USB platform devices from device tree won't be built.
As a result no USB platform devices for MPH DR USB controller
will be created at run time and no probing will be done in
the fsl_udc_core driver.Add an entry to the Makefile to build the MPH DR OF
platform driver if CONFIG_USB_FSL_MPH_DR_OF is defined.Signed-off-by: Anatolij Gustschin
Signed-off-by: Greg Kroah-Hartman
14 Apr, 2011
1 commit
-
Instead, make we enter usb/ directory on all
needed cases and enter the subdirectories from
drivers/usb/Makefile.Signed-off-by: Felipe Balbi
Signed-off-by: Greg Kroah-Hartman
11 Aug, 2010
1 commit
-
Don't descend to the EARLY_PRINTK_DBGP directory
unless it is actually used.Signed-off-by: Nicolas Kaiser
Signed-off-by: Greg Kroah-Hartman
03 Mar, 2010
1 commit
-
This driver is a Full / Low speed only USB host for the i.MX21.
Signed-off-by: Martin Fuzzey
Signed-off-by: Greg Kroah-Hartman
24 Dec, 2009
1 commit
-
This patch corrects a problem where drivers/usb/otg is linked twice
if CONFIG_USB_ULPI is selected, resulting in a build error (symbol
conflict). The files in that directory are properly linked already
as part of CONFIG_USB, and need not be indicated specifically for
CONFIG_USB_ULPI.Signed-off-by: Bill Gatliff
Acked-by: Felipe Balbi
Signed-off-by: Greg Kroah-Hartman
12 Dec, 2009
1 commit
-
This adds a minimal generic driver for ULPI connected transceivers,
using the OTG framework functions recently introduced.The driver got a table to match the ULPI chips, which currently only has
one entry for NXP's ISP 1504 transceiver.Signed-off-by: Daniel Mack
Cc: Heikki Krogerus
Cc: David Brownell
Cc: Sascha Hauer
Signed-off-by: Greg Kroah-Hartman
23 Sep, 2009
2 commits
-
Move the dbgp early printk driver in advance of refactoring and adding
new code, so the changes to this code are tracked separately from the
move of the code.The drivers/usb/early directory will be the location of the current
and future early usb code for driving usb devices prior initializing
the standard interrupt driven USB drivers.Signed-off-by: Jason Wessel
Cc: Ingo Molnar
Cc: Andrew Morton
Cc: Yinghai Lu
Cc: "Eric W. Biederman"
Signed-off-by: Greg Kroah-Hartman -
Signed-off-by: Lothar Wassmann
Signed-off-by: Michael Hennerich
Signed-off-by: Bryan Wu
Signed-off-by: Mike Frysinger
Signed-off-by: Greg Kroah-Hartman
16 Jun, 2009
1 commit
-
Add Makefile and Kconfig entries for the xHCI host controller driver.
List Sarah Sharp as the maintainer for the xHCI driver.Signed-off-by: Sarah Sharp
Signed-off-by: Greg Kroah-Hartman
29 May, 2009
1 commit
-
This reverts commit 26e1287594864169577327fef233befc9739be3b.
A larger patch (f7e7aa585) a few days after this one added the same line
to the Makefile, but in a different place. While it'd be more correct to
revert that one, it's easier to revert this one because this is a
one-liner.Signed-off-by: Mike Frysinger
CC: Greg Kroah-Hartman
CC: linux-usb@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman