Hi Alain, On Thu, Mar 26, 2020 at 01:44:21PM +0100, Alain Volmat wrote: > Do not limitate to the 3 (100KHz, 400KHz, 1MHz) bus frequency but > instead allows any frequency (if it matches timing requirements). > Depending on the requested frequency, use the spec data from either > Standard, Fast or Fast Plus mode. > > Hardcoding of min/max bus frequencies is removed and is instead computed. > > The driver do not use anymore speed identifier but instead handle > directly the frequency and figure out the spec data (necessary > for the computation of the timing register) based on the frequency. Useful improvement! > +static struct stm32f7_i2c_spec *get_specs(u32 rate) This is quite a generic namespace. Can we prefix stm32f7_ here? > + if (rate <= i2c_specs[i].rate) > + return &i2c_specs[i]; Same for i2c_specs here? > +static u32 get_lower_rate(u32 rate) Here, too. Rest looks good to me. Regards, Wolfram