STRUCT RZV2H_CPG_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct rzv2h_cpg_info(9) 🌸

okay bestie, welcome to the Kernel API Manual β€” today's main character is struct rzv2h_cpg_info, and honestly? it's giving SoC-specific CPG Description ✨ it's the little data bundle that tells the clock/power gang everything it needs to know about a specific SoC. no cap, super important πŸ’…


✨ NAME ✨

struct rzv2h_cpg_info β€” SoC-specific CPG Description πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

struct rzv2h_cpg_info {
    const struct cpg_core_clk *core_clks;
    unsigned int num_core_clks;
    unsigned int last_dt_core_clk;
    unsigned int num_total_core_clks;
    const struct rzv2h_mod_clk *mod_clks;
    unsigned int num_mod_clks;
    unsigned int num_hw_mod_clks;
    const struct rzv2h_reset *resets;
    unsigned int num_resets;
    unsigned int num_mstop_bits;
 };

like, that's the whole vibe of it 🫢 ten fields, zero drama (mostly).


πŸŽ€ Members πŸŽ€

  • core_clks β€” Array of Core Clock definitions πŸ”₯ the actual core-clock lineup.
  • num_core_clks β€” Number of entries in core_clks[] ⭐ so you know how far to walk the array, iykyk.
  • last_dt_core_clk β€” ID of the last Core Clock exported to DT πŸ’– the boundary marker between "exists for the kernel" and "exists for devicetree".
  • num_total_core_clks β€” Total number of Core Clocks (exported + internal) πŸ‘‘ both flavours counted together, no clock left behind.
  • mod_clks β€” Array of Module Clock definitions 🌈 the module-clock roster.
  • num_mod_clks β€” Number of entries in mod_clks[] πŸ’œ your trusty array-length buddy.
  • num_hw_mod_clks β€” Number of Module Clocks supported by the hardware πŸ’€ hardware says what it says; this is the honest count.
  • resets β€” Array of Module Reset definitions 🧚 all the reset definitions, neatly arrayed.
  • num_resets β€” Number of entries in resets[] 🌸 length check, slay.
  • num_mstop_bits β€” Maximum number of MSTOP bits supported, equivalent to the number of CPG_BUS_m_MSTOP registers multiplied by 16 πŸ“ (yes, literally that math β€” multiply by sixteen, periodt).

πŸ’« SEE ALSO πŸ’«

Kernel file ./drivers/clk/renesas/rzv2h-cpg.h β€” plus these iconic siblings:

  • struct pll(9)
  • struct ddiv(9)
  • struct smuxed(9)
  • struct fixed_mod_conf(9)
  • struct rzv2h_mod_clk(9)
  • struct rzv2h_reset(9)

go read them, they ate πŸ’…


ngl, and this is the important bit β€” the SEE ALSO list has no comma between the header file and the structs, so like... it's a list of things not a sentence. don't come for me, I'm just the messenger 🫢

and that's the whole page, bestie!! 🌈⭐ mwah πŸ’‹ this gem lives over in ./drivers/clk/renesas, and it's stamped October 2026 β€” so yes, this documentation is literally from the future πŸ’€βœ¨ go build something gorgeous with it πŸ’–

πŸ“¦ where this page comes from