diff mbox

[U-Boot] designware_i2c: remove 10msec delay in i2c_xfer_finish

Message ID 1383832353-12055-1-git-send-email-abrodkin@synopsys.com
State Accepted
Delegated to: Heiko Schocher
Headers show

Commit Message

Alexey Brodkin Nov. 7, 2013, 1:52 p.m. UTC
This delay applies to any data transfer on I2C bus.

For example 1kB data read with per-byte access (which happens if
environment is stored in I2C EEPROM) takes more than 10 seconds.

Moreover data bus driver has to care about bus state and data transfer,
but not about internal states of attached devices.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>

Cc: Tom Rini <trini@ti.com>
cc: Armando Visconti <armando.visconti@st.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Cc: Heiko Schocher <hs@denx.de>
Cc: Vipin KUMAR <vipin.kumar@st.com>
Cc: Tom Rix <Tom.Rix@windriver.com>
Cc: Mischa Jonker <mjonker@synopsys.com>
---
 drivers/i2c/designware_i2c.c | 3 ---
 1 file changed, 3 deletions(-)

Comments

Heiko Schocher Nov. 13, 2013, 6:39 a.m. UTC | #1
Hello Alexey,

Am 07.11.2013 14:52, schrieb Alexey Brodkin:
> This delay applies to any data transfer on I2C bus.
>
> For example 1kB data read with per-byte access (which happens if
> environment is stored in I2C EEPROM) takes more than 10 seconds.
>
> Moreover data bus driver has to care about bus state and data transfer,
> but not about internal states of attached devices.
>
> Signed-off-by: Alexey Brodkin<abrodkin@synopsys.com>
>
> Cc: Tom Rini<trini@ti.com>
> cc: Armando Visconti<armando.visconti@st.com>
> Cc: Stefan Roese<sr@denx.de>
> Cc: Albert ARIBAUD<albert.u.boot@aribaud.net>
> Cc: Heiko Schocher<hs@denx.de>
> Cc: Vipin KUMAR<vipin.kumar@st.com>
> Cc: Tom Rix<Tom.Rix@windriver.com>
> Cc: Mischa Jonker<mjonker@synopsys.com>
>
> ---
> drivers/i2c/designware_i2c.c | 3 ---
>   1 file changed, 3 deletions(-)

Applied to u-boot-i2c.git

Thanks!

bye,
Heiko
diff mbox

Patch

diff --git a/drivers/i2c/designware_i2c.c b/drivers/i2c/designware_i2c.c
index c5c6015..cb2ac04 100644
--- a/drivers/i2c/designware_i2c.c
+++ b/drivers/i2c/designware_i2c.c
@@ -249,9 +249,6 @@  static int i2c_xfer_finish(void)
 
 	i2c_flush_rxfifo();
 
-	/* Wait for read/write operation to complete on actual memory */
-	udelay(10000);
-
 	return 0;
 }