summaryrefslogtreecommitdiff
path: root/drivers/i2c/busses/i2c-pnx.c
diff options
context:
space:
mode:
authorRajendra Nayak <rnayak@ti.com>2009-11-23 19:59:18 +0300
committerBen Dooks <ben-linux@fluff.org>2009-12-09 03:19:13 +0300
commitef871432e1334dea4c79f9875f4db87cee7b9b50 (patch)
tree54f3a4ae1853429f5cd23ffe05bca3913f0980ce /drivers/i2c/busses/i2c-pnx.c
parent6d1ea0f6afde6887d6dea2ace1714a23d9b5820d (diff)
downloadlinux-ef871432e1334dea4c79f9875f4db87cee7b9b50.tar.xz
i2c-omap: OMAP3: PM: (re)init for every transfer to support off-mode
Because of OMAP off-mode, powerdomain can go off when I2C is idle. Save enough state, and do a re-init for each transfer. Additional save/restore state added by Jagadeesh Bhaskar Pakaravoor (SYSC_REG) and Aaro Koskinen (wakeup sources.) Also, The OMAP3430 TRM states: "During active mode (I2Ci.I2C_CON[15] I2C_EN bit is set to 1), make no changes to the I2Ci.I2C_SCLL and I2Ci.I2C_SCLH registers. Changes may result in unpredictable behavior." Hence, the I2C_EN bit should be clearer when modifying these registers. Please note that clearing the entire I2C_CON register to disable the I2C module is safe, because the I2C_CON register is re-configured for each transfer. Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com> Signed-off-by: Rajendra Nayak <rnayak@ti.com> Cc: Jagadeesh Bhaskar Pakaravoor <j-pakaravoor@ti.com> Cc: Aaro Koskinen <aaro.koskinen@nokia.com> Cc: Jon Hunter <jon-hunter@ti.com> Cc: Hu Tao <taohu@motorola.com> Cc: Xiaolong Chen <A21785@motorola.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'drivers/i2c/busses/i2c-pnx.c')
0 files changed, 0 insertions, 0 deletions