[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0a09d9ed5fc5ae6c651491dead5f81bfecdbca4b.camel@upb.ro>
Date: Sat, 21 Dec 2019 19:58:50 +0200
From: Radu Nicolae Pirea <radu_nicolae.pirea@....ro>
To: Shubhrajyoti Datta <shubhrajyoti.datta@...il.com>
Cc: Wolfram Sang <wsa@...-dreams.de>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
linux-i2c <linux-i2c@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Michal Simek <michal.simek@...inx.com>
Subject: Re: [PATCH] i2c: cadence: Added slave support
On Fri, 2019-12-20 at 14:55 +0530, Shubhrajyoti Datta wrote:
> Hi ,
>
> On Thu, Dec 19, 2019 at 7:00 PM Radu Pirea <radu_nicolae.pirea@....ro
> > 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?
Yes. The state of the slave must be IDLE, otherwise
cdns_i2c_master_xfer will return -EAGAIN.
>
> > In cdns_i2c_master_xfer is done all the magic.
Powered by blists - more mailing lists