davinci_pll_clk_register(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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, or NULL if 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 story
  • base β€” the PLL's memory region, the physical spot where the magic lives
  • cfgchip β€” the CFGCHIP syscon regmap for info->unlock_reg, or NULL

πŸ¦‹ 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:

all the siblings, all equally iconic, go stan them 🫢


fr fr: cfgchip is the CFGCHIP syscon regmap for info->unlock_reg β€” pass NULL if 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