mbox series

[v2,0/8] Support Runtime PM and host mode by Tegra ChipIdea USB driver

Message ID 20201217094007.19336-1-digetx@gmail.com (mailing list archive)
Headers show
Series Support Runtime PM and host mode by Tegra ChipIdea USB driver | expand

Message

Dmitry Osipenko Dec. 17, 2020, 9:39 a.m. UTC
This series implements Runtime PM support for the Tegra ChipIdea USB driver.
It also squashes the older ehci-tegra driver into the ChipIdea driver, hence
the RPM is supported by both UDC and host controllers, secondly this opens
opportunity for implementing OTG support in the future.

Patchset was tested on various Tegra20, Tegra30 and Tegra124 devices.
Thanks to Peter Geis, Matt Merhar, Nicolas Chauvet and Ion Agorria for
helping with the extensive and productive testing!

Changelog:

v2: - Improved comments in the code as it was suggested by Peter Chen and
      Sergei Shtylyov for v1.

    - Replaced mdelay() with fsleep() and made ci->hdc to reset to NULL in
      a error code path, like it was suggested by Peter Chen.

    - Redirected deprecated USB_EHCI_TEGRA Kconfig entry to USB_CHIPIDEA_TEGRA
      as was suggested by Alan Stern.

    - Improved commit message and added ACK from Thierry Reding to the patch
      that removes MODULE_ALIAS.

    - Fixed UDC PHY waking up on ASUS TF201 tablet device by utilizing
      additional VBUS sensor. This was reported and tested by Ion Agorria.

    - Added t-b from Ion Agorria.

Dmitry Osipenko (7):
  usb: phy: tegra: Add delay after power up
  usb: phy: tegra: Support waking up from a low power mode
  usb: chipidea: tegra: Remove MODULE_ALIAS
  usb: chipidea: tegra: Rename UDC to USB
  usb: chipidea: tegra: Support runtime PM
  usb: host: ehci-tegra: Remove the driver
  ARM: tegra_defconfig: Enable USB_CHIPIDEA and remove USB_EHCI_TEGRA

Peter Geis (1):
  usb: chipidea: tegra: Support host mode

 arch/arm/configs/tegra_defconfig     |   3 +-
 drivers/usb/chipidea/Kconfig         |   3 +-
 drivers/usb/chipidea/ci_hdrc_tegra.c | 327 +++++++++++++--
 drivers/usb/chipidea/core.c          |  10 +-
 drivers/usb/chipidea/host.c          | 104 ++++-
 drivers/usb/host/Kconfig             |   8 +-
 drivers/usb/host/Makefile            |   1 -
 drivers/usb/host/ehci-tegra.c        | 604 ---------------------------
 drivers/usb/phy/phy-tegra-usb.c      |  97 ++++-
 include/linux/usb/chipidea.h         |   6 +
 include/linux/usb/tegra_usb_phy.h    |   2 +
 11 files changed, 503 insertions(+), 662 deletions(-)
 delete mode 100644 drivers/usb/host/ehci-tegra.c