STRUCT ST_I2C_TIMINGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

Hiii bestie!! Welcome to the struct st_i2c_timings(9) page from the Kernel API Manual β€” it's literally giving per-Mode tuning parameters, and we are obsessed. This struct is the little squad of tuning params for each mode, and we're gonna go through every single member, no skipping, periodt. ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

struct st_i2c_timings {
    u32 rate;
    u32 rep_start_hold;
    u32 rep_start_setup;
    u32 start_hold;
    u32 data_setup_time;
    u32 stop_setup_time;
    u32 bus_free_time;
    u32 sda_pulse_min_limit;
};

🌸 Members 🌸

Okay so the struct is made of these u32 members, and here's the vibe check on each one πŸ‘‡

  • rate β€” I2C bus rate. The main-character speed number for the bus πŸ’…
  • rep_start_hold β€” I2C repeated start hold time requirement. Yep, the hold time for repeated start, no cap.
  • rep_start_setup β€” I2C repeated start set up time requirement. This is the repeated start's set up time requirement ✨
  • start_hold β€” I2C start hold time requirement. The start hold time requirement, keeping it cute and exact.
  • data_setup_time β€” I2C data set up time requirement. Data's set up time requirement, slay.
  • stop_setup_time β€” I2C stop set up time requirement. The stop set up time requirement, iconic.
  • bus_free_time β€” I2C bus free time requirement. How long the bus needs to be free, fr fr.
  • sda_pulse_min_limit β€” I2C SDA pulse mini width limit. Yes, mini width limit β€” that's the wording, bestie 🫢

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/i2c/busses/i2c-st.c is where the lore lives, and these are the related manual pages/functions you should also peek at:


okay that's the whole page, bestie πŸ’– source/version: ./drivers/i2c/busses; date: October 2026; manual: struct st_i2c_timings(9). mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from