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

From: Dmitry Osipenko
Date: Thu Dec 17 2020 - 04:45:46 EST


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

--
2.29.2