phy: exynos5-usbdrd: Add 26MHz ref clk support
authorSam Protsenko <semen.protsenko@linaro.org>
Sat, 19 Aug 2023 03:17:28 +0000 (22:17 -0500)
committerVinod Koul <vkoul@kernel.org>
Tue, 22 Aug 2023 14:11:15 +0000 (19:41 +0530)
Modern Exynos chips (like Exynos850) might have 26 MHz OSCCLK external
clock, which is also used as a PHY reference clock. For some USB PHY
controllers (e.g USB DRD PHY block on Exynos850) there is no need to set
the refclk frequency at all (and corresponding bits in CLKRSTCTRL[7:5]
are marked RESERVED), so that value won't be set in the driver. But
even in that case, 26 MHz support still has to be added, otherwise
exynos5_rate_to_clk() fails, which leads in turn to probe error.

Add the correct value for 26MHz refclk to make it possible to add
support for new Exynos USB DRD PHY controllers.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230819031731.22618-6-semen.protsenko@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/samsung/phy-exynos5-usbdrd.c

index 1ece4a1a1a6ed9c2d45e315ab1fb72b4a6919b7d..41508db87b9bde055f5ecc2577ccf19613d1cc49 100644 (file)
@@ -30,6 +30,7 @@
 #define EXYNOS5_FSEL_19MHZ2            0x3
 #define EXYNOS5_FSEL_20MHZ             0x4
 #define EXYNOS5_FSEL_24MHZ             0x5
+#define EXYNOS5_FSEL_26MHZ             0x82
 #define EXYNOS5_FSEL_50MHZ             0x7
 
 /* Exynos5: USB 3.0 DRD PHY registers */
@@ -244,6 +245,9 @@ static unsigned int exynos5_rate_to_clk(unsigned long rate, u32 *reg)
        case 24 * MHZ:
                *reg = EXYNOS5_FSEL_24MHZ;
                break;
+       case 26 * MHZ:
+               *reg = EXYNOS5_FSEL_26MHZ;
+               break;
        case 50 * MHZ:
                *reg = EXYNOS5_FSEL_50MHZ;
                break;