]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
clk: samsung: clk-pll: Add support for pll_{1051x,1052x}
authorIvaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Wed, 23 Oct 2024 09:01:35 +0000 (12:01 +0300)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Sat, 26 Oct 2024 12:00:08 +0000 (14:00 +0200)
These plls are found in the Exynos8895 SoC:
- pll1051x: Integer PLL with middle frequency
- pll1052x: Integer PLL with low frequency

The PLLs are similar enough to pll_0822x, so the same code can handle
all.

Locktime for 1051x, 1052x is 150 - the same as the pll_0822x
lock factor. MDIV, SDIV, PDIV masks and bit shifts are also the same
as 0822x.

When defining a PLL, the "con" parameter should be set to CON0
register, like this:

PLL(pll_1051x, CLK_FOUT_SHARED0_PLL, "fout_shared0_pll", "oscclk",
    PLL_LOCKTIME_PLL_SHARED0, PLL_CON0_PLL_SHARED0,
    pll_shared0_rate_table),

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Link: https://lore.kernel.org/r/20241023090136.537395-3-ivo.ivanov.ivanov1@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
drivers/clk/samsung/clk-pll.c
drivers/clk/samsung/clk-pll.h

index cca3e630922c1487c76aa92999d6c1896c156b06..be6b516949193f103696c814b5cffad5d4ea9a66 100644 (file)
@@ -1370,6 +1370,8 @@ static void __init _samsung_clk_register_pll(struct samsung_clk_provider *ctx,
                break;
        case pll_1417x:
        case pll_1418x:
+       case pll_1051x:
+       case pll_1052x:
        case pll_0818x:
        case pll_0822x:
        case pll_0516x:
index 3481941ba07a9d8bf5251508573324223ad84802..858ab367eb6552bf880ef9d14cd89713b08960a4 100644 (file)
@@ -43,6 +43,8 @@ enum samsung_pll_type {
        pll_0517x,
        pll_0518x,
        pll_531x,
+       pll_1051x,
+       pll_1052x,
 };
 
 #define PLL_RATE(_fin, _m, _p, _s, _k, _ks) \