Hi, > And here's another device with programmable clock stretching[1]. Lots > of discussions in searching about masters not supporting clock > stretching more than I found of slaves which are configurable. At > least in that case, we should be able to derive it from master > compatible strings. But for the cases where both ends can support > stretching or not, seems like we need an i2c property. I haven't read all this, but regarding clock stretching, this is the current state: * clock streching is defined in the I2C specs and thus masters are assumed to handle it properly * if they can't, this is a quirk and we have a flag for it: I2C_AQ_NO_CLK_STRETCH * client drivers can check for quirks and act accordingly: i2c_check_quirks(struct i2c_adapter *adap, u64 quirks) Note: there is currently no user of this feature because mainlining the client got stuck for some reason. So, I'd be happy if all this is useful to you. Regards, Wolfram