STRUCT CLK_ICST(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct clk_icst(9) ✨

okay bestie, so this is from the Kernel API Manual and it's literally all about struct clk_icst β€” the ICST VCO clock wrapper. think of it as the main character energy for your clock hardware, no cap πŸ’…


πŸ“œ SYNOPSIS πŸ“œ

like, here's the whole struct, copy-pasted exactly because we do NOT mess with code, periodt:

struct clk_icst {
    struct clk_hw hw;
    struct regmap *map;
    u32 vcoreg_off;
    u32 lockreg_off;
    struct icst_params *params;
    unsigned long rate;
    enum icst_control_type ctype;
};

πŸ’– DESCRIPTION πŸ’– (the Members section, but make it cute)

so every single one of these fields is doing its own little job and we're gonna appreciate each of them, fr fr:

  • hw β€” this is the corresponding clock hardware entry, like the actual hardware's little ID card πŸͺͺ✨
  • map β€” the register map, which is basically the address book for all the registers, iconic behavior honestly πŸ—ΊοΈ
  • vcoreg_off β€” the VCO register address, lowkey important because it tells you where the VCO lives πŸ“
  • lockreg_off β€” the VCO lock register address, the security checkpoint for your VCO πŸ”’
  • params β€” parameters for this ICST instance, like its personal settings, very customized, very slay πŸŽ€
  • rate β€” the current rate, aka the vibe check on how fast things are going ⚑
  • ctype β€” the type of control register for the ICST, because not all control registers are the same, iykyk πŸ¦‹

πŸ”— SEE ALSO πŸ”—

bestie you HAVE to check out the Kernel file ./drivers/clk/versatile/clk-icst.c and also these two functions because they're literally the costars: vco_get(9) and vco_set(9). go read them, they ate πŸ‘‘


so yeah, this iconic struct was served up by the kernel source at ./drivers/clk/versatile and it's dated October 2026 β€” like, future vibes but make it kernel. hope this helped bestie, ily, go compile something beautiful πŸ’œπŸŒˆβœ¨πŸ«Ά

πŸ“¦ where this page comes from