phy: exynos5-usbdrd: fix EDS distribution tuning (gs101)
authorAndré Draszik <andre.draszik@linaro.org>
Fri, 6 Dec 2024 16:31:04 +0000 (16:31 +0000)
committerVinod Koul <vkoul@kernel.org>
Thu, 13 Feb 2025 17:12:52 +0000 (22:42 +0530)
This code's intention is to configure lane0 and lane2 tunings, but for
lane2 there is a typo and it ends up tuning something else.

Fix the typo, as it doesn't appear to make sense to apply different
tunings for lane0 vs lane2.

The same typo appears to exist in the bootloader, hence we restore the
original value in the typo'd registers as well. This can be removed
once / if the bootloader is updated.

Note that this is incorrect in the downstream driver as well - the
values had been copied from there.

Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Tested-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: André Draszik <andre.draszik@linaro.org>
Tested-by: Will McVicker <willmcvicker@google.com>
Link: https://lore.kernel.org/r/20241206-gs101-phy-lanes-orientation-phy-v4-4-f5961268b149@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/samsung/phy-exynos5-usbdrd.c

index ceae4b4..2a724d3 100644 (file)
@@ -1510,8 +1510,11 @@ static const struct exynos5_usbdrd_phy_tuning gs101_tunes_pipe3_preinit[] = {
        PHY_TUNING_ENTRY_PMA(0x09e0, -1, 0x00),
        PHY_TUNING_ENTRY_PMA(0x09e4, -1, 0x36),
        PHY_TUNING_ENTRY_PMA(0x1e7c, -1, 0x06),
-       PHY_TUNING_ENTRY_PMA(0x1e90, -1, 0x00),
-       PHY_TUNING_ENTRY_PMA(0x1e94, -1, 0x36),
+       PHY_TUNING_ENTRY_PMA(0x19e0, -1, 0x00),
+       PHY_TUNING_ENTRY_PMA(0x19e4, -1, 0x36),
+       /* fix bootloader bug */
+       PHY_TUNING_ENTRY_PMA(0x1e90, -1, 0x02),
+       PHY_TUNING_ENTRY_PMA(0x1e94, -1, 0x0b),
        /* improve LVCC */
        PHY_TUNING_ENTRY_PMA(0x08f0, -1, 0x30),
        PHY_TUNING_ENTRY_PMA(0x18f0, -1, 0x30),