Hi , On Thu, Dec 19, 2019 at 7:00 PM Radu Pirea <radu_nicolae.pirea@xxxxxx> wrote: > > On Thu, 2019-12-19 at 14:05 +0100, Wolfram Sang wrote: > > > +/** > > > + * enum cdns_i2c_mode - I2C Controller current operating mode > > > + * > > > + * @CDNS_I2C_MODE_SLAVE: I2C controller operating in slave > > > mode > > > + * @CDNS_I2C_MODE_MASTER: I2C Controller operating in master > > > mode > > > + */ > > > > Can't the hardware operate as master and slave at the same time? > > > > Of course, it can. If the driver has a slave registered wait and > listens and if the subsystem needs to use the controller as master, the > driver changes the state of the controller to master, sends and reads > data from the bus and after this change the state of the controller to > slave. However that should be done only if no master is talking to the slave right? > In cdns_i2c_master_xfer is done all the magic.