From: Marek Vasut <marex-ynQEQJNshbs@public.gmane.org>
To: Shawn Guo <shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
"Detlev Zundel" <dzu-ynQEQJNshbs@public.gmane.org>,
"Dong Aisheng" <b29396-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
"Fabio Estevam"
<fabio.estevam-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
"Linux ARM kernel"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"Sascha Hauer" <s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
"Stefano Babic" <sbabic-ynQEQJNshbs@public.gmane.org>,
"Uwe Kleine-König"
<u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
"Wolfgang Denk" <wd-ynQEQJNshbs@public.gmane.org>,
"Wolfram Sang" <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Subject: Re: [PATCH 1/2 V3] MXS: Set I2C timing registers for mxs-i2c
Date: Wed, 27 Jun 2012 04:34:20 +0200 [thread overview]
Message-ID: <201206270434.20558.marex@denx.de> (raw)
In-Reply-To: <20120627021336.GA9787-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
Dear Shawn Guo,
> On Wed, Jun 27, 2012 at 03:30:31AM +0200, Marek Vasut wrote:
> > Ok, I managed to replicate it just now. Scrap my previous email.
> >
> > Still, any idea what can cause this?
>
> I just spent some time on it. It looks like a document issue (dammit).
>
> The HW_I2C_TIMING2 EXAMPLE tells the value is 0x0015000d which is the
> one you looked at and used. But the register field figure tells it's
> 0x00300030, which seems the real case.
>
> The mxs_i2c_reset at probe changes the value to 0x0015000d which causes
> the first time playback nonfunctional, but the mxs_i2c_reset call in
> mxs_i2c_xfer_msg happens to reset the value back to 0x00300030, and
> then second time playback starts working.
>
> The changes below get everything work fine, both 100k and 400k. So
> with the changes in, you can add:
Ok, can you push the FSL guys to roll out updated document?
Do you consider it reasonable to add some calculations of these timing values or
were they somehow fine-tuned with a scope/deep HW knowledge as the best working
values and we should stick to those?
> Tested-by: Shawn Guo <shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
>
> Regards,
> Shawn
>
> --8<---
>
> diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c
> index e38be56..c2467e9 100644
> --- a/drivers/i2c/busses/i2c-mxs.c
> +++ b/drivers/i2c/busses/i2c-mxs.c
> @@ -112,13 +112,13 @@ struct mxs_i2c_speed_config {
> const struct mxs_i2c_speed_config mxs_i2c_95kHz_config = {
> .timing0 = 0x00780030,
> .timing1 = 0x00800030,
> - .timing2 = 0x0015000d,
> + .timing2 = 0x00300030,
> };
>
> const struct mxs_i2c_speed_config mxs_i2c_400kHz_config = {
> .timing0 = 0x000f0007,
> .timing1 = 0x001f000f,
> - .timing2 = 0x0015000d,
> + .timing2 = 0x00300030,
> };
Best regards,
Marek Vasut
WARNING: multiple messages have this Message-ID (diff)
From: marex@denx.de (Marek Vasut)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2 V3] MXS: Set I2C timing registers for mxs-i2c
Date: Wed, 27 Jun 2012 04:34:20 +0200 [thread overview]
Message-ID: <201206270434.20558.marex@denx.de> (raw)
In-Reply-To: <20120627021336.GA9787@S2101-09.ap.freescale.net>
Dear Shawn Guo,
> On Wed, Jun 27, 2012 at 03:30:31AM +0200, Marek Vasut wrote:
> > Ok, I managed to replicate it just now. Scrap my previous email.
> >
> > Still, any idea what can cause this?
>
> I just spent some time on it. It looks like a document issue (dammit).
>
> The HW_I2C_TIMING2 EXAMPLE tells the value is 0x0015000d which is the
> one you looked at and used. But the register field figure tells it's
> 0x00300030, which seems the real case.
>
> The mxs_i2c_reset at probe changes the value to 0x0015000d which causes
> the first time playback nonfunctional, but the mxs_i2c_reset call in
> mxs_i2c_xfer_msg happens to reset the value back to 0x00300030, and
> then second time playback starts working.
>
> The changes below get everything work fine, both 100k and 400k. So
> with the changes in, you can add:
Ok, can you push the FSL guys to roll out updated document?
Do you consider it reasonable to add some calculations of these timing values or
were they somehow fine-tuned with a scope/deep HW knowledge as the best working
values and we should stick to those?
> Tested-by: Shawn Guo <shawn.guo@linaro.org>
>
> Regards,
> Shawn
>
> --8<---
>
> diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c
> index e38be56..c2467e9 100644
> --- a/drivers/i2c/busses/i2c-mxs.c
> +++ b/drivers/i2c/busses/i2c-mxs.c
> @@ -112,13 +112,13 @@ struct mxs_i2c_speed_config {
> const struct mxs_i2c_speed_config mxs_i2c_95kHz_config = {
> .timing0 = 0x00780030,
> .timing1 = 0x00800030,
> - .timing2 = 0x0015000d,
> + .timing2 = 0x00300030,
> };
>
> const struct mxs_i2c_speed_config mxs_i2c_400kHz_config = {
> .timing0 = 0x000f0007,
> .timing1 = 0x001f000f,
> - .timing2 = 0x0015000d,
> + .timing2 = 0x00300030,
> };
Best regards,
Marek Vasut
next prev parent reply other threads:[~2012-06-27 2:34 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-09 11:45 [PATCH 1/2 V3] MXS: Set I2C timing registers for mxs-i2c Marek Vasut
2012-06-09 11:45 ` Marek Vasut
[not found] ` <1339242351-8797-1-git-send-email-marex-ynQEQJNshbs@public.gmane.org>
2012-06-09 11:45 ` [PATCH 2/2 V2] MXS: Implement DMA support into mxs-i2c Marek Vasut
2012-06-09 11:45 ` Marek Vasut
2012-06-10 11:53 ` [PATCH 1/2 V3] MXS: Set I2C timing registers for mxs-i2c Marek Vasut
2012-06-10 11:53 ` Marek Vasut
[not found] ` <201206101353.06018.marex-ynQEQJNshbs@public.gmane.org>
2012-06-11 7:30 ` Shawn Guo
2012-06-11 7:30 ` Shawn Guo
[not found] ` <20120611073036.GG2552-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-06-11 10:53 ` Marek Vasut
2012-06-11 10:53 ` Marek Vasut
[not found] ` <201206111253.17314.marex-ynQEQJNshbs@public.gmane.org>
2012-06-11 14:42 ` Shawn Guo
2012-06-11 14:42 ` Shawn Guo
[not found] ` <20120611144237.GI2552-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-06-23 18:19 ` Marek Vasut
2012-06-23 18:19 ` Marek Vasut
2012-06-11 6:39 ` Shawn Guo
2012-06-11 6:39 ` Shawn Guo
[not found] ` <20120611063903.GD2552-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-06-11 10:54 ` Marek Vasut
2012-06-11 10:54 ` Marek Vasut
[not found] ` <201206111254.21766.marex-ynQEQJNshbs@public.gmane.org>
2012-06-27 1:30 ` Marek Vasut
2012-06-27 1:30 ` Marek Vasut
[not found] ` <201206270330.31669.marex-ynQEQJNshbs@public.gmane.org>
2012-06-27 2:13 ` Shawn Guo
2012-06-27 2:13 ` Shawn Guo
[not found] ` <20120627021336.GA9787-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-06-27 2:34 ` Marek Vasut [this message]
2012-06-27 2:34 ` Marek Vasut
2012-06-23 18:47 ` Marek Vasut
2012-06-23 18:47 ` Marek Vasut
[not found] ` <201206232047.33228.marex-ynQEQJNshbs@public.gmane.org>
2012-06-25 15:43 ` Shawn Guo
2012-06-25 15:43 ` Shawn Guo
[not found] ` <20120625154354.GC2342-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-06-25 16:02 ` Marek Vasut
2012-06-25 16:02 ` Marek Vasut
2012-06-27 1:15 ` Marek Vasut
2012-06-27 1:15 ` Marek Vasut
-- strict thread matches above, loose matches on Subject: below --
2012-07-09 16:22 Marek Vasut
2012-07-09 16:22 ` Marek Vasut
[not found] ` <1341850974-11977-1-git-send-email-marex-ynQEQJNshbs@public.gmane.org>
2012-07-13 8:07 ` Wolfram Sang
2012-07-13 8:07 ` Wolfram Sang
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=201206270434.20558.marex@denx.de \
--to=marex-ynqeqjnshbs@public.gmane.org \
--cc=b29396-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
--cc=dzu-ynQEQJNshbs@public.gmane.org \
--cc=fabio.estevam-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=sbabic-ynQEQJNshbs@public.gmane.org \
--cc=shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=wd-ynQEQJNshbs@public.gmane.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 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.