i2c: rockchip: Clean ipd status if i2c transfer error
If there was an i2c transfer error like iomux error, should clean the ipd status, it might cause kernel i2c irq error handing. [ 0.690749] rk3x-i2c fdd40000.i2c: irq in STATE_IDLE, ipd = 0x10 Change-Id: Ia127edada535288e9b984d6dc0dff813e6152eff Signed-off-by: David Wu <david.wu@rock-chips.com>
This commit is contained in:
parent
8d0f4dce8f
commit
7ef28ab639
|
|
@ -148,6 +148,8 @@ static int rk_i2c_send_stop_bit(struct rk_i2c *i2c)
|
||||||
|
|
||||||
static inline void rk_i2c_disable(struct rk_i2c *i2c)
|
static inline void rk_i2c_disable(struct rk_i2c *i2c)
|
||||||
{
|
{
|
||||||
|
writel(0, &i2c->regs->ien);
|
||||||
|
writel(I2C_IPD_ALL_CLEAN, &i2c->regs->ipd);
|
||||||
writel(0, &i2c->regs->con);
|
writel(0, &i2c->regs->con);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue