omap2_prm_de...rt_hardreset(9)
π 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
0upon success π -EINVALupon an argument error (you gave her something she can't work with, ngl) π-EEXISTif the submodule was already out of reset (she got there first, lowkey awkward) π-EBUSYif 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 π
- Kernel file
./arch/arm/mach-omap2/prm2xxx_3xxx.cβ the source, go read it, iykyk π omap2_prm_is_hardreset_asserted(9)β the "is it still in reset tho" check βomap2_prm_assert_hardreset(9)β the opposite direction, the assertive sibling π
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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms