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 support

    Signed-off-by: Peter Chen

    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

    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
    ...

    Linus Torvalds
     

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

    Heikki Krogerus
     

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

    Lu Baolu
     

17 Mar, 2017

1 commit


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

    Chunfeng Yun
     

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

    Arnd Bergmann
     

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

    Peter Senna Tschudin
     

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

    Zhangfei Gao
     

27 Jan, 2015

1 commit


26 Aug, 2014

1 commit


28 May, 2014

2 commits


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

    Paul Zimmerman
     

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

    Greg Kroah-Hartman
     

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

    Feng-Hsin Chiang
     

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

    Roger Quadros
     

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

    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

    Yuan-Hsin Chen
     

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

    Yuan-Hsin Chen
     

18 Mar, 2013

2 commits


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

    Felipe Balbi
     

27 Jun, 2012

1 commit


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

    Alexander Shishkin
     

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

    Roland Stigge
     

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

    Neil Zhang
     

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

    Michal Nazarewicz
     

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

    Felipe Balbi
     

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

    Anatolij Gustschin
     

14 Apr, 2011

1 commit


11 Aug, 2010

1 commit


03 Mar, 2010

1 commit


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

    Bill Gatliff
     

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

    Daniel Mack
     

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

    Jason Wessel
     
  • 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

    Lothar Wassmann
     

16 Jun, 2009

1 commit


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

    Mike Frysinger