Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

phy: qcom: qmp-pcie: register PHY AUX clock for SM8[456]50 4x2 PCIe PHY

The PCIe Gen4x2 PHY found in the SM8[456]50 SoCs have a second clock,
enable this second clock by setting the proper 20MHz hardware rate in
the Gen4x2 SM8[456]50 aux_clock_rate config fields.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240322-topic-sm8x50-upstream-pcie-1-phy-aux-clk-v2-4-3ec0a966d52f@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Neil Armstrong and committed by
Vinod Koul
5cee04a8 583ca9cc

+9
+9
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
··· 3141 3141 3142 3142 .pwrdn_ctrl = SW_PWRDN | REFCLK_DRV_DSBL, 3143 3143 .phy_status = PHYSTATUS_4_20, 3144 + 3145 + /* 20MHz PHY AUX Clock */ 3146 + .aux_clock_rate = 20000000, 3144 3147 }; 3145 3148 3146 3149 static const struct qmp_phy_cfg sm8550_qmp_gen3x2_pciephy_cfg = { ··· 3201 3198 .pwrdn_ctrl = SW_PWRDN | REFCLK_DRV_DSBL, 3202 3199 .phy_status = PHYSTATUS_4_20, 3203 3200 .has_nocsr_reset = true, 3201 + 3202 + /* 20MHz PHY AUX Clock */ 3203 + .aux_clock_rate = 20000000, 3204 3204 }; 3205 3205 3206 3206 static const struct qmp_phy_cfg sm8650_qmp_gen4x2_pciephy_cfg = { ··· 3234 3228 .pwrdn_ctrl = SW_PWRDN | REFCLK_DRV_DSBL, 3235 3229 .phy_status = PHYSTATUS_4_20, 3236 3230 .has_nocsr_reset = true, 3231 + 3232 + /* 20MHz PHY AUX Clock */ 3233 + .aux_clock_rate = 20000000, 3237 3234 }; 3238 3235 3239 3236 static const struct qmp_phy_cfg sa8775p_qmp_gen4x2_pciephy_cfg = {