am33xx_prm_...rt_hardreset(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ am33xx_prm_deassert_hardreset ✨

okay so bestie, you found the kernel API manual for am33xx_prm_deassert_hardreset β€” the vibe is "Kernel API Manual," and honestly? it's giving main character energy for the AM33xx platform. let's get into it πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

int am33xx_prm_deassert_hardreset(u8 shift, u8 st_shift, u8 part,
                                  s16 inst, u16 rstctrl_offs,
                                  u16 rstst_offs);

🌸 ARGUMENTS 🌸

  • shift β€” the register bit shift that points at the reset line you wanna deassert. this is the one you're actually pulling out of reset, bestie 🫢
  • st_shift β€” the bit shift inside the reset status register that corresponds to that same reset line. yes, there are two shifts. no, they're not the same. keep up πŸ’–
  • part β€” the PRM partition. lowkey important on other platforms, but for AM33xx it's literally not used. iconic of it honestly πŸ™ˆ
  • inst β€” the CM instance register offset (that's the *_INST macro, iykyk).
  • rstctrl_offs β€” the docs literally say -- undescribed -- and ngl, we're just gonna respect that. this is the reset control offset, and that's all the manual's giving us πŸ’€
  • rstst_offs β€” also -- undescribed --. same energy. this is the reset status offset. that's the whole note πŸŽ€

πŸ¦‹ DESCRIPTION πŸ¦‹

so some IPs β€” think dsp, ipu, or iva β€” contain processors that need an HW reset line asserted and deasserted before the IP can fully enable. like, you can't just vibe your way in, the hardware wants the whole reset ritual ✨

these modules can have multiple hard-reset lines, each one resetting a different "submodule" inside the IP block. and this function? it takes the submodule out of reset β€” that's the deassert β€” and then it waits until the PRCM indicates the reset has completed before it returns. no skipping the wait, no cap 🌈

returns:

  • 0 β€” success, slay πŸ’…
  • -EINVAL β€” argument error, aka you passed something bad
  • -EEXIST β€” the submodule was already out of reset, bestie it was already free 😭
  • -EBUSY β€” the submodule did not exit reset promptly. it's stuck. not it being late to the party πŸ’€

πŸ”₯ SEE ALSO πŸ”₯

like, go read the friends too, they're all in the same friend group fr fr 🫢


and that's the whole page, babe 🌸 β€” this beauty lives in ./arch/arm/mach-omap2 and was dated October 2026. go off, kernel docs πŸ‘‘βœ¨

πŸ“¦ where this page comes from