<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: iMX28 I2C 400kHz clock settings</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282665#M32835</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="CIMG2851.JPG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/39392iBCB3A15D57DDD27A/image-size/large?v=v2&amp;amp;px=999" role="button" title="CIMG2851.JPG" alt="CIMG2851.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="GingerNoCheckStart"&gt;&lt;/SPAN&gt;Without HW modification on EVK, I got this waveform on R115 (SCL) for below register settings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;HW_I2C_TIMING0&amp;nbsp; HW_I2C_TIMING1&amp;nbsp;&amp;nbsp; tH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; freq.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;(0x80058010)&amp;nbsp;&amp;nbsp;&amp;nbsp; (0x80058020)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;========================================================&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;0x000d0006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00230010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1us&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.5us&amp;nbsp; 400kHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="GingerNoCheckEnd"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 May 2013 06:19:09 GMT</pubDate>
    <dc:creator>JackyAtFreescal</dc:creator>
    <dc:date>2013-05-15T06:19:09Z</dc:date>
    <item>
      <title>iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282660#M32830</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've just been scoping the I2C clock line on my board and have noticed the following.&lt;/P&gt;&lt;P&gt;If HW_I2C_TIMING0 and HW_I2C_TIMING1 are set to 0x000f0007 and 0x001f000f for 400kHz operation as per page 1756 of the reference manual then the clock rate is 436kHz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After reading the description I tried 0x0018000c in HW_I2C_TIMING0 to get a 1us clock high time, i.e. 24 clocks of 24MHz.&amp;nbsp; I put 0x00240010 in HW_I2C_TIMING1 to get 1.5us clock low.&amp;nbsp; 2.5us -&amp;gt; 400kHz.&lt;/P&gt;&lt;P&gt;Unfortunately this gave me 348kHz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Trial and error gave me 400kHz by putting the following values in the registers:&lt;/P&gt;&lt;P&gt;0x0010000c -&amp;gt; HW_I2C_TIMING0 which scopes out as 1us clock high.&lt;/P&gt;&lt;P&gt;0x00230010 -&amp;gt; HW_I2C_TIMING1 which scopes out as 1.5us clock low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this is helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Matt.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Apr 2013 10:28:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282660#M32830</guid>
      <dc:creator>Matt_</dc:creator>
      <dc:date>2013-04-24T10:28:25Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282661#M32831</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Which board and BSP are you using?&lt;/P&gt;&lt;P&gt;If you are not using the latest BSP and patches, please download them from here:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX28_SW&amp;amp;fr=gtl"&gt;http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX28_SW&amp;amp;fr=gtl&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 28 Apr 2013 03:47:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282661#M32831</guid>
      <dc:creator>jimmychan</dc:creator>
      <dc:date>2013-04-28T03:47:30Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282662#M32832</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jimmy,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using my own board with many details drawn from the EVK and reference schematics.&lt;/P&gt;&lt;P&gt;I'm using the linux 2.6.35.3 BSP with all the latest patches applied.&lt;/P&gt;&lt;P&gt;This is not really relevent though as:&lt;/P&gt;&lt;P&gt;1) I was poking the registers directly from u-boot to determine what was needed to get a 400kHz clock&lt;/P&gt;&lt;P&gt;2) linux-2.6.35.3\drivers\i2c\busses\i2c-mxs.c has to be modified to support any operation other than the default clock rate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have modified i2c-mxs.c to use the values determined above which are applied whenever the module is reset and am very happy with the scope traces showing everything working nicely at 400kHz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just thought this may help others if they see the same issue and give Freescale an opportunity to make a constructive comment or even to modify the code if they see fit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Matt.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Apr 2013 08:37:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282662#M32832</guid>
      <dc:creator>Matt_</dc:creator>
      <dc:date>2013-04-29T08:37:15Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282663#M32833</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your findings!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I verified below settings on imx28 EVK Rev. D board and here is my result:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;HW_I2C_TIMING0&amp;nbsp; HW_I2C_TIMING1&amp;nbsp;&amp;nbsp; tH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; freq.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;(0x80058010)&amp;nbsp;&amp;nbsp;&amp;nbsp; (0x80058020)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;========================================================&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;0x00780030&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00800030&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.3us&amp;nbsp; 5.5us&amp;nbsp; 92.59kHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;0x000f0007&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x001f000f&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.08us 1.32us 416.7kHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;0x0010000c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00230010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.12us &lt;SPAN style="font-family: 'courier new', courier;"&gt;1.5us&lt;/SPAN&gt;&amp;nbsp; 381.7kHz&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 May 2013 04:07:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282663#M32833</guid>
      <dc:creator>JackyAtFreescal</dc:creator>
      <dc:date>2013-05-14T04:07:17Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282664#M32834</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jacky,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for looking into this.&lt;/P&gt;&lt;P&gt;We agree on the affect of TIMING1 and tL.&lt;/P&gt;&lt;P&gt;I wonder whether the discrepency on tH is due to a delay in rise time.&amp;nbsp; The EVK pulls up the signals with 4k7 and is loaded by several chips whereas I use 2k2 and one load.&amp;nbsp; The I2C interface won't start counting clock high until it sees that no-one is driving it low.&lt;/P&gt;&lt;P&gt;Would it be too much trouble to repeat the tests with stronger pull-ups R14 &amp;amp; R15?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Matt.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 May 2013 08:57:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282664#M32834</guid>
      <dc:creator>Matt_</dc:creator>
      <dc:date>2013-05-14T08:57:14Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282665#M32835</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="CIMG2851.JPG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/39392iBCB3A15D57DDD27A/image-size/large?v=v2&amp;amp;px=999" role="button" title="CIMG2851.JPG" alt="CIMG2851.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="GingerNoCheckStart"&gt;&lt;/SPAN&gt;Without HW modification on EVK, I got this waveform on R115 (SCL) for below register settings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;HW_I2C_TIMING0&amp;nbsp; HW_I2C_TIMING1&amp;nbsp;&amp;nbsp; tH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; freq.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;(0x80058010)&amp;nbsp;&amp;nbsp;&amp;nbsp; (0x80058020)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;========================================================&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;0x000d0006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00230010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1us&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.5us&amp;nbsp; 400kHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="GingerNoCheckEnd"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 May 2013 06:19:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282665#M32835</guid>
      <dc:creator>JackyAtFreescal</dc:creator>
      <dc:date>2013-05-15T06:19:09Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282666#M32836</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jacky,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think the slow rise time is the cause of the descrepency as plugging your values into my board gives 421kHz.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="F421kHz.bmp"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/119297i322B8E794E02FAEA/image-size/large?v=v2&amp;amp;px=999" role="button" title="F421kHz.bmp" alt="F421kHz.bmp" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The original values I suggested work for me at 400kHz, so I guess the clock rate is very board dependent.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="F400kHz.bmp"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/119298iEC67F79E0EA8FC89/image-size/large?v=v2&amp;amp;px=999" role="button" title="F400kHz.bmp" alt="F400kHz.bmp" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Matt.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 May 2013 11:08:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282666#M32836</guid>
      <dc:creator>Matt_</dc:creator>
      <dc:date>2013-05-15T11:08:19Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282667#M32837</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Matt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If no more issue, we will close this thread.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Jacky&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Jun 2013 07:24:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282667#M32837</guid>
      <dc:creator>JackyAtFreescal</dc:creator>
      <dc:date>2013-06-19T07:24:25Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282668#M32838</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jacky,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes that's fine.&amp;nbsp; Hopefully this discussion will help others.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt; Matt.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Jun 2013 08:30:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282668#M32838</guid>
      <dc:creator>Matt_</dc:creator>
      <dc:date>2013-06-19T08:30:55Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282669#M32839</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I wanted to configure the I2C_SCL for 400Khz, &amp;amp; using L2.6.35_10.12.01_ER_source so I applied the patch from the below link, &amp;amp; I scoped out &amp;amp; got the SCL freq as &lt;SPAN style="color: #000000; font-family: Arial; font-size: small;"&gt;436.3902 KHz on &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;i.Mx28 EVK PCB&amp;nbsp; REV D, but I need to configure to 400Khz, but I didn't understand why this &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt; .timing2 = 0x00300030 is configured &amp;amp; moreover &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;.timing0 = 0x000f0007, &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;timing1 = 0x001f000f, is giving me a 436 Khz as shown below , could any body please let me know how this can be accurated to 400khz as soon as possible&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;static const struct mxs_i2c_speed_config mxs_i2c_400kHz_config = {&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;.timing0 = 0x000f0007,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;.timing1 = 0x001f000f,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;.timing2 = 0x00300030,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;};&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Arial; font-size: small;"&gt;&lt;A href="https://community.nxp.com/message/309636"&gt;Conflict on 2 I2C buses&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many Many Thanks in advance again&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Oct 2013 14:51:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282669#M32839</guid>
      <dc:creator>srinivasanshanm</dc:creator>
      <dc:date>2013-10-10T14:51:22Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282670#M32840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think you just repeated the observation I made above, i.e. the values given for 400kHz operation are not applicable to all designs.&lt;/P&gt;&lt;P&gt;I believe this is due to the fact that the I2C bus is not actively driven high and that the high part of the clock pulse is timed after the resistor has pulled it up above a certain level.&amp;nbsp; A high value resistor (and a lot of loads) on the early EVKs led to a slow rise time which meant that the configuration parameters you used gave around 400kHz.&amp;nbsp; I used the same configuration values on an I2C bus with one load and a low value pull up and got 436KHz as you did.&lt;/P&gt;&lt;P&gt;I found that the low part of the clock pulse is accurately given by the LOW_COUNT field in timing1 as (LOW_COUNT+1)/24 usec.&lt;/P&gt;&lt;P&gt;The high part of the clock pulse is ((HIGH-COUNT+n)/24) + rise time) usec.&amp;nbsp; I have no idea what n is and rise time depends on the pull up resistor used and the amount of loading on the I2C bus.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I found using&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;.timing0 = 0x0010000c,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;.timing1 = 0x00230010,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;gave a nice 400kHz clock for me.&amp;nbsp; Give it a go.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;The reason that the high level timing has to start after the clock is sampled high is that it is quite legitimate for a slave on the I2C bus to hold the clock line low to slow down the access or temporarily stall it if the slave is busy.&amp;nbsp; The master can only count clock high when it has been released.&amp;nbsp; A slow rise time just delays when it can start counting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;Best Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;Matt.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Oct 2013 20:36:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282670#M32840</guid>
      <dc:creator>Matt_</dc:creator>
      <dc:date>2013-10-10T20:36:15Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282671#M32841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Matthew,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot for your quick response, its really helpful your guidance for the guys who stuck up with these kind of issues&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I feel finally to do the readback of these timing regsiters, would finally confirm that whether my .timing0 = 0x0010000c, .timing1 = 0x00230010, would configure..400khz, could you please help how to readback these registers can be done..through I2C in the above patch.. &lt;/P&gt;&lt;P style="font-size: 12px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d; background-color: #f6f6f6;"&gt; Because I suspect the below code is missing sorry if am wrong in the above patch, could you please me how read back of these registers can be done with any code changes.. as am week in scoping out the waveforms&lt;/P&gt;&lt;P style="font-size: 12px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d; background-color: #f6f6f6;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;static struct mxs_i2c_plat_data i2c1_platdata = {&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;#ifdef CONFIG_I2C_MXS_SELECT1_PIOQUEUE_MODE&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp; .pioqueue_mode = 1,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;#endif&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;#ifdef&amp;nbsp; CONFIG_I2C_MXS_SELECT1_400_MODE&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .speed =&amp;nbsp; 400000,&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;#endif&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;static struct mxs_i2c_plat_data i2c0_platdata = {&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;#ifdef CONFIG_I2C_MXS_SELECT0_PIOQUEUE_MODE&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp; .pioqueue_mode = 1,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;#endif&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;#ifdef&amp;nbsp; CONFIG_I2C_MXS_SELECT0_400_MODE&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .speed =&amp;nbsp; 400000,&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;#endif&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry if this seems to be silly question&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Oct 2013 18:44:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282671#M32841</guid>
      <dc:creator>srinivasanshanm</dc:creator>
      <dc:date>2013-10-11T18:44:48Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282672#M32842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm sorry I can't help further as it's been a long time since I worked on this project and the code may have changed.&lt;/P&gt;&lt;P&gt;I had to modify linux-2.6.35.3\drivers\i2c\busses\i2c-mxs.c at the time to set up the registers directly for 400kHz operation and also noticed that it had to be fixed to re-assert these values after each I2C reset.&lt;/P&gt;&lt;P&gt;However there may be different code and patches now.&lt;/P&gt;&lt;P&gt;I think it is vital to check out the changes with a 'scope as it's easy to convince yourself that the code is right when a waveform on a scope really tells the truth.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good Luck,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Matt.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Oct 2013 09:57:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282672#M32842</guid>
      <dc:creator>Matt_</dc:creator>
      <dc:date>2013-10-14T09:57:36Z</dc:date>
    </item>
    <item>
      <title>Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282673#M32843</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Matt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once again Many Thanks a lot for your replies,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As am still using linux-2.6.35.3 for verifying 400Khz in I.MX28 EVK&lt;/P&gt;&lt;P&gt;Could you please..share me the code changes that you made in&amp;nbsp; &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;linux-2.6.35.3\drivers\i2c\busses\i2c-mxs.c at that time to set up the registers directly for 400kHz operation and also ensured that it had to be fixed to re-assert these values after each I2C reset &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And will try to scope it again with your code changes, hope this might resolve all problems.. w.r.t 400khz operation, as early as possible&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many Thanks in advance&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Oct 2013 17:16:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282673#M32843</guid>
      <dc:creator>srinivasanshanm</dc:creator>
      <dc:date>2013-10-14T17:16:18Z</dc:date>
    </item>
    <item>
      <title>Re: Re: iMX28 I2C 400kHz clock settings</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282674#M32844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here's our i2c-mxs.c&lt;/P&gt;&lt;P&gt;Please note that CONFIG_MACH_MX28PCS is set for our compilation to enable 400kHz operation - you may wish to rename this for your platform or just set it at the top of the file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Matt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Oct 2013 21:03:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX28-I2C-400kHz-clock-settings/m-p/282674#M32844</guid>
      <dc:creator>Matt_</dc:creator>
      <dc:date>2013-10-14T21:03:14Z</dc:date>
    </item>
  </channel>
</rss>

