07.04.2020 12:27, Wang, Jiada пишет: .. >> Is this a software (firmware) limitation which varies from version to >> version? >> > > the timeout issue trying to be addressed in this patch is from software, > one of our board a Serializer/Deserializer bridge exists between the SoC > (imx6) and the Atmel touch controller. > imx6 i2c controller driver has a timeout value(100ms) for each i2c > transaction, > Large i2c read transaction failed to complete within this timeout value > and therefore imx6 i2c controller driver aborts the transaction > and returns failure. > > Therefore this patch was created to split the large i2c transaction into > smaller chunks which can complete > within the timeout defined by i2c controller driver. Isn't it possible to use the max_read/write_len of the generic struct i2c_adapter_quirks for limiting the transfer size? BTW, it looks like the i.MX I2C driver doesn't specify the i2c_adapter_quirks, which probably needs to be fixed.