phy: qcom-qmp-combo: initialize PCS_USB registers
authorKonrad Dybcio <konrad.dybcio@linaro.org>
Mon, 11 Sep 2023 20:07:15 +0000 (22:07 +0200)
committerVinod Koul <vkoul@kernel.org>
Thu, 21 Sep 2023 14:23:13 +0000 (16:23 +0200)
Currently, PCS_USB registers that have their initialization data in a
pcs_usb_tbl table are never initialized. Fix that.

Fixes: fc64623637da ("phy: qcom-qmp-combo,usb: add support for separate PCS_USB region")
Reported-by: Adrien Thierry <athierry@redhat.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230829-topic-8550_usbphy-v3-2-34ec434194c5@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/qualcomm/phy-qcom-qmp-combo.c

index 8fd240d..5e6fc81 100644 (file)
@@ -2555,6 +2555,7 @@ static int qmp_combo_usb_power_on(struct phy *phy)
        void __iomem *tx2 = qmp->tx2;
        void __iomem *rx2 = qmp->rx2;
        void __iomem *pcs = qmp->pcs;
+       void __iomem *pcs_usb = qmp->pcs_usb;
        void __iomem *status;
        unsigned int val;
        int ret;
@@ -2576,6 +2577,9 @@ static int qmp_combo_usb_power_on(struct phy *phy)
 
        qmp_combo_configure(pcs, cfg->pcs_tbl, cfg->pcs_tbl_num);
 
+       if (pcs_usb)
+               qmp_combo_configure(pcs_usb, cfg->pcs_usb_tbl, cfg->pcs_usb_tbl_num);
+
        if (cfg->has_pwrdn_delay)
                usleep_range(10, 20);