STRUCT TI_ABB(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐ŸŒธ struct ti_abb ๐Ÿฆ‹

okay bestie, so this page is all about the struct ti_abb โ€” it's the ABB instance data ๐Ÿ’… and it lives in the Kernel API Manual (yes, the kernel, we're in our systems-programming era fr fr). let's get into it โœจ


โœจ NAME โœจ

struct ti_abb โ€” literally just the ABB instance data, that's the whole vibe ๐ŸŽ€


๐Ÿงš SYNOPSIS ๐Ÿงš

here's the whole struct, no cap, copy it exactly:

struct ti_abb {
    struct regulator_desc rdesc;
    struct clk *clk;
    void __iomem *base;
    void __iomem *setup_reg;
    void __iomem *control_reg;
    void __iomem *int_base;
    void __iomem *efuse_base;
    void __iomem *ldo_base;
    const struct ti_abb_reg *regs;
    u32 txdone_mask;
    u32 ldovbb_override_mask;
    u32 ldovbb_vset_mask;
    struct ti_abb_info *info;
    int current_info_idx;
    u32 settling_time;
};

๐Ÿ’… Members ๐Ÿ’…

okay so this is the main character section, each member gets its own little moment ๐Ÿ‘‘

  • rdesc โ€” the regulator descriptor. it's giving official-documentation energy ๐Ÿ’–
  • clk โ€” the clock (usually sysclk) that's supplying the ABB block. keeping the lights on, slay โšก
  • base โ€” base address of the ABB block. it's the home base, iykyk ๐Ÿ 
  • setup_reg โ€” the setup register of the ABB block โœจ
  • control_reg โ€” the control register of the ABB block. controls things, lowkey its whole job ๐ŸŽฎ
  • int_base โ€” interrupt register base address. interruptions? rude. but necessary ๐Ÿ’€
  • efuse_base โ€” (optional!) efuse base address for ABB modes. icon behavior, only shows up when it wants ๐ŸŒˆ
  • ldo_base โ€” (optional bb) LDOVBB vset override base address ๐Ÿฆ‹
  • regs โ€” pointer to struct ti_abb_reg for the ABB block. pointing at its own lore ๐Ÿ”ฅ
  • txdone_mask โ€” the mask on int_base for the tranxdone interrupt ๐ŸŽ€
  • ldovbb_override_mask โ€” mask to ldo_base for overriding the default LDO VBB vset with the value from efuse. like a glow-up for your vset, no cap ๐Ÿ’œ
  • ldovbb_vset_mask โ€” mask to ldo_base for providing the VSET override โœจ
  • info โ€” array to per voltage ABB configuration. yes "per voltage", plural voltages, multi-tasking queen ๐Ÿ‘‘
  • current_info_idx โ€” the current index into info. it's keeping track, the way it stays organized is honestly goals ๐Ÿ“‹
  • settling_time โ€” SoC specific settling time for LDO VBB. everything needs a minute to settle, respect it ๐Ÿซถ

๐Ÿ” SEE ALSO ๐Ÿ”

go check out the kernel file ./drivers/regulator/ti-abb-regulator.c, and also these absolutely iconic siblings:


bestie this whole thing lives under ./drivers/regulator in the kernel tree, dated October 2026, and it came from the Kernel API Manual โ€” so when you cite it, cite it with your whole chest ๐Ÿ’– periodt ๐Ÿซถโœจ
๐Ÿ“ฆ where this page comes from