i2c: sirf: we need to wait I2C_RESET status in resume
this fixes the issue that we lost to wait the i2c reset finished. Signed-off-by: Zhiwu Song <Zhiwu.Song@csr.com> Signed-off-by: Barry Song <Baohua.Song@csr.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
This commit is contained in:
parent
c984319ad9
commit
ebae7dfab0
|
@ -422,6 +422,8 @@ static int i2c_sirfsoc_resume(struct device *dev)
|
|||
|
||||
clk_enable(siic->clk);
|
||||
writel(SIRFSOC_I2C_RESET, siic->base + SIRFSOC_I2C_CTRL);
|
||||
while (readl(siic->base + SIRFSOC_I2C_CTRL) & SIRFSOC_I2C_RESET)
|
||||
cpu_relax();
|
||||
writel(SIRFSOC_I2C_CORE_EN | SIRFSOC_I2C_MASTER_MODE,
|
||||
siic->base + SIRFSOC_I2C_CTRL);
|
||||
writel(siic->clk_div, siic->base + SIRFSOC_I2C_CLK_CTRL);
|
||||
|
|
Loading…
Reference in New Issue