[PATCH v2 0/6] phy: qcom: qmp-usbc: properly handle the clamping register
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Wed Jan 17 06:04:21 PST 2024
The USB-C PHY on the MSM8998, QCM2290, SM6115 and several other platforms
doesn't have built-in PCS_MISC_CLAMP_ENABLE register. Instead clamping
is handled separately via the register in the TCSR space. Make the new
phy-qcom-qmp-usbc driver correctly handle the clamp register.
For backwards compatibility the driver treats these registers as
optional. They are only required for the PHY suspend/resume. However the
schema declares corresponding property as required, it should be present
on all relevant platforms.
At this point I'm not sure whether having a single TCSR-based register
will be enough or whether we will have to add more TCSR registers in
future. In order to avoid repeating TCSR handle (and having multiple
instances of TCSR regmap in the driver) use qcom,tcsr-reg property
rather than someting more exact like qcom,vls-clamp-reg.
Dependecies: PHY-related changes of [1]
Note for the backporters: if the patch is packported to the kernel
before the phy-qocm-qmp-usbc split, the phy-qcom-qmp-usb driver needs to
handle both PCS_MISC_CLAMP_ENABLE and VLS_CLAMP registers as optional.
[1] https://lore.kernel.org/linux-arm-msm/20240113-pmi632-typec-v2-0-182d9aa0a5b3@linaro.org/
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
---
Changes in v2:
- Fixed the TCSR region definitions (Konrad, Bjorn)
- Link to v1: https://lore.kernel.org/r/20240116-usbc-phy-vls-clamp-v1-0-73b2da7691c5@linaro.org
---
Dmitry Baryshkov (6):
dt-bindings: mfd: qcom,tcsr: Add compatibles for QCM2290 and SM6115
dt-bindings: phy: qcom,msm8998-qmp-usb3-phy: add TCSR registers
phy: qcom: qmp-usbc: handle CLAMP register in a correct way
arm64: dts: qcom: msm8998: declare VLS CLAMP register for USB3 PHY
arm64: dts: qcom: qcm2290: declare VLS CLAMP register for USB3 PHY
arm64: dts: qcom: sm6115: declare VLS CLAMP register for USB3 PHY
.../devicetree/bindings/mfd/qcom,tcsr.yaml | 2 +
.../bindings/phy/qcom,msm8998-qmp-usb3-phy.yaml | 11 +++++
arch/arm64/boot/dts/qcom/msm8998.dtsi | 7 ++++
arch/arm64/boot/dts/qcom/qcm2290.dtsi | 7 ++++
arch/arm64/boot/dts/qcom/sm6115.dtsi | 7 ++++
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c | 48 +++++++++++++++++-----
6 files changed, 71 insertions(+), 11 deletions(-)
---
base-commit: 3cbd23fa6ef85801574a4b0d3f81fb365e06b2d2
change-id: 20240116-usbc-phy-vls-clamp-10189efdcf12
Best regards,
--
Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
More information about the linux-phy
mailing list