From a2b3e7179349087dee5a9ff16b75f19bf0ae82ae Mon Sep 17 00:00:00 2001 From: Joe Hershberger Date: Tue, 28 Feb 2012 13:02:18 -0600 Subject: [PATCH] Xilinx: ARM: i2c: Disable restart in i2c read It doesn't seem to work. Hardware bug? Signed-off-by: Joe Hershberger --- drivers/i2c/zynq_i2c.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/zynq_i2c.c b/drivers/i2c/zynq_i2c.c index 4b8c5cab5b1..084cd27a47d 100644 --- a/drivers/i2c/zynq_i2c.c +++ b/drivers/i2c/zynq_i2c.c @@ -216,7 +216,10 @@ int i2c_read(u8 dev, uint addr, int alen, u8 *data, int length) /* Write the register address */ Xsetbits_le32(&zynq_i2c->control, ZYNQ_I2C_CONTROL_CLR_FIFO | ZYNQ_I2C_CONTROL_HOLD); - Xclrbits_le32(&zynq_i2c->control, ZYNQ_I2C_CONTROL_RW); + /* Temporarily disable restart (by clearing hold)... */ + /* It doesn't seem to work. */ + Xclrbits_le32(&zynq_i2c->control, ZYNQ_I2C_CONTROL_RW | + ZYNQ_I2C_CONTROL_HOLD); Xout_le32(&zynq_i2c->interrupt_status, 0xFF); while (alen--) Xout_le32(&zynq_i2c->data, addr >> (8*alen)); -- 2.47.3