STRUCT RZG2L_CPG_PRIV(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct rzg2l_cpg_priv(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ this one's all about struct rzg2l_cpg_priv β€” that's the Clock Pulse Generator Private Data struct, and yes it's literally the main character of the Renesas RZ/G2L clock driver πŸŽ€


🌸 NAME 🌸

struct rzg2l_cpg_priv β€” Clock Pulse Generator Private Data πŸ’…


✨ SYNOPSIS ✨

like, here's the whole vibe, no cap:

struct rzg2l_cpg_priv {
    struct reset_controller_dev rcdev;
    struct device *dev;
    void __iomem *base;
    spinlock_t rmw_lock;
    struct clk **clks;
    unsigned int num_core_clks;
    unsigned int num_mod_clks;
    unsigned int num_resets;
    unsigned int last_dt_core_clk;
    const struct rzg2l_cpg_info *info;
    struct generic_pm_domain genpd;
    struct rzg2l_pll5_mux_dsi_div_param mux_dsi_div_params;
 };

🫢 Members 🫢

  • rcdev β€” the reset controller entity, it's giving "who's in charge of resets" energy πŸŒ€
  • dev β€” the CPG device itself, iconic
  • base β€” base address of the CPG register block, aka where the registers actually live πŸ“
  • rmw_lock β€” a spinlock that protects register accesses, so nobody's out here fighting over the same registers πŸ™ˆ
  • clks β€” the array holding all the Core and Module Clocks, the whole squad πŸ’œ
  • num_core_clks β€” how many Core Clocks are chillin' in clks[]
  • num_mod_clks β€” how many Module Clocks are in clks[]
  • num_resets β€” how many Module Resets live in info->resets[]
  • last_dt_core_clk β€” the ID of the last Core Clock exported to DT, iykyk
  • info β€” pointer to the platform data πŸ—‚οΈ
  • genpd β€” the PM domain ⚑
  • mux_dsi_div_params β€” the pll5 mux and dsi div parameters, fancy fr fr πŸŽ€

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/clk/renesas/rzg2l-cpg.c β€” plus these icons: struct clk_hw_data(9), struct sd_mux_hw_data(9), struct div_hw_data(9), struct mstop(9), struct mod_clock(9) 🌈


lowkey a whole ecosystem in here bestie, go read the friends too πŸ’–

so yeah, that's the whole page ✨ this one came out of ./drivers/clk/renesas, dated October 2026, and the manual name on the tin is struct rzg2l_cpg_priv(9) β€” slay, go forth and read clocks πŸ‘‘

πŸ“¦ where this page comes from