summaryrefslogtreecommitdiff
path: root/drivers/i2c
diff options
context:
space:
mode:
authorChaitanya Bandi <bandik@nvidia.com>2011-11-25 18:12:37 +0530
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-08 17:05:50 +0530
commit85eb6549652b7c6eeb2434efca01df7c13a2923c (patch)
treef9cde0f336330e895d199b05464a76e30a2f864f /drivers/i2c
parent8486d4780ef5e3fc1429dfd93ea3100300624d09 (diff)
i2c: tegra: slave: Corrected slave address config routine
Corrected the slave address configuration routine. Reviewed-on: http://git-master/r/66805 (cherry picked from commit 18e9409c1db3e3880435e4435f30ad5725e54cdb) Change-Id: Ia6b314e513a8bc33ca7782604c80d6686dfa260f Signed-off-by: Chaitanya Bandi <bandik@nvidia.com> Reviewed-on: http://git-master/r/67604 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/busses/i2c-slave-tegra.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-slave-tegra.c b/drivers/i2c/busses/i2c-slave-tegra.c
index 1e1e516b6415..f2468d85c1f8 100644
--- a/drivers/i2c/busses/i2c-slave-tegra.c
+++ b/drivers/i2c/busses/i2c-slave-tegra.c
@@ -316,6 +316,7 @@ static void configure_i2c_slave_address(struct tegra_i2c_slave_dev *i2c_dev)
if (i2c_dev->is_ten_bit_addr) {
slave_add = i2c_dev->slave_add & 0xFF;
slave_add_reg = readl(i2c_dev->base + I2C_SLV_ADDR1);
+ slave_add_reg &= ~(0xFF);
slave_add_reg |= slave_add << I2C_SLV_ADDR1_ADDR_SHIFT;
writel(slave_add_reg, i2c_dev->base + I2C_SLV_ADDR1);
@@ -328,6 +329,7 @@ static void configure_i2c_slave_address(struct tegra_i2c_slave_dev *i2c_dev)
} else {
slave_add = (i2c_dev->slave_add & 0x3FF);
slave_add_reg = readl(i2c_dev->base + I2C_SLV_ADDR1);
+ slave_add_reg &= ~(0x3FF);
slave_add_reg |= slave_add << I2C_SLV_ADDR1_ADDR_SHIFT;
writel(slave_add_reg, i2c_dev->base + I2C_SLV_ADDR1);