From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [U-Boot, V2] arm: omap: i2c: don't zero cnt in i2c_write
Date: Mon, 09 Dec 2013 07:57:14 +0100 [thread overview]
Message-ID: <52A569CA.3050608@denx.de> (raw)
In-Reply-To: <1385654682-2775-1-git-send-email-nikita@compulab.co.il>
Hello Nikita,
Am 28.11.2013 17:04, schrieb Nikita Kiryanov:
> Writing zero into I2Ci.I2C_CNT register causes random I2C failures in OMAP3
> based devices. This seems to be related to the following advisory which
> apears in multiple erratas for OMAP3 SoCs (OMAP35xx, DM37xx), as well as
> OMAP4430 TRM:
>
> Advisory:
> I2C Module Does Not Allow 0-Byte Data Requests
> Details:
> When configured as the master, the I2C module does not allow 0-byte data
> transfers. Note: Programming I2Ci.I2C_CNT[15:0]: DCOUNT = 0 will cause
> undefined behavior.
> Workaround(s):
> No workaround. Do not use 0-byte data requests.
>
> The writes in question are unnecessary from a functional point of view.
> Most of them are done after I/O has finished, and the only one that preceds
> I/O (in i2c_probe()) is also unnecessary because a stop bit is sent before
> actual data transmission takes place.
>
> Therefore, remove all writes that zero the cnt register.
>
> Cc: Heiko Schocher<hs@denx.de>
> Cc: Thomas Petazzoni<thomas.petazzoni@free-electrons.com>
> Cc: Tom Rini<trini@ti.com>
> Cc: Lubomir Popov<lpopov@mm-sol.com>
> Cc: Enric Balletbo Serra<eballetbo@gmail.com>
> Signed-off-by: Nikita Kiryanov<nikita@compulab.co.il>
> Tested-by: Thomas Petazzoni<thomas.petazzoni@free-electrons.com>
> Tested-by: Lubomir Popov<lpopov@mm-sol.com>
>
> ---
> Changes in V2:
> Removed all instances of writew(0,&i2c_base->cnt) instead of just the
> one in i2c_write (following a test of V1 by Thomas Petazzoni).
>
> drivers/i2c/omap24xx_i2c.c | 6 ------
> 1 file changed, 6 deletions(-)
Thanks! Applied to u-boot-i2c.git.
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
prev parent reply other threads:[~2013-12-09 6:57 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-27 14:44 [U-Boot] [PATCH] arm: omap3: i2c: don't zero cnt in i2c_write Nikita Kiryanov
2013-11-27 15:09 ` Tom Rini
2013-11-27 16:11 ` Nikita Kiryanov
2013-11-28 16:04 ` [U-Boot] [PATCH V2] arm: omap: " Nikita Kiryanov
2013-11-29 10:22 ` Enric Balletbo Serra
2013-11-29 16:05 ` Lubomir Popov
2013-12-02 7:08 ` Andreas Naumann
2013-12-02 12:48 ` Thomas Petazzoni
2013-12-02 15:47 ` Lubomir Popov
2013-12-03 4:02 ` Lokesh Vutla
2013-12-03 8:50 ` Lubomir Popov
2013-12-03 11:10 ` Lokesh Vutla
2013-12-09 6:57 ` Heiko Schocher [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52A569CA.3050608@denx.de \
--to=hs@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.