[PATCH v4 00/16] Support for Qualcomm QUSBv2 and QMPv3 USB PHYs

Manu Gautam
2018-01-03T11:29:00Z

QUSB-v2 and QMP-v3 USB PHYs are present on Qualcomm's 14nm
and 10nm SOCs.
This patch series adds support for runtime PM for these
USB PHYs and adds fixes in drivers to follow PHY reset and
initialization sequence as per hardware programming manual.

Changes since v3:
- Add extra PHY_MODEs for updating USB speed instead of adding
new callback.
- Continue to use power_on() for QMP driver as pci-qcom driver
initialization sequence requires pipe_clk to enabled as part
of power_on().
- Fix bug in the usage clk_bulk_ APIs in QMP driver.
- Update handling of fuse values for tune1 parameter in QUSB2
driver for v2 PHY.
- Incorporated other review comments.

Changes since v2:
- Drop sw-vbus override related patches as dwc3 glue driver to
take care of same.
- Don't read current linestate but rather rely on current speed
which will be notified by core driver. This is required to
have correct polarity of wakeup events detection in PHY.

Changes since v1:
- Incorporated review comments.
- Fixes to align with hardware programming manual.
- Added support for QUSBv2 and QMPv3 PHYs.
- Enable DP/DM asynchronous interrupts from QUSB2 USB2 PHY
for remote-wakeup.
- Enable LFPS and RX-TERM detection for attach and detach
events from QMP USB3 PHY for remotewakeup.
- Update sw-vbus override in PHY wrapper for device mode.
- Dropped one dwc3 patch from this series which I will submit
with other dwc3 patches. ("usb: dwc3: core: Notify USB3 PHY as
well for DRD modes")

Manu Gautam (14):
phy: qcom-qmp: Power-on PHY before initialization
phy: qcom-qusb2: Power-on PHY before initialization
phy: qcom-qmp: Fix PHY block reset sequence
phy: qcom-qmp: Move SERDES/PCS START after PHY reset
phy: qcom-qusb2: Add support for different register layouts
dt-bindings: phy-qcom-qusb2: Update binding for QUSB2 V2 version
phy: qcom-qusb2: Add support for QUSB2 V2 version
phy: qcom-qmp: Move register offsets to header file
phy: qcom-qmp: Add register offsets for QMP V3 PHY
dt-bindings: phy-qcom-qmp: Update bindings for QMP V3 USB PHY
phy: qcom-qmp: Add support for QMP V3 USB3 PHY
phy: Add USB speed related PHY modes
phy: qcom-qusb2: Add support for runtime PM
phy: qcom-qmp: Add support for runtime PM

Vivek Gautam (2):
phy: qcom-qmp: Fix phy pipe clock gating
phy: qcom-qmp: Adapt to clk_bulk_* APIs

.../devicetree/bindings/phy/qcom-qmp-phy.txt | 6 +-
.../devicetree/bindings/phy/qcom-qusb2-phy.txt | 5 +-
drivers/phy/phy-core.c | 15 +
drivers/phy/qualcomm/phy-qcom-qmp.c | 645 +++++++++++++++------
drivers/phy/qualcomm/phy-qcom-qmp.h | 289 +++++++++
drivers/phy/qualcomm/phy-qcom-qusb2.c | 416 +++++++++++--
include/linux/phy/phy.h | 32 +-
7 files changed, 1149 insertions(+), 259 deletions(-)
create mode 100644 drivers/phy/qualcomm/phy-qcom-qmp.h