[PATCH v4 3/8] clk: starfive: Add peripheral-0 domain PLL clock driver
Changhuang Liang <[email protected]> Sat, 8 Aug 2026 18:50:49 -0700
| Newsgroups | org.kernel.vger.linux-clk,org.infradead.lists.linux-riscv,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Add peripheral-0 domain PLL clock driver support for StarFive JHB100 SoC. Signed-off-by: Changhuang Liang <[email protected]> --- .../clk/starfive/clk-starfive-jhb100-pll.c | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/drivers/clk/starfive/clk-starfive-jhb100-pll.c b/drivers/clk/starfive/clk-starfive-jhb100-pll.c index 55d589bc831e..3547dcd340dd 100644 --- a/drivers/clk/starfive/clk-starfive-jhb100-pll.c +++ b/drivers/clk/starfive/clk-starfive-jhb100-pll.c @@ -29,6 +29,9 @@ #define JHB100_PLL4_OFFSET 0x18 #define JHB100_PLL5_OFFSET 0x24 +/* Peripheral-0 domain PLL */ +#define JHB100_PLL6_OFFSET 0x00 + #define JHB100_PLL_CFG0_OFFSET 0x0 #define JHB100_PLL_CFG1_OFFSET 0x4 #define JHB100_PLL_CFG2_OFFSET 0x8 @@ -515,11 +518,37 @@ static const struct jhb100_pll_match_data jhb100_sys0_pll = { .num_pll = ARRAY_SIZE(jhb100_sys0_pll_info), }; +static const struct jhb100_pll_preset jhb100_pll6_presets[] = { + { + .freq = 2400000000, + .fbdiv = 192, + .frac = 0, + .refdiv = 1, + .postdiv = 0, + .foutpostdiv_en = 1, + .foutvcop_en = 0, + }, +}; + +static const struct jhb100_pll_info jhb100_per0_pll_info[] = { + JHB100_PLL(JHB100_PER0PLL_PLL6_OUT, "pll6_out", jhb100_pll6_presets, + ARRAY_SIZE(jhb100_pll6_presets), JHB100_PLL6_OFFSET, false), +}; + +static const struct jhb100_pll_match_data jhb100_per0_pll = { + .pll_info = jhb100_per0_pll_info, + .num_pll = ARRAY_SIZE(jhb100_per0_pll_info), +}; + static const struct of_device_id jhb100_pll_match[] = { { .compatible = "starfive,jhb100-sys0-syscon", .data = &jhb100_sys0_pll, }, + { + .compatible = "starfive,jhb100-per0-syscon", + .data = &jhb100_per0_pll, + }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, jhb100_pll_match); -- 2.25.1