STRUCT TIMING_REGS(9)
πΈ NAME πΈ
struct timing_regs β the AXI I2C timing registers that depend on the I2C spec, bestie π
okay so picture this: it's giving "bag of timing numbers" and honestly? iconic. These are the register values that shift around depending on which I2C spec you're vibing with. No cap. π
β¨ SYNOPSIS β¨
struct timing_regs {
unsigned int tsusta;
unsigned int tsusto;
unsigned int thdsta;
unsigned int tsudat;
unsigned int tbuf;
};
look at her. five unsigned int fields, all main character energy, zero drama. π¦ (and yes, that trailing }; is indented exactly like that in the original β we don't fix, we don't merge, we don't touch. periodt. π
)
π Members π
okay bestie, field-by-field, let's go β each one is a timing value, so think of them as little stopwatch readings that keep the bus from getting messy π
tsustaβ the setup time for a repeated START condition β±οΈ like, how long you gotta wait before you can do the START thing again. Respect the setup time fr fr.tsustoβ the setup time for a STOP condition π the little pause before you're allowed to say "we're done here."thdstaβ the hold time for a repeated START condition β hold time, not setup time β different vibe, different number, don't mix them up iykyk.tsudatβ the setup time for data π the window where your data gets its act together before it's read. iconic behavior only.tbufβ the bus free time between STOP and START π the cool-down gap where the bus just breathes between one convo ending and the next one starting. self-care for the bus, honestly.
ngl these all sound similar and that's because they're all timing delays β but they are not interchangeable, so please don't go swapping them around. each field is a different spec-defined timing and the names are staying exactly as they are. π
π«Ά SEE ALSO π«Ά
go read these next, bestie, they're the friends of this struct and they slay too:
- Kernel file
./drivers/i2c/busses/i2c-xiic.c struct xiic_i2c(9)xiic_setclk(9)
and that's the whole page!! no more sections, that's literally it, go touch some registers π
~ cute little sign-off ~ this one lives under ./drivers/i2c/busses, it's marked October 2026, and the header up top calls her struct timing_regs(9) β from the Kernel API Manual. mwah, bye π§β¨
π¦ 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