i2c: tegra: Add reset in init back
authorColin Cross <ccross@google.com>
Sat, 7 Aug 2010 02:37:07 +0000 (19:37 -0700)
committerColin Cross <ccross@android.com>
Wed, 6 Oct 2010 23:26:50 +0000 (16:26 -0700)
The tegra i2c controller requires a reset after an error.  Put the
reset back in the init function.

Signed-off-by: Colin Cross <ccross@google.com>
drivers/i2c/busses/i2c-tegra.c

index 9b22fca679f441ebc78cff327f33bb090ac9ad58..c0f8fbd8bc87d22563bcaee58681aa077899ccca 100644 (file)
@@ -302,6 +302,10 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev)
 
        clk_enable(i2c_dev->clk);
 
+       tegra_periph_reset_assert(i2c_dev->clk);
+       udelay(2);
+       tegra_periph_reset_deassert(i2c_dev->clk);
+
        if (i2c_dev->is_dvc)
                tegra_dvc_init(i2c_dev);