davinci_pll_clk_register(9)
π davinci_pll_clk_register(9) β a Kernel API Manual moment
okay so picture this: it's section 9 of the Kernel API Manual, the page is literally called davinci_pll_clk_register, and it's about to make your whole PLL situation make sense. bestie, let's get into it π«Ά
β¨ NAME β¨
davinci_pll_clk_register β registering a PLL clock, that's the whole vibe π«
πΈ SYNOPSIS πΈ
struct clk * davinci_pll_clk_register (struct device *dev , const struct
davinci_pll_clk_info *info , const char *parent_name , void __iomem
*base , struct regmap *cfgchip );
like, look at that signature. iconic. no notes. π
π ARGUMENTS π
devβ the PLL platform device, orNULLif you're feeling mysterious πinfoβ the device-specific clock info, aka the lore drop for this particular clock πparent_nameβ the parent clock name, every main character has an origin storybaseβ the PLL's memory region, the physical spot where the magic livescfgchipβ the CFGCHIP syscon regmap forinfo->unlock_reg, orNULL
π¦ DESCRIPTION π¦
so this function creates a whole series of clocks that represent the PLL. not one clock. a series. it's giving ensemble cast π
Here's the chain, and yes we're keeping it exactly as written:
OSCIN > [PREDIV >] PLL > [POSTDIV >] PLLEN
Breaking down every single link, because you deserve to know:
- OSCIN is the parent clock (on secondary PLL, may come from primary PLL) β so it can lowkey be a nepo baby of the primary PLL, and that's fine π
- PREDIV and POSTDIV are optional (depends on the PLL controller) β sometimes they show up, sometimes they don't, it's a vibe check π§
- PLL is the PLL output (aka PLLOUT) β the moment, the main event, the star β
- PLLEN is the bypass multiplexer β the sneaky little alternate route π₯
π RETURN π
The PLLOUT clock, or a negative error code if things did not, in fact, slay π
π SEE ALSO π
Kernel file ./drivers/clk/davinci/pll.c β go read it, it's right there:
struct davinci_pll_clk(9)davinci_pll_div_register(9)davinci_pll_auxclk_register(9)davinci_pll_sysclkbp_clk_register(9)davinci_pll_obsclk_register(9)davinci_pll_sysclk_register(9)
all the siblings, all equally iconic, go stan them π«Ά
fr fr:cfgchipis the CFGCHIP syscon regmap forinfo->unlock_regβ passNULLif that's not your situation, no cap.
and that's the page babe π straight out of ./drivers/clk/davinci, dated October 2026, and you're officially a PLL clock registration girlie now. periodt. πβ¨π¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms