aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/i2c/busses/i2c-designware-core.c6
-rw-r--r--drivers/i2c/busses/i2c-designware-core.h1
-rw-r--r--drivers/i2c/busses/i2c-designware-platdrv.c2
3 files changed, 5 insertions, 4 deletions
diff --git a/drivers/i2c/busses/i2c-designware-core.c b/drivers/i2c/busses/i2c-designware-core.c
index 71055114bd80..6195df3c1c29 100644
--- a/drivers/i2c/busses/i2c-designware-core.c
+++ b/drivers/i2c/busses/i2c-designware-core.c
@@ -143,7 +143,7 @@ static u32 i2c_dw_scl_lcnt(u32 ic_clk, u32 tLOW, u32 tf, int offset)
143int i2c_dw_init(struct dw_i2c_dev *dev) 143int i2c_dw_init(struct dw_i2c_dev *dev)
144{ 144{
145 u32 input_clock_khz; 145 u32 input_clock_khz;
146 u32 ic_con, hcnt, lcnt; 146 u32 hcnt, lcnt;
147 u32 reg; 147 u32 reg;
148 148
149 input_clock_khz = dev->get_clk_rate_khz(dev); 149 input_clock_khz = dev->get_clk_rate_khz(dev);
@@ -199,9 +199,7 @@ int i2c_dw_init(struct dw_i2c_dev *dev)
199 dw_writel(dev, 0, DW_IC_RX_TL); 199 dw_writel(dev, 0, DW_IC_RX_TL);
200 200
201 /* configure the i2c master */ 201 /* configure the i2c master */
202 ic_con = DW_IC_CON_MASTER | DW_IC_CON_SLAVE_DISABLE | 202 dw_writel(dev, dev->master_cfg , DW_IC_CON);
203 DW_IC_CON_RESTART_EN | DW_IC_CON_SPEED_FAST;
204 dw_writel(dev, ic_con, DW_IC_CON);
205 return 0; 203 return 0;
206} 204}
207 205
diff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h
index ab4e655a6c61..29386215fe3c 100644
--- a/drivers/i2c/busses/i2c-designware-core.h
+++ b/drivers/i2c/busses/i2c-designware-core.h
@@ -183,6 +183,7 @@ struct dw_i2c_dev {
183 int swab; 183 int swab;
184 struct i2c_adapter adapter; 184 struct i2c_adapter adapter;
185 u32 functionality; 185 u32 functionality;
186 u32 master_cfg;
186 unsigned int tx_fifo_depth; 187 unsigned int tx_fifo_depth;
187 unsigned int rx_fifo_depth; 188 unsigned int rx_fifo_depth;
188}; 189};
diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c
index 36db7a80cbb2..1258cae3555d 100644
--- a/drivers/i2c/busses/i2c-designware-platdrv.c
+++ b/drivers/i2c/busses/i2c-designware-platdrv.c
@@ -103,6 +103,8 @@ static int __devinit dw_i2c_probe(struct platform_device *pdev)
103 I2C_FUNC_SMBUS_BYTE_DATA | 103 I2C_FUNC_SMBUS_BYTE_DATA |
104 I2C_FUNC_SMBUS_WORD_DATA | 104 I2C_FUNC_SMBUS_WORD_DATA |
105 I2C_FUNC_SMBUS_I2C_BLOCK; 105 I2C_FUNC_SMBUS_I2C_BLOCK;
106 dev->master_cfg = DW_IC_CON_MASTER | DW_IC_CON_SLAVE_DISABLE |
107 DW_IC_CON_RESTART_EN | DW_IC_CON_SPEED_FAST;
106 108
107 dev->base = ioremap(mem->start, resource_size(mem)); 109 dev->base = ioremap(mem->start, resource_size(mem));
108 if (dev->base == NULL) { 110 if (dev->base == NULL) {