On Fri, Mar 06, 2020 at 04:19:58PM +0300, Sergey.Semin@xxxxxxxxxxxxxxxxxxxx wrote: > From: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> > > A third I2C controller embedded into the Baikal-T1 SoC is also fully > based on the DW APB I2C core, but its registers are indirectly > accessible via "command/data in/data out" trio. There is no difference > other than that. So in order to have that controller supported by the > common DW APB I2C driver we only need to introduce a new flag > ACCESS_INDIRECT and use the access-registers to reach the I2C controller > normal registers space in the dw_readl/dw_writel methods. Currently this > flag is only enabled for the controllers with "be,bt1-i2c" compatible > string. See my response to cover letter. > drivers/i2c/busses/i2c-designware-common.c | 79 ++++++++++++++++++--- > drivers/i2c/busses/i2c-designware-core.h | 14 ++++ > drivers/i2c/busses/i2c-designware-master.c | 1 + > drivers/i2c/busses/i2c-designware-platdrv.c | 1 + > drivers/i2c/busses/i2c-designware-slave.c | 1 + This should be split at least to two patches (preparation in the core followed by switching users). -- With Best Regards, Andy Shevchenko