STRUCT STM32F7_I2C_SETUP(9)
π struct stm32f7_i2c_setup(9) π
okay so bestie, welcome to the Kernel API Manual β this is the page for struct stm32f7_i2c_setup, and it's literally the little private stash of I2C timing setup params. private as in "for the driver's eyes only", not "weird", okay? π
β¨ NAME β¨
struct stm32f7_i2c_setup β private I2C timing setup parameters π
πΈ SYNOPSIS πΈ
here's the whole struct, no cap, every field exactly where it lives:
struct stm32f7_i2c_setup {
u32 speed_freq;
u32 clock_src;
u32 rise_time;
u32 fall_time;
u32 fmp_clr_offset;
bool single_it_line;
bool fmp_cr1_bit;
};
π¦ Members π¦
time for the vibe check on every single field, one by one, because none of them are getting skipped:
speed_freqβ the I2C speed frequency, measured in Hz. this is the "how fast are we going" number ποΈclock_srcβ the I2C clock source frequency, also in Hz. the source of truth for the clock, iykyk β°rise_timeβ rise time, in ns. yes, nanoseconds, we're being precise π«fall_timeβ fall time, in ns. same energy, opposite direction πfmp_clr_offsetβ the Fast Mode Plus clear register offset, measured from the set register. it's giving "where's the clear one relative to the set one" energy π₯single_it_lineβ when this is set, only a single IT line is used for both events/errors. one line carrying everything, main character energy fr fr πfmp_cr1_bitβ Fast Mode Plus control is done via a bit inCR1instead. a whole bit, doing the whole job π
β SEE ALSO β
go read these next, bestie, they're all in the kernel file ./drivers/i2c/busses/i2c-stm32f7.c struct:
stm32f7_i2c_regs(9)stm32f7_i2c_spec(9)stm32f7_i2c_timings(9)stm32f7_i2c_msg(9)stm32f7_i2c_alert(9)stm32f7_i2c_dev(9)
and that's the whole page, periodt π this lil cutie lives over in ./drivers/i2c/busses and the page is dated October 2026 β mwah, go slay some I2C timings π«Άβ¨
π¦ 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