STRUCT CPG_MSSR_PRIV(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay bestie, welcome to the manual page for struct cpg_mssr_priv(9) from the Kernel API Manual β€” it’s literally the Clock Pulse Generator / Module Standby and Software Reset Private Data struct, and it’s giving main-character private-data energy ✨

🌸 SYNOPSIS 🌸

struct cpg_mssr_priv {
    struct cpg_mssr_pub pub;
  #ifdef CONFIG_RESET_CONTROLLER;
    struct reset_controller_dev rcdev;
  #endif;
    struct device *dev;
    enum clk_reg_layout reg_layout;
    struct device_node *np;
    unsigned int num_core_clks;
    unsigned int num_mod_clks;
    unsigned int last_dt_core_clk;
    const u16 *status_regs;
    const u16 *control_regs;
    const u16 *reset_regs;
    const u16 *reset_clear_regs;
    struct {
      u32 mask;
      u32 val;
    } smstpcr_saved[ARRAY_SIZE(mstpsr_for_gen4)];
    unsigned int *reserved_ids;
    unsigned int num_reserved_ids;
    struct clk *clks[];
};

🫢 Members 🫢

  • pub β€” data passed to the clock registration callback πŸ’Œ
  • rcdev β€” optional reset controller entity, sitting pretty behind the CONFIG_RESET_CONTROLLER guard πŸŽ€
  • dev β€” the CPG/MSSR device 🧚
  • reg_layout β€” CPG/MSSR register layout πŸ—‚οΈ
  • np β€” device node in DT for this CPG/MSSR module 🌳
  • num_core_clks β€” number of Core Clocks in clks[] πŸ‘‘
  • num_mod_clks β€” number of Module Clocks in clks[] 🧩
  • last_dt_core_clk β€” ID of the last Core Clock exported to DT πŸ†”
  • status_regs β€” pointer to status registers array πŸ“Œ
  • control_regs β€” pointer to control registers array πŸŽ›οΈ
  • reset_regs β€” pointer to reset registers array πŸ”
  • reset_clear_regs β€” pointer to reset clearing registers array 🧼
  • smstpcr_saved β€” saved SMSTPCR[] state: [].mask: mask of SMSTPCR[] bits under our control; [].val: saved values of SMSTPCR[] πŸ’Ύ
  • reserved_ids β€” temporary used, reserved id list πŸ™ˆ
  • num_reserved_ids β€” temporary used, number of reserved id list πŸ”’
  • clks β€” array containing all Core and Module Clocks ⏰

✨ SEE ALSO ✨

Kernel file ./drivers/clk/renesas/renesas-cpg-mssr.c and struct mstp_clock(9) πŸ¦‹


signed off with source/version ./drivers/clk/renesas, dated October 2026 β€” struct cpg_mssr_priv(9) out, mwah πŸ’‹πŸ’…

πŸ“¦ where this page comes from