STRUCT PRCMU_AUTO_PM_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– STRUCT PRCMU_AUTO_PM_CONFIG πŸ’–

okay so this is a page from the Kernel API Manual, and today's main character is struct prcmu_auto_pm_config β€” literally the blueprint for autonomous power management configuration. yes bestie, we're getting into the power-management lore πŸ¦‹


✨ NAME ✨

struct prcmu_auto_pm_config β€” Autonomous power management configuration. that's it, that's the vibe. it's the struct that tells the power stuff how to manage itself autonomously πŸ‘‘


🌸 SYNOPSIS 🌸

like, here's the whole struct, character for character, no notes:

struct prcmu_auto_pm_config {
    u8 sia_auto_pm_enable;
    u8 sia_power_on;
    u8 sia_policy;
    u8 sva_auto_pm_enable;
    u8 sva_power_on;
    u8 sva_policy;
 };

six u8 members, three for SIA, three for SVA, perfectly balanced, we love symmetry πŸ’…


πŸŽ€ MEMBERS πŸŽ€

okay so let's meet the cast, one by one:

πŸ’œ sia_auto_pm_enable

SIA autonomous pm enable. the values are PRCMU_AUTO_PM_{OFF,ON} β€” so it's a little on/off situation, very binary of it.

πŸ’œ sia_power_on

SIA power ON enable. this one takes a PRCMU_AUTO_PM_POWER_ON_* bitmask, so it's fancy, it's bitwise, it's giving options ✨

πŸ’œ sia_policy

SIA power policy. the type is enum prcmu_auto_pm_policy β€” the rules of the game, so to speak.

πŸ¦‹ sva_auto_pm_enable

SVA autonomous pm enable. same deal as its sibling: PRCMU_AUTO_PM_{OFF,ON}. off or on, pick your fighter.

πŸ¦‹ sva_power_on

SVA power ON enable. also a PRCMU_AUTO_PM_POWER_ON_* bitmask. twins fr fr.

πŸ¦‹ sva_policy

SVA power policy. typed as enum prcmu_auto_pm_policy, just like the SIA one. consistency is iconic.


πŸ”₯ SEE ALSO πŸ”₯

bestie there is so much family here. the Kernel file for this whole situation lives at ./include/linux/mfd/db8500-prcmu.h, and it's surrounded by an absolutely stacked friend group:

  • enum state(9)
  • enum ret_state(9)
  • enum clk_arm(9)
  • enum clk_gen(9)
  • enum romcode_write(9)
  • enum romcode_read(9)
  • enum ap_pwrst(9)
  • enum ap_pwrst_trans(9)
  • enum hw_acc_state(9)
  • enum dvfs_stat(9)
  • enum sva_mmdsp_stat(9)
  • enum sia_mmdsp_stat(9)
  • enum mbox_to_arm_err(9)
  • enum sia_sva_pwr_policy(9)
  • enum auto_enable(9)
  • enum prcmu_power_status(9)
  • enum prcmu_wdog_id(9)
  • enum ape_opp(9)
  • enum arm_opp(9)
  • enum ddr_opp(9)
  • enum ddr_pwrst(9)

like, that's a whole squad. go read them too, iykyk 🫢


ngl this one's short but she's important. every field is a u8, no cap. πŸ“

okay that's the page!! source is ./include/linux/mfd, dated October 2026, and the manual entry itself is struct prcmu_auto_pm_config(9) β€” mwah, slay, periodt πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from