STRUCT TI_ABB(9)
๐ธ 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 (usuallysysclk) 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 tostruct ti_abb_regfor the ABB block. pointing at its own lore ๐ฅtxdone_maskโ the mask onint_basefor the tranxdone interrupt ๐ldovbb_override_maskโ mask toldo_basefor overriding the default LDO VBB vset with the value from efuse. like a glow-up for your vset, no cap ๐ldovbb_vset_maskโ mask toldo_basefor 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 intoinfo. 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:
struct ti_abb_info(9)struct ti_abb_reg(9)ti_abb_rmw(9)ti_abb_check_txdone(9)ti_abb_clear_txdone(9)ti_abb_wait_txdone(9)ti_abb_clear_all_txdone(9)ti_abb_program_ldovbb(9)ti_abb_set_opp(9)ti_abb_set_voltage_sel(9)ti_abb_get_voltage_sel(9)ti_abb_init_timings(9)ti_abb_init_table(9)ti_abb_probe(9)
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
- 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