Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e18563fc authored by Dirk Brandewie's avatar Dirk Brandewie Committed by Ben Dooks
Browse files

i2c-designware: move controller config to bus specific portion of driver



With multiple I2C adapters possible in the system each running at
(possibly) different speeds we need to move the controller
configuration bit field to the adapter.

Signed-off-by: default avatarDirk Brandewie <dirk.brandewie@gmail.com>
Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
parent 2fa8326b
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -143,7 +143,7 @@ static u32 i2c_dw_scl_lcnt(u32 ic_clk, u32 tLOW, u32 tf, int offset)
int i2c_dw_init(struct dw_i2c_dev *dev)
{
	u32 input_clock_khz;
	u32 ic_con, hcnt, lcnt;
	u32 hcnt, lcnt;
	u32 reg;

	input_clock_khz = dev->get_clk_rate_khz(dev);
@@ -199,9 +199,7 @@ int i2c_dw_init(struct dw_i2c_dev *dev)
	dw_writel(dev, 0, DW_IC_RX_TL);

	/* configure the i2c master */
	ic_con = DW_IC_CON_MASTER | DW_IC_CON_SLAVE_DISABLE |
		DW_IC_CON_RESTART_EN | DW_IC_CON_SPEED_FAST;
	dw_writel(dev, ic_con, DW_IC_CON);
	dw_writel(dev, dev->master_cfg , DW_IC_CON);
	return 0;
}

+1 −0
Original line number Diff line number Diff line
@@ -183,6 +183,7 @@ struct dw_i2c_dev {
	int			swab;
	struct i2c_adapter	adapter;
	u32			functionality;
	u32			master_cfg;
	unsigned int		tx_fifo_depth;
	unsigned int		rx_fifo_depth;
};
+2 −0
Original line number Diff line number Diff line
@@ -103,6 +103,8 @@ static int __devinit dw_i2c_probe(struct platform_device *pdev)
		I2C_FUNC_SMBUS_BYTE_DATA |
		I2C_FUNC_SMBUS_WORD_DATA |
		I2C_FUNC_SMBUS_I2C_BLOCK;
	dev->master_cfg =  DW_IC_CON_MASTER | DW_IC_CON_SLAVE_DISABLE |
		DW_IC_CON_RESTART_EN | DW_IC_CON_SPEED_FAST;

	dev->base = ioremap(mem->start, resource_size(mem));
	if (dev->base == NULL) {