STRUCT RK3X_I2C_CALCED_TIMINGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

struct rk3x_i2c_calced_timings β€” the calculated V1 timings, bestie ✨

Ok so real talk, this is a page straight out of the Kernel API Manual, and it's all about one lil struct that holds the timing numbers the driver crunched for you. Slay.


🌸 SYNOPSIS 🌸

struct rk3x_i2c_calced_timings {
    unsigned long div_low;
    unsigned long div_high;
    unsigned int tuning;
 };

Like, that's the whole vibe. Three fields, no drama. 🫢


πŸŽ€ Members πŸŽ€

  • div_low β€” the divider output for low, periodt. Lowkey does exactly what it says on the tin πŸ’…
  • div_high β€” the divider output for high. Twin of the one above, just living its high life ✨
  • tuning β€” okay this one's the main character πŸ‘‘ it's used to adjust the setup/hold data time, the setup/hold start time, and the setup stop time for v1's calc_timings. And listen β€” for old hardware, like anyone using v0's calc_timings, this tuning should all be 0. No cap. Don't be out here putting non-zero values in there on v0 hardware, that's not the move πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/i2c/busses/i2c-rk3x.c and its whole friend group:


πŸ’– That's the whole page, bestie β€” go read the source, it's giving iconic.

Fr fr, this one lives in ./drivers/i2c/busses and the version stamp says October 2026. Mwah, catch you on the next manpage πŸŽ€πŸ’œ

πŸ“¦ where this page comes from