summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Moussalem2025-05-30 05:19:29 +0000
committerRobert Marko2025-06-02 20:59:05 +0000
commit480268596fac7f9e4b8e9b544ac5aecff5abca2d (patch)
tree1a8dc33d88570fbbad295022e800737e58c78e23
parentc3b1c780ad3335f430e0c81131517de75ff2dd92 (diff)
downloadopenwrt-480268596fac7f9e4b8e9b544ac5aecff5abca2d.tar.gz
qualcommax: ipq50xx: fix uniphy soft reset issue
The resets in the GCC of the uniphy found in the IPQ5018 SoC are incorrect which broke the ability to shift between 1G and 2.5G link speeds. So let's correct the resets based on below two downstream commits. In a seperate and prequisite PR to the QCA-SSDK repo, logic has been implemented to select the right reset based on the link setup so fixed link scenarios don't break. Signed-off-by: George Moussalem <george.moussalem@outlook.com> Link: https://github.com/openwrt/openwrt/pull/18774 Signed-off-by: Robert Marko <robimarko@gmail.com>
-rw-r--r--target/linux/qualcommax/patches-6.12/0723-clk-qcom-gcc-ipq5018-fix-uniphy-soft-reset-issue.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/target/linux/qualcommax/patches-6.12/0723-clk-qcom-gcc-ipq5018-fix-uniphy-soft-reset-issue.patch b/target/linux/qualcommax/patches-6.12/0723-clk-qcom-gcc-ipq5018-fix-uniphy-soft-reset-issue.patch
new file mode 100644
index 0000000000..f4d7742722
--- /dev/null
+++ b/target/linux/qualcommax/patches-6.12/0723-clk-qcom-gcc-ipq5018-fix-uniphy-soft-reset-issue.patch
@@ -0,0 +1,22 @@
+From: George Moussalem <george.moussalem@outlook.com>
+Date: Fri, 30 May 2025 09:12:23 +0400
+Subject: [PATCH] clk: qcom: gcc-ipq5018: fix UNIPHY soft reset issue
+
+The SOFT reset is supposed to trigger a resets across the SYS, RX, and
+TX lines of the IPQ5018 UNIPHY. So let's set the bitmask of the reset
+definition accordingly in the GCC as per the downstream driver.
+
+Link: https://git.codelinaro.org/clo/qsdk/oss/kernel/linux-ipq-5.4/-/commit/036bdc62aca561e8ff94a29c447fc400de2b7304
+
+Signed-off-by: George Moussalem <george.moussalem@outlook.com>
+--- a/drivers/clk/qcom/gcc-ipq5018.c
++++ b/drivers/clk/qcom/gcc-ipq5018.c
+@@ -3647,7 +3647,7 @@ static const struct qcom_reset_map gcc_i
+ [GCC_UNIPHY_SYS_ARES] = { 0x56104, 1 },
+ [GCC_UNIPHY_RX_ARES] = { 0x56104, 4 },
+ [GCC_UNIPHY_TX_ARES] = { 0x56104, 5 },
+- [GCC_UNIPHY_SOFT_RESET] = {0x56104, 0 },
++ [GCC_UNIPHY_SOFT_RESET] = {0x56104, .bitmask = 0x32 },
+ [GCC_USB0_BCR] = { 0x3e070, 0 },
+ [GCC_USB0_PHY_BCR] = { 0x3e034, 0 },
+ [GCC_WCSS_BCR] = { 0x18000, 0 },