> > >> +/* RANDOM SLAVE STRETCH time - 20ms*/
> > >
> > > What is a "random stretch time"? 20ms sounds like a lot. Also, missing
> > > space before comment terminator.
> > >
> >
> > Rayagonda,
> >
> > Could you please help to comment on the choice of the 20 ms to allow
> > clock stretch from t
Hi Ray/Wolfram,
On Tue, Apr 2, 2019 at 3:03 AM Ray Jui wrote:
>
> Hi Wolfram/Rayagonda,
>
> On 3/27/2019 3:14 PM, Wolfram Sang wrote:
> >
> >> +static void bcm_iproc_i2c_slave_init(
> >> +struct bcm_iproc_i2c_dev *iproc_i2c, bool need_reset)
> >> +{
> >> +u32 val;
> >> +
> >> +if (nee
Hi Wolfram/Rayagonda,
On 3/27/2019 3:14 PM, Wolfram Sang wrote:
>
>> +static void bcm_iproc_i2c_slave_init(
>> +struct bcm_iproc_i2c_dev *iproc_i2c, bool need_reset)
>> +{
>> +u32 val;
>> +
>> +if (need_reset) {
>> +/* put controller in reset */
>> +val = readl
> > + /* flush TX/RX FIFOs */
> > + val = (BIT(S_FIFO_RX_FLUSH_SHIFT) | BIT(S_FIFO_TX_FLUSH_SHIFT));
> > + writel(val, iproc_i2c->base + S_FIFO_CTRL_OFFSET);
>
> Will flushing FIFOs work when a slave is register while a master
> transfer is on-going at the same time?
Sorry, my bad, this ca
> +static void bcm_iproc_i2c_slave_init(
> + struct bcm_iproc_i2c_dev *iproc_i2c, bool need_reset)
> +{
> + u32 val;
> +
> + if (need_reset) {
> + /* put controller in reset */
> + val = readl(iproc_i2c->base + CFG_OFFSET);
> + val |= BIT(CFG_RESET_S
From: Shreesha Rajashekar
Add slave mode support to the iProc I2C driver.
Signed-off-by: Rayagonda Kokatanur
Signed-off-by: Michael Cheng
Signed-off-by: Shreesha Rajashekar
Signed-off-by: Ray Jui
---
drivers/i2c/busses/Kconfig | 1 +
drivers/i2c/busses/i2c-bcm-iproc.c | 314 ++
6 matches
Mail list logo