STRUCT CLK_PFD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct clk_pfd(9) β€” like, the whole vibe

okay so bestie, welcome to the Kernel API Manual entry for struct clk_pfd(9), and no I'm not kidding, this is genuinely a page you're gonna want to know. grab a strawberry drink πŸ“ and let's go.


✨ NAME ✨

struct clk_pfd β€” the IMX PFD clock. that's it, that's the name, slay.


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole thing, character for character, no cap:

struct clk_pfd {
    struct clk_hw   hw;
    void __iomem    *reg;
    u8 idx;
 };

yes the indentation is like That in the original, we don't touch it, we respect it πŸ™ˆ


πŸŽ€ Members πŸŽ€

girl these are the three fields and they all matter, so:

  • hw β€” the clock source ✨ this is the actual clock hardware handle, main character energy tbh
  • reg β€” the PFD register address πŸ“ like literally where the register lives in memory
  • idx β€” the index of PFD encoded in the register πŸ”’ and yes, the "encoded in the register" part is doing real work here, see below

🌸 Description 🌸

so the PFD clock is found on i.MX6 series, okay? lowkey iconic hardware.

here's the important bit bestie, don't skim it: each register for PFD has 4 clk_pfd data encoded in it, and the member idx is what you use to specify which one you mean. so one register, four clocks, idx is the vibe check that tells them apart πŸ‘‘

and each register has SET, CLR and TOG registers hanging out at offset 0x4, 0x8 and 0xc respectively. yes, three offsets, three of them, in that order, write it down: 0x4 β†’ SET, 0x8 β†’ CLR, 0xc β†’ TOG. periodt. πŸ’…


πŸ”₯ SEE ALSO πŸ”₯

  • Kernel file ./drivers/clk/imx/clk-pfd.c β€” go read it, it ate, fr fr

okay that's the page!! 🫢 and for the cute sign-off: this whole thing lives under ./drivers/clk/imx and it's dated October 2026 β€” so like, future vibes, we love that for us πŸ’–βœ¨πŸ§š

πŸ“¦ where this page comes from