From: tomi.valkeinen@ti.com (Tomi Valkeinen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4] OMAP2/3: hwmod: fix the i2c-reset timeout during bootup
Date: Mon, 30 May 2011 09:38:10 +0300 [thread overview]
Message-ID: <1306737490.2117.24.camel@deskari> (raw)
In-Reply-To: <1305906384-22061-1-git-send-email-avinashhm@ti.com>
On Fri, 2011-05-20 at 21:16 +0530, Avinash.H.M wrote:
> The sequence of _ocp_softreset doesn't work for i2c. The i2c module has a
> special sequence to reset the module. The sequence is
> - Disable the I2C.
> - Write to SOFTRESET bit.
> - Enable the I2C.
> - Poll on the RESETDONE bit.
> The sequence is implemented as a function and the i2c_class is updated with
> the correct 'reset' pointer. omap_hwmod_softreset function is implemented
> which triggers the softreset by writing into sysconfig register. On following
> this sequence, i2c module resets properly and timeouts are not seen.
>
> Cc: Rajendra Nayak <rnayak@ti.com>
> Cc: Paul Walmsley <paul@pwsan.com>
> Cc: Benoit Cousson <b-cousson@ti.com>
> Cc: Kevin Hilman <khilman@ti.com>
> Signed-off-by: Avinash.H.M <avinashhm@ti.com>
> ---
<snip>
> diff --git a/arch/arm/plat-omap/include/plat/i2c.h b/arch/arm/plat-omap/include/plat/i2c.h
> index 878d632..3ffb94e 100644
> --- a/arch/arm/plat-omap/include/plat/i2c.h
> +++ b/arch/arm/plat-omap/include/plat/i2c.h
> @@ -23,6 +23,8 @@
>
> #include <linux/i2c.h>
>
> +#include <plat/omap_hwmod.h>
> +
> #if defined(CONFIG_I2C_OMAP) || defined(CONFIG_I2C_OMAP_MODULE)
> extern int omap_register_i2c_bus(int bus_id, u32 clkrate,
> struct i2c_board_info const *info,
> @@ -52,4 +54,6 @@ struct omap_i2c_dev_attr {
> void __init omap1_i2c_mux_pins(int bus_id);
> void __init omap2_i2c_mux_pins(int bus_id);
>
> +int omap_i2c_reset(struct omap_hwmod *oh);
> +
It's not necessary to include omap_hwmod.h, just declare
struct omap_hwmod;
Tomi
next prev parent reply other threads:[~2011-05-30 6:38 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-20 15:46 [PATCH v4] OMAP2/3: hwmod: fix the i2c-reset timeout during bootup Avinash.H.M
2011-05-30 6:38 ` Tomi Valkeinen [this message]
2011-05-30 19:26 ` Avinash.H.M.
2011-06-05 8:49 ` Avinash.H.M.
2011-06-20 9:43 ` Avinash.H.M.
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=1306737490.2117.24.camel@deskari \
--to=tomi.valkeinen@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).