Re: [PATCH] i2c: cadence: Added slave support

From: Radu Pirea
Date: Thu Dec 19 2019 - 08:29:41 EST


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. In cdns_i2c_master_xfer is done all the magic.