omap2_prm_de...rt_hardreset(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… omap2_prm_deassert_hardreset β€” the Kernel API Manual, bestie edition πŸŽ€

okay so real talk, this page lives in the Kernel API Manual (omap2_prm_de...rt_hardreset(9)), and it's about pulling a submodule out of hard reset and then being patient about it. she waits. she's polite. periodt. ✨


🌸 NAME 🌸

omap2_prm_deassert_hardreset β€” deassert a submodule hardreset line and wait 🫢

like literally: un-reset the thing, then wait for the hardware to confirm it actually happened before coming back to you.


πŸ¦‹ SYNOPSIS πŸ¦‹

int omap2_prm_deassert_hardreset (u8 rst_shift , u8 st_shift , u8 part ,
       s16 prm_mod , u16 rst_offset , u16 st_offset );

six arguments, one int back. she's giving "small function, strong opinions." πŸ’…


⭐ ARGUMENTS ⭐

  • rst_shift β€” the register bit shift that corresponds to the reset line you're deasserting. this is your line, the one you came here for. πŸ‘‘
  • st_shift β€” the register bit shift for the status of the deasserted submodule. so like, how you check on it afterwards. 🩺
  • part β€” the PRM partition. warning: not used for OMAP2, so on OMAP2 she's just… there. vibes only. πŸ™ˆ
  • prm_mod β€” the PRM submodule base (e.g. CORE_MOD). this one actually matters. πŸ”₯
  • rst_offset β€” reset register offset. not used for OMAP2 either, bestie. πŸ’€
  • st_offset β€” reset status register offset. also not used for OMAP2. three for three on the OMAP2 no-shows. 😭

πŸ’– DESCRIPTION πŸ’–

Some IPs β€” think dsp or iva β€” contain processors that require a HW reset line to be asserted / deasserted in order to fully enable the IP. iconic hardware behaviour, honestly. these modules may have multiple hard-reset lines that reset different 'submodules' inside the IP block. so many little guys, so many reset lines. 🧚

This function takes the submodule out of reset and waits until the PRCM indicates that the reset has completed before returning. like, she doesn't just fire and forget β€” she confirms. main character energy with follow-through. ✨

πŸŽ€ Return values πŸŽ€

  • returns 0 upon success πŸŽ‰
  • -EINVAL upon an argument error (you gave her something she can't work with, ngl) πŸ™ˆ
  • -EEXIST if the submodule was already out of reset (she got there first, lowkey awkward) πŸ’€
  • -EBUSY if the submodule did not exit reset promptly (she waited, it ghosted her) 😭
no cap: -EBUSY means the hardware didn't cooperate in time. don't take it personally, but definitely do handle it. 🫢

🌈 SEE ALSO 🌈


and that's the whole page, bestie πŸ’œ source lives at ./arch/arm/mach-omap2, version date October 2026 β€” slay, go deassert something responsibly βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from