| From fe42e673156bb70c036048f0d965398f60c03158 Mon Sep 17 00:00:00 2001 |
| From: Evan Green <evgreen@chromium.org> |
| Date: Thu, 21 Mar 2019 10:17:54 -0700 |
| Subject: dt-bindings: phy-qcom-qmp: Add UFS PHY reset |
| |
| [ Upstream commit 95cee0b4e30a09a411a17e9a3bc6b72ed92063da ] |
| |
| Add a required reset to the SDM845 UFS phy to express the PHY reset |
| bit inside the UFS controller register space. Before this change, this |
| reset was not expressed in the DT, and the driver utilized two different |
| callbacks (phy_init and phy_poweron) to implement a two-phase |
| initialization procedure that involved deasserting this reset between |
| init and poweron. This abused the two callbacks and diluted their |
| purpose. |
| |
| That scheme does not work as regulators cannot be turned off in |
| phy_poweroff because they were turned on in init, rather than poweron. |
| The net result is that regulators are left on in suspend that shouldn't |
| be. |
| |
| This new scheme gives the UFS reset to the PHY, so that it can fully |
| initialize itself in a single callback. We can then turn regulators on |
| during poweron and off during poweroff. |
| |
| Signed-off-by: Evan Green <evgreen@chromium.org> |
| Reviewed-by: Rob Herring <robh@kernel.org> |
| Reviewed-by: Stephen Boyd <swboyd@chromium.org> |
| Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| Documentation/devicetree/bindings/phy/qcom-qmp-phy.txt | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| diff --git a/Documentation/devicetree/bindings/phy/qcom-qmp-phy.txt b/Documentation/devicetree/bindings/phy/qcom-qmp-phy.txt |
| index 5d181fc3cc182..4a78ba8b85bc0 100644 |
| --- a/Documentation/devicetree/bindings/phy/qcom-qmp-phy.txt |
| +++ b/Documentation/devicetree/bindings/phy/qcom-qmp-phy.txt |
| @@ -59,7 +59,8 @@ Required properties: |
| one for each entry in reset-names. |
| - reset-names: "phy" for reset of phy block, |
| "common" for phy common block reset, |
| - "cfg" for phy's ahb cfg block reset. |
| + "cfg" for phy's ahb cfg block reset, |
| + "ufsphy" for the PHY reset in the UFS controller. |
| |
| For "qcom,ipq8074-qmp-pcie-phy" must contain: |
| "phy", "common". |
| @@ -74,7 +75,8 @@ Required properties: |
| "phy", "common". |
| For "qcom,sdm845-qmp-usb3-uni-phy" must contain: |
| "phy", "common". |
| - For "qcom,sdm845-qmp-ufs-phy": no resets are listed. |
| + For "qcom,sdm845-qmp-ufs-phy": must contain: |
| + "ufsphy". |
| |
| - vdda-phy-supply: Phandle to a regulator supply to PHY core block. |
| - vdda-pll-supply: Phandle to 1.8V regulator supply to PHY refclk pll block. |
| -- |
| 2.20.1 |
| |