STRUCT STM32F7_I2C_SPEC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

struct stm32f7_i2c_spec β€” the private i2c specification timing struct, bestie πŸ’…

So like, this is a Kernel API Manual page, and it's about one little struct that holds all the timing deets for the STM32F7 I2C driver. It's private, meaning it's the driver's own business, not some public API you should go poking at, iykyk 🫢


🌸 SYNOPSIS 🌸

struct stm32f7_i2c_spec {
    u32 rate;
    u32 fall_max;
    u32 rise_max;
    u32 hddat_min;
    u32 vddat_max;
    u32 sudat_min;
    u32 l_min;
    u32 h_min;
 };

That's the whole struct, no cap. Eight u32 fields, all vibing together πŸ¦‹


πŸŽ€ Members πŸŽ€

okay so let's meet the cast, member by member πŸ‘‘

  • rate β€” I2C bus speed, in Hz. This is the main character of the timing world fr ✨
  • fall_max β€” max fall time of both SDA and SCL signals, in ns. Both signals, bestie, not just one πŸ’€
  • rise_max β€” max rise time of both SDA and SCL signals, in ns. Rise and fall, they're a package deal πŸŽ€
  • hddat_min β€” min data hold time, in ns. Hold it, don't rush it πŸ™ˆ
  • vddat_max β€” max data valid time, in ns. Valid and maxed out, iconic ⭐
  • sudat_min β€” min data setup time, in ns. Set it up before you go, periodt πŸ’…
  • l_min β€” min low period of the SCL clock, in ns. Lowkey the low phase 🌈
  • h_min β€” min high period of the SCL clock, in ns. Highkey the high phase πŸ”₯
ngl all the timing values are in ns except rate, which is in Hz. Do not mix those up, I'm begging 😭

πŸ’œ SEE ALSO πŸ’œ

  • Kernel file ./drivers/i2c/busses/i2c-stm32f7.c struct stm32f7_i2c_regs(9), struct stm32f7_i2c_setup(9), struct stm32f7_i2c_timings(9), struct stm32f7_i2c_msg(9), struct stm32f7_i2c_alert(9), struct stm32f7_i2c_dev(9)

Like, go read the whole family, they're all in ./drivers/i2c/busses and they all slay in their own way πŸ‘‘


that's the whole page, mwah πŸ’– this gem was living in ./drivers/i2c/busses and it's dated October 2026 β€” see you in the next manual page, bestie! πŸ§šβ€β™€οΈ

πŸ“¦ where this page comes from