STRUCT OMAP_HWMOD_OCP_IF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct omap_hwmod_ocp_if(9) β€” the Kernel API Manual, section 9 bestie πŸŽ€

okay so picture this: it's a kernel API manual page, section 9, and the whole thing is about <pink>struct omap_hwmod_ocp_if</pink> β€” literally the OCP interface data ✨ no cap.


🌸 NAME 🌸

struct omap_hwmod_ocp_if β€” OCP interface data, periodt πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the struct in all its glory, bestie β€” copy it exact, don't you dare touch a character:

struct omap_hwmod_ocp_if {
    struct omap_hwmod               *master;
    struct omap_hwmod               *slave;
    struct omap_hwmod_addr_space    *addr;
    const char                      *clk;
    struct clk                      *_clk;
    struct list_head                node;
    union {
      struct omap_hwmod_omap2_firewall omap2;
    } fw;
    u8 width;
    u8 user;
    u8 flags;
    u8 _int_flags;
 };

✨ Members ✨

every field, one by one, no skipping, we don't do that here 🫢

  • master β€” the <purple>struct omap_hwmod</purple> that starts the OCP transactions on this link. the initiator. the one who texts first, fr fr πŸ“±
  • slave β€” the <purple>struct omap_hwmod</purple> that responds to OCP transactions on this link. the reply guy (affectionate) πŸ’–
  • addr β€” the address space that goes with this link πŸ“
  • clk β€” interface clock, aka the OMAP clock name πŸ•°οΈ
  • _clk β€” a pointer to the interface <purple>struct clk</purple>. note: it gets filled in at runtime, so don't you go setting it yourself πŸ‘€
  • fw β€” interface firewall data πŸ”₯
  • width β€” OCP data width. she's a <purple>u8</purple> πŸ“
  • user β€” the initiators using this interface (peep the OCP_USER_* macros above πŸ‘†)
  • flags β€” OCP interface flags (see the OCPIF_* macros above πŸ‘†)
  • _int_flags β€” internal flags (see the _OCPIF_INT_FLAGS* macros above πŸ‘†)
tiny heads up: node is chillin' in the struct (struct list_head node) but the Members section doesn't describe it, so I'm not gonna invent lore πŸ™ˆ iykyk.

🧚 Description 🧚

lowkey it may also be useful to add a tag_cnt field for OCP2.x devices πŸ‘‘ that's the note, that's the tea.

and the big one, bestie, listen up β€” parameter names beginning with an underscore are managed internally by the omap_hwmod code and should not be set during initialization 😭 that means hands off _clk and _int_flags during init. internal business only. vibe check: failed if you touch them πŸ’€


⭐ SEE ALSO ⭐

go read these next, they're iconic:

  • 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_class_sysconfig(9)
  • struct omap_hwmod_omap2_prcm(9)
  • struct omap_hwmod_omap4_prcm(9)
  • struct omap_hwmod_class(9)
  • struct omap_hwmod(9)

🌈 and that's the whole page! sourced straight from ./arch/arm/mach-omap2, dated October 2026, and yes the title at the very end is still <pink>struct omap_hwmod_ocp_if(9)</pink> because some things never change πŸ’œ mwah, go read your kernel headers πŸŽ€
πŸ“¦ where this page comes from