pruss_cfg_set_gpmux(9)
π pruss_cfg_set_gpmux(9) β a Kernel API Manual moment π
okay so bestie, welcome to the Kernel API Manual, and let me tell you, this little function is the "set the vibe" of PRU muxing. It's literally here to set the GPMUX value for a PRU device. That's the whole assignment, and it ate. β¨
β¨ NAME β¨
pruss_cfg_set_gpmux β set the GPMUX value for a PRU device π¦
πΈ SYNOPSIS πΈ
int pruss_cfg_set_gpmux (struct pruss *pruss , enum pruss_pru_id pru_id , u8 mux );
no cap, that's the exact signature, character for character, so don't be out here "fixing" the spacing π
π§ ARGUMENTS π§
prussβ the pruss instance, aka your main character. this is the whole PRU subsystem babe, you gotta hand it over π«Άpru_idβ the PRU identifier, range(0-1). yes, just those two, it's giving "pick a lane" πmuxβ the new mux value for the PRU. this is you deciding what that pin is gonna be when it grows up π
π₯ RETURN π₯
0 on success, or an error code otherwise. that's it, that's the tea. check it, don't ignore it, iykyk π
π SEE ALSO π
- Kernel file
./drivers/soc/ti/pruss.c struct pruss_private_data(9)pruss_get(9)pruss_put(9)pruss_request_mem_region(9)pruss_release_mem_region(9)pruss_cfg_get_gpmux(9)pruss_cfg_gpimode(9)pruss_cfg_miirt_enable(9)pruss_cfg_xfr_enable(9)
like, the whole friend group honestly π go read them, they're iconic.
ngl bestie, if you're out here setting mux values without checking the return, that's not slay behaviour, that's a future bug report π
and that's the page! brought to you from ./drivers/soc/ti, stamped October 2026, and obviously it's pruss_cfg_set_gpmux(9) β periodt ππ
π¦ 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