From: Sascha Hauer <s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
To: Troy Kisky
	<troy.kisky-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
Cc: Richard Zhao
	<richard.zhao-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	b38611-KZfg59tc24xl57MIdRCFDg@public.gmane.org,
	Ben Dooks <ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>,
	b35325-KZfg59tc24xl57MIdRCFDg@public.gmane.org,
	Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Richard Zhao <linuxzsc-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH] i2c i.MX: Fix divider table
Date: Wed, 11 Jul 2012 21:44:53 +0200	[thread overview]
Message-ID: <20120711194453.GS30009@pengutronix.de> (raw)
In-Reply-To: <4FFDCFDB.7020402-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
On Wed, Jul 11, 2012 at 12:11:23PM -0700, Troy Kisky wrote:
> On 7/11/2012 11:38 AM, Sascha Hauer wrote:
> >Hi Richard,
> >
> >On Wed, Jul 11, 2012 at 02:01:21PM +0800, Richard Zhao wrote:
> >>IC guys confirmed that the spec is right:
> >>
> >>This an adaptive feature of our I2C module may apply to all IMX chips.
> >>No mistake in the table of RMs.
> >>
> >>The divider is designed to guarantee SCL high level and low level last
> >>time. Divider will hold when SCL transition from 1 to 0 or 0 to 1, if
> >>the transition time is longer than 1 internal pre-divided clock cycle.
> >>The pre-divided clock is divided from I2C module clock, used for
> >>generating SCL. So you will see SCL clock cycle is some way longer than
> >>calculated value using IFDR.
> >>
> >>Transition time will different from rising or falling edge, different
> >>pull-up resistors, and different SCL loading.
> >>
> >>This feature make sure transition time won’t eat both level time of SCL.
> >Thanks for clarification. Does this mean that this feature is used to
> >synchronize between the bus clock and and bitclock?
> >
> >I'll send a documentation patch for this next week to make this clear.
> >
> >Sascha
> >
> How does this explain why column 2 matched your measurements, but 1,
> 3, and 4 didn't.
> And you tested on 2 different boards.
> Something doesn't smell right.
This reminds me that one divider value on i.MX53 crashed the whole I2C
module (it was unusable until reset). The same value worked on i.MX1.
Some divider values produced a terrible jitter on the clock output. So
it really seems that there is something more going on than just a simple
divider.
Sascha
-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
next prev parent reply	other threads:[~2012-07-11 19:44 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-05 13:10 [PATCH] i2c i.MX: Fix divider table Sascha Hauer
2012-07-05 14:23 ` Baruch Siach
     [not found] ` <1341493826-13861-1-git-send-email-s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-07-05 14:52   ` Richard Zhao
2012-07-05 16:01     ` Sascha Hauer
     [not found]       ` <20120705160153.GT30009-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-07-06  0:52         ` Richard Zhao
     [not found]           ` <20120706005249.GA26888-iWYTGMXpHj9ITqJhDdzsOjpauB2SiJktrE5yTffgRl4@public.gmane.org>
2012-07-06  6:28             ` Sascha Hauer
     [not found]               ` <20120706062852.GZ30009-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-07-11  6:01                 ` Richard Zhao
     [not found]                   ` <20120711060121.GB30055-iWYTGMXpHj9ITqJhDdzsOjpauB2SiJktrE5yTffgRl4@public.gmane.org>
2012-07-11 18:38                     ` Sascha Hauer
     [not found]                       ` <20120711183838.GM30009-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-07-11 19:11                         ` Troy Kisky
     [not found]                           ` <4FFDCFDB.7020402-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
2012-07-11 19:44                             ` Sascha Hauer [this message]
2012-07-12  0:45                         ` Richard Zhao
2012-07-05 18:06   ` Shubhrajyoti Datta
     [not found]     ` <CAM=Q2csv3rEs-xseGd6NHxR3wRSZp82ZqNB1mn-_C4=5=nOc6g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-07-05 18:47       ` Sascha Hauer
     [not found]         ` <20120705184736.GW30009-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-07-08  9:14           ` Shubhrajyoti Datta
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=20120711194453.GS30009@pengutronix.de \
    --to=s.hauer-bicnvbalz9megne8c9+irq@public.gmane.org \
    --cc=b35325-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=b38611-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org \
    --cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linuxzsc-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=richard.zhao-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=troy.kisky-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org \
    --cc=w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@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 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).