STRUCT OMAP_HWMOD_OMAP4_PRCM(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ struct omap_hwmod_omap4_prcm(9) β€” the Kernel API Manual, but make it make sense πŸ’…

okay bestie, so this is a page straight outta the Kernel API Manual, and it's all about struct omap_hwmod_omap4_prcm β€” the OMAP4-specific PRCM data situation. ngl the header on this thing is literally struct omap_...d_omap4_prcm(9) and the manual name is right there in the corner, so now you know. let's get into it 🫢


🌸 NAME 🌸

struct omap_hwmod_omap4_prcm β€” OMAP4-specific PRCM data. that's the whole vibe. iconic, concise, we love her πŸ’–


✨ SYNOPSIS ✨

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

struct omap_hwmod_omap4_prcm {
    u16 clkctrl_offs;
    u16 rstctrl_offs;
    u16 rstst_offs;
    u16 context_offs;
    u32 lostcontext_mask;
    u8 submodule_wkdep_bit;
    u8 modulemode;
    u8 flags;
    int context_lost_counter;
 };

she's got range πŸ’… look at all those fields.


πŸŽ€ Members πŸŽ€

okay so let's meet the cast, one field at a time:

  • clkctrl_offs β€” the offset of the PRCM clock control register. clock stuff? offset? she's got the coordinates ⭐
  • rstctrl_offs β€” the offset of the XXX_RSTCTRL register, which lives in the PRM. yes, literally XXX_RSTCTRL, that's the name, i don't make the rules 🌈
  • context_offs β€” the offset of the RM_*_CONTEXT register. context queen πŸ‘‘
  • lostcontext_mask β€” a bitmask for picking which bits you want out of that RM_*_CONTEXT register. selective, as she should be πŸ¦‹
  • submodule_wkdep_bit β€” the bit shift of the WKDEP range. it's giving very specific energy and honestly? slay ✨
  • modulemode β€” the allowable modulemodes. all lowercase, very chill, very "we don't gatekeep modes here" πŸ“
  • flags β€” the PRCM register capabilities for this IP block. the receipts, basically πŸŽ€
  • context_lost_counter β€” the count of module level context lost 😭 tragic but someone's gotta keep track fr fr
side note bestie: rstst_offs is chillin' right there in the struct up top, but this page does not describe it. not me noticing πŸ‘€ i'm just reporting what's on the page, don't come for me πŸ’€

🧚 Description 🧚

okay so here's the important part, listen up:

if lostcontext_mask is not defined, the context loss check code just uses the whole register without any masking. no filter, raw dogging the register, main character energy.

lostcontext_mask should only be defined in the cases where the context_offs register is shared by two or more hwmods. that's it, that's the rule. don't be out here defining masks for no reason, it's not the vibe πŸ™ˆ


πŸ’œ SEE ALSO πŸ’œ

go read these next, bestie, they're all in the family:

  • Kernel file ./arch/arm/mach-omap2/omap_hwmod.h struct
  • omap_hwmod_rst_info(9)
  • struct omap_hwmod_opt_clk(9)
  • struct omap_hwmod_omap2_firewall(9)
  • struct omap_hwmod_ocp_if(9)
  • struct omap_hwmod_class_sysconfig(9)
  • struct omap_hwmod_omap2_prcm(9)
  • struct omap_hwmod_class(9)
  • struct omap_hwmod(9)

iykyk πŸ”₯


and that's the whole page, bestie!! πŸŽ‰ this one came from ./arch/arm/mach-omap2, version 9 of the manual, dated October 2026 β€” shoutout to whoever wrote it, and to you for reading the whole thing. mwah πŸ’‹ periodt. 🫢✨

πŸ“¦ where this page comes from