Re: [PATCH] phy: qcom-qusb2: Add support for SDM630/660

Rob Herring
2020-09-29T19:12:58Z

On Sat, Sep 26, 2020 at 03:11:57PM +0200, kholk11@gmail.com wrote:
> From: Konrad Dybcio <konradybcio@gmail.com>
>
> QUSB on these SoCs actually uses *almost* the same
> configuration that msm8996 does, so we can reuse
> the phy_cfg from there with just a single change
> (se clock scheme).
>
> Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
> Signed-off-by: AngeloGioacchino Del Regno <kholk11@gmail.com>
> ---
> Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml | 1 +
> drivers/phy/qualcomm/phy-qcom-qusb2.c | 7 ++++++-
> 2 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml
> index ccda92859eca..97dae24752b4 100644
> --- a/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml
> +++ b/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml
> @@ -21,6 +21,7 @@ properties:
> - qcom,ipq8074-qusb2-phy
> - qcom,msm8996-qusb2-phy
> - qcom,msm8998-qusb2-phy
> + - qcom,sdm660-qusb2-phy
> - items:
> - enum:
> - qcom,sc7180-qusb2-phy
> diff --git a/drivers/phy/qualcomm/phy-qcom-qusb2.c b/drivers/phy/qualcomm/phy-qcom-qusb2.c
> index 557547dabfd5..a4d706b361b9 100644
> --- a/drivers/phy/qualcomm/phy-qcom-qusb2.c
> +++ b/drivers/phy/qualcomm/phy-qcom-qusb2.c
> @@ -702,7 +702,8 @@ static int qusb2_phy_init(struct phy *phy)
> usleep_range(150, 160);
>
> /* Default is single-ended clock on msm8996 */
> - qphy->has_se_clk_scheme = true;
> + if (!of_device_is_compatible(phy->dev.of_node, "qcom,sdm660-qusb2-phy"))
> + qphy->has_se_clk_scheme = true;

You should just pull this from the driver data.

> /*
> * read TCSR_PHY_CLK_SCHEME register to check if single-ended
> * clock scheme is selected. If yes, then disable differential
> @@ -818,6 +819,10 @@ static const struct of_device_id qusb2_phy_of_match_table[] = {
> }, {
> .compatible = "qcom,msm8998-qusb2-phy",
> .data = &msm8998_phy_cfg,
> + }, {
> + .compatible = "qcom,sdm660-qusb2-phy",
> + /* sdm630/660 use the same config as msm8996. */
> + .data = &msm8996_phy_cfg,
> }, {
> /*
> * Deprecated. Only here to support legacy device
> --
> 2.28.0
>