STRUCT OMAP_VP_COMMON(9)
π NAME π
struct omap_vp_common β register data common to all VDDs. Thatβs the whole vibe: shared register info, no gatekeeping. Periodt. β¨
So bestie, welcome to the Kernel API Manual page for struct omap_vp_common(9) β itβs giving βone struct to rule all the VDDsβ common register dataβ realness, and honestly? Obsessed. π«Ά
β¨ SYNOPSIS β¨
struct omap_vp_common {
u32 vpconfig_erroroffset_mask;
u32 vpconfig_errorgain_mask;
u32 vpconfig_initvoltage_mask;
u8 vpconfig_timeouten;
u8 vpconfig_initvdd;
u8 vpconfig_forceupdate;
u8 vpconfig_vpenable;
u8 vstepmin_stepmin_shift;
u8 vstepmin_smpswaittimemin_shift;
u8 vstepmax_stepmax_shift;
u8 vstepmax_smpswaittimemax_shift;
u8 vlimitto_vddmin_shift;
u8 vlimitto_vddmax_shift;
u8 vlimitto_timeout_shift;
u8 vpvoltage_mask;
const struct omap_vp_ops *ops;
};
π Members π
Okay so hereβs the member-by-member tea, and yes, every single field is getting its moment. π
vpconfig_erroroffset_maskβ the ERROROFFSET bitmask in thePRM_VP*_CONFIGreg. Masking, but make it fashion. πvpconfig_errorgain_maskβ the ERRORGAIN bitmask in thePRM_VP*_CONFIGreg. Gain, but as a mask. Iconic. β¨vpconfig_initvoltage_maskβ the INITVOLTAGE bitmask in thePRM_VP*_CONFIGreg. Voltage initiation, but masked. Slay. β‘vpconfig_timeoutenβ the TIMEOUT bitmask in thePRM_VP*_CONFIGreg. Timeout enabled-ish? The mask says so. πvpconfig_initvddβ the INITVDD bitmask in thePRM_VP*_CONFIGreg. VDD init realness. π₯vpconfig_forceupdateβ the FORCEUPDATE bitmask in thePRM_VP*_CONFIGreg. Forcing the update, respectfully. πvpconfig_vpenableβ the VPENABLE bitmask in thePRM_VP*_CONFIGreg. Enabled? Masked? Both. πvstepmin_stepmin_shiftβ VSTEPMIN field shift in thePRM_VP*_VSTEPMINreg. Shifting, not drifting. πvstepmin_smpswaittimemin_shiftβ SMPSWAITTIMEMIN field shift in thePRM_VP*_VSTEPMINreg. The min wait time is shifting, bestie. β³vstepmax_stepmax_shiftβ VSTEPMAX field shift in thePRM_VP*_VSTEPMAXreg. Max step, max shift energy. πvstepmax_smpswaittimemax_shiftβ SMPSWAITTIMEMAX field shift in thePRM_VP*_VSTEPMAXreg. The max wait time is also shifting. We love consistency. π«Άvlimitto_vddmin_shiftβ VDDMIN field shift in thePRM_VP*_VLIMITTOreg. Limit-to, but make it VDDMIN. π§vlimitto_vddmax_shiftβ VDDMAX field shift in thePRM_VP*_VLIMITTOreg. VDDMAX has entered the shift chat. πvlimitto_timeout_shiftβ TIMEOUT field shift in thePRM_VP*_VLIMITTOreg. Timeout field, shifted. No cap. β°vpvoltage_maskβ the VPVOLTAGE field mask in thePRM_VP*_VOLTAGEreg. Masking the voltage field like the main character it is. π
Lowkey important: these descriptions are exactly the register/bitmask/shift tea from the original page β Iβm not out here inventing extra lore. π«‘
π¦ SEE ALSO π¦
- Kernel file
./arch/arm/mach-omap2/vp.h struct omap_vp_ops(9)struct omap_vp_instance(9)
Go read those next, iykyk. ππ
Signed with so much love from ./arch/arm/mach-omap2, dated October 2026 β this is literally struct omap_vp_common(9), and she ate. Mwah. ππ
π¦ 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