Commit 2fa8326b authored by Dirk Brandewie's avatar Dirk Brandewie Committed by Ben Dooks

i2c-designware: move i2c functionality bit field to be adapter specific

The functionality of the adapter depends on the configuration of the
IP block at silicon compile time and is adapter specific.
Signed-off-by: default avatarDirk Brandewie <dirk.brandewie@gmail.com>
Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
parent 1d31b58f
...@@ -457,12 +457,8 @@ i2c_dw_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) ...@@ -457,12 +457,8 @@ i2c_dw_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
u32 i2c_dw_func(struct i2c_adapter *adap) u32 i2c_dw_func(struct i2c_adapter *adap)
{ {
return I2C_FUNC_I2C | struct dw_i2c_dev *dev = i2c_get_adapdata(adap);
I2C_FUNC_10BIT_ADDR | return dev->functionality;
I2C_FUNC_SMBUS_BYTE |
I2C_FUNC_SMBUS_BYTE_DATA |
I2C_FUNC_SMBUS_WORD_DATA |
I2C_FUNC_SMBUS_I2C_BLOCK;
} }
static u32 i2c_dw_read_clear_intrbits(struct dw_i2c_dev *dev) static u32 i2c_dw_read_clear_intrbits(struct dw_i2c_dev *dev)
......
...@@ -182,6 +182,7 @@ struct dw_i2c_dev { ...@@ -182,6 +182,7 @@ struct dw_i2c_dev {
int irq; int irq;
int swab; int swab;
struct i2c_adapter adapter; struct i2c_adapter adapter;
u32 functionality;
unsigned int tx_fifo_depth; unsigned int tx_fifo_depth;
unsigned int rx_fifo_depth; unsigned int rx_fifo_depth;
}; };
......
...@@ -96,6 +96,14 @@ static int __devinit dw_i2c_probe(struct platform_device *pdev) ...@@ -96,6 +96,14 @@ static int __devinit dw_i2c_probe(struct platform_device *pdev)
} }
clk_enable(dev->clk); clk_enable(dev->clk);
dev->functionality =
I2C_FUNC_I2C |
I2C_FUNC_10BIT_ADDR |
I2C_FUNC_SMBUS_BYTE |
I2C_FUNC_SMBUS_BYTE_DATA |
I2C_FUNC_SMBUS_WORD_DATA |
I2C_FUNC_SMBUS_I2C_BLOCK;
dev->base = ioremap(mem->start, resource_size(mem)); dev->base = ioremap(mem->start, resource_size(mem));
if (dev->base == NULL) { if (dev->base == NULL) {
dev_err(&pdev->dev, "failure mapping io resources\n"); dev_err(&pdev->dev, "failure mapping io resources\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment