Commit 3ef2de27 authored by Matt Johnston's avatar Matt Johnston Committed by David S. Miller

i2c: npcm7xx: Allow 255 byte block SMBus transfers

255 byte support has been tested on a npcm750 board
Signed-off-by: default avatarMatt Johnston <matt@codeconstruct.com.au>
Reviewed-by: default avatarTali Perry <tali.perry1@gmail.com>
Reviewed-by: default avatarPatrick Venture <venture@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1b2ba1f5
...@@ -1399,7 +1399,7 @@ static void npcm_i2c_irq_master_handler_read(struct npcm_i2c *bus) ...@@ -1399,7 +1399,7 @@ static void npcm_i2c_irq_master_handler_read(struct npcm_i2c *bus)
if (bus->read_block_use) { if (bus->read_block_use) {
/* first byte in block protocol is the size: */ /* first byte in block protocol is the size: */
data = npcm_i2c_rd_byte(bus); data = npcm_i2c_rd_byte(bus);
data = clamp_val(data, 1, I2C_SMBUS_BLOCK_MAX); data = clamp_val(data, 1, I2C_SMBUS_V3_BLOCK_MAX);
bus->rd_size = data + block_extra_bytes_size; bus->rd_size = data + block_extra_bytes_size;
bus->rd_buf[bus->rd_ind++] = data; bus->rd_buf[bus->rd_ind++] = data;
...@@ -2187,6 +2187,7 @@ static u32 npcm_i2c_functionality(struct i2c_adapter *adap) ...@@ -2187,6 +2187,7 @@ static u32 npcm_i2c_functionality(struct i2c_adapter *adap)
I2C_FUNC_SMBUS_EMUL | I2C_FUNC_SMBUS_EMUL |
I2C_FUNC_SMBUS_BLOCK_DATA | I2C_FUNC_SMBUS_BLOCK_DATA |
I2C_FUNC_SMBUS_PEC | I2C_FUNC_SMBUS_PEC |
I2C_FUNC_SMBUS_V3_BLOCK |
I2C_FUNC_SLAVE; I2C_FUNC_SLAVE;
} }
......
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