0061-v6.8-phy-qcom-qmp-usb-fix-serdes-init-sequence-for-IPQ6018.patch 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. From 62a5df451ab911421da96655fcc4d1e269ff6e2f Mon Sep 17 00:00:00 2001
  2. From: Mantas Pucka <[email protected]>
  3. Date: Tue, 23 Jan 2024 18:09:20 +0200
  4. Subject: [PATCH] phy: qcom-qmp-usb: fix serdes init sequence for IPQ6018
  5. Commit 23fd679249df ("phy: qcom-qmp: add USB3 PHY support for IPQ6018")
  6. noted that IPQ6018 init is identical to IPQ8074. Yet downstream uses
  7. separate serdes init sequence for IPQ6018. Since already existing IPQ9574
  8. serdes init sequence is identical, just reuse it and fix failing USB3 mode
  9. in IPQ6018.
  10. Fixes: 23fd679249df ("phy: qcom-qmp: add USB3 PHY support for IPQ6018")
  11. Signed-off-by: Mantas Pucka <[email protected]>
  12. Reviewed-by: Dmitry Baryshkov <[email protected]>
  13. Link: https://lore.kernel.org/r/[email protected]
  14. Signed-off-by: Vinod Koul <[email protected]>
  15. ---
  16. drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 20 +++++++++++++++++++-
  17. 1 file changed, 19 insertions(+), 1 deletion(-)
  18. --- a/drivers/phy/qualcomm/phy-qcom-qmp-usb.c
  19. +++ b/drivers/phy/qualcomm/phy-qcom-qmp-usb.c
  20. @@ -1314,6 +1314,26 @@ static const struct qmp_usb_offsets qmp_
  21. .rx = 0x1000,
  22. };
  23. +static const struct qmp_phy_cfg ipq6018_usb3phy_cfg = {
  24. + .lanes = 1,
  25. +
  26. + .serdes_tbl = ipq9574_usb3_serdes_tbl,
  27. + .serdes_tbl_num = ARRAY_SIZE(ipq9574_usb3_serdes_tbl),
  28. + .tx_tbl = msm8996_usb3_tx_tbl,
  29. + .tx_tbl_num = ARRAY_SIZE(msm8996_usb3_tx_tbl),
  30. + .rx_tbl = ipq8074_usb3_rx_tbl,
  31. + .rx_tbl_num = ARRAY_SIZE(ipq8074_usb3_rx_tbl),
  32. + .pcs_tbl = ipq8074_usb3_pcs_tbl,
  33. + .pcs_tbl_num = ARRAY_SIZE(ipq8074_usb3_pcs_tbl),
  34. + .clk_list = msm8996_phy_clk_l,
  35. + .num_clks = ARRAY_SIZE(msm8996_phy_clk_l),
  36. + .reset_list = msm8996_usb3phy_reset_l,
  37. + .num_resets = ARRAY_SIZE(msm8996_usb3phy_reset_l),
  38. + .vreg_list = qmp_phy_vreg_l,
  39. + .num_vregs = ARRAY_SIZE(qmp_phy_vreg_l),
  40. + .regs = qmp_v3_usb3phy_regs_layout,
  41. +};
  42. +
  43. static const struct qmp_phy_cfg ipq8074_usb3phy_cfg = {
  44. .lanes = 1,
  45. @@ -2238,7 +2258,7 @@ err_node_put:
  46. static const struct of_device_id qmp_usb_of_match_table[] = {
  47. {
  48. .compatible = "qcom,ipq6018-qmp-usb3-phy",
  49. - .data = &ipq8074_usb3phy_cfg,
  50. + .data = &ipq6018_usb3phy_cfg,
  51. }, {
  52. .compatible = "qcom,ipq8074-qmp-usb3-phy",
  53. .data = &ipq8074_usb3phy_cfg,