Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> writes: > @@ -167,6 +184,8 @@ struct pxa_i2c { > #define _ICR(i2c) ((i2c)->reg_icr) > #define _ISR(i2c) ((i2c)->reg_isr) > #define _ISAR(i2c) ((i2c)->reg_isar) > +#define _ILCR(i2c) ((i2c)->reg_ilcr) > +#define _IWCR(i2c) ((i2c)->reg_iwcr) > > /* > * I2C Slave mode address > @@ -467,11 +486,16 @@ static void i2c_pxa_reset(struct pxa_i2c *i2c) > if (i2c->reg_isar) > writel(i2c->slave_addr, _ISAR(i2c)); > #endif > - Not in this patch. > /* set control register values */ > writel(I2C_ICR_INIT | (i2c->fast_mode ? ICR_FM : 0), _ICR(i2c)); > writel(readl(_ICR(i2c)) | (i2c->high_mode ? ICR_HS : 0), _ICR(i2c)); > > + if (i2c->ilcr) > + writel(i2c->ilcr, _ILCR(i2c)); > + if (i2c->iwcr) > + writel(i2c->iwcr, _IWCR(i2c)); > + udelay(2); This is a magical 2us. Where does it come from ? Cheers. -- Robert -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html