<?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のトピックddr3 calibration error-strange write leveling result</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/ddr3-calibration-error-strange-write-leveling-result/m-p/689128#M106703</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,All&lt;/P&gt;&lt;P&gt;We encountered some question in DDR3.We have produced about 1 thousand boards,and we got several (5~6) board fail to boot from EMMC,after checked the DDR3,we found ddr3 caused the booting failing.&lt;/P&gt;&lt;P&gt;our DDR3 device is :&lt;/P&gt;&lt;TABLE style="border-collapse: collapse; width: 125pt;" width="166"&gt;&lt;TBODY&gt;&lt;TR style="height: 13.5pt;"&gt;&lt;TD class="" height="18" style="width: 125pt; height: 13.5pt;" width="166"&gt;IS43TR16256A-15HBLI&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;I used the ddr stress test tool v2.6 to test one of our faulted custom board，I got some strange results in HW write leveling process.&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;ddr_mr1=0x00000004&lt;BR /&gt;Start write leveling calibration...&lt;BR /&gt;running Write level HW calibration&lt;BR /&gt;Write leveling calibration completed, update the following registers in your initialization script&lt;BR /&gt;MMDC_MPWLDECTRL0 ch0 (0x021b080c) = 0x001F001F&lt;BR /&gt;MMDC_MPWLDECTRL1 ch0 (0x021b0810) = 0x001F001F&lt;BR /&gt;MMDC_MPWLDECTRL0 ch1 (0x021b480c) = 0x001F001F&lt;BR /&gt;MMDC_MPWLDECTRL1 ch1 (0x021b4810) = 0x001F001F&lt;BR /&gt;Write DQS delay result:&lt;BR /&gt;Write DQS0 delay: 31/256 CK&lt;BR /&gt;Write DQS1 delay: 31/256 CK&lt;BR /&gt;Write DQS2 delay: 31/256 CK&lt;BR /&gt;Write DQS3 delay: 31/256 CK&lt;BR /&gt;Write DQS4 delay: 31/256 CK&lt;BR /&gt;Write DQS5 delay: 31/256 CK&lt;BR /&gt;Write DQS6 delay: 31/256 CK&lt;BR /&gt;Write DQS7 delay: 31/256 CK&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;Starting DQS gating calibration&lt;BR /&gt;. HC_DEL=0x00000000 result[00]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000001 result[01]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000002 result[02]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000003 result[03]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000004 result[04]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000005 result[05]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000006 result[06]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000007 result[07]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000008 result[08]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000009 result[09]=0x11111111&lt;BR /&gt;. HC_DEL=0x0000000A result[0A]=0x11111111&lt;BR /&gt;. HC_DEL=0x0000000B result[0B]=0x11111111&lt;BR /&gt;. HC_DEL=0x0000000C result[0C]=0x11111111&lt;BR /&gt;. HC_DEL=0x0000000D result[0D]=0x11111111&lt;BR /&gt;ERROR FOUND, we can't get suitable value !!!!&lt;BR /&gt;dram test fails for all values.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;Error: failed during ddr calibration&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The DQS group's write leveling delay results is the same :&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;31/256 CK delay. the nomarl board 's results is below:&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Write leveling calibration completed, update the following registers in your initialization script&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MMDC_MPWLDECTRL0 ch0 (0x021b080c) = 0x004E004E&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MMDC_MPWLDECTRL1 ch0 (0x021b0810) = 0x0041004A&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MMDC_MPWLDECTRL0 ch1 (0x021b480c) = 0x002B0029&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MMDC_MPWLDECTRL1 ch1 (0x021b4810) = 0x002D0041&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Write DQS delay result:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS0 delay: 78/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS1 delay: 78/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS2 delay: 74/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS3 delay: 65/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS4 delay: 41/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS5 delay: 43/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS6 delay: 65/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS7 delay: 45/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;I read the manual " &lt;SPAN style="color: #000000; font-size: 15pt;"&gt;&lt;STRONG&gt;45.11.6.1 Hardware Write Leveling Calibration&lt;/STRONG&gt;&lt;/SPAN&gt;"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;every DQS write leveling should repeat step 5~7 and adds 1/8 cycle delay between DQS and clk every times,then fine tuning must be executed to find precise delay value ,the resolution of the tuning is 1/256 clk.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;What clues can we get through this result?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;does the 31/256 results mean that write leveling only execute the first 5~7 step then the ddr device sampled the CLK and got the transition from 0 to 1,then tuining the result to 31cycles?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 09 Jul 2017 05:09:08 GMT</pubDate>
    <dc:creator>jiangtao</dc:creator>
    <dc:date>2017-07-09T05:09:08Z</dc:date>
    <item>
      <title>ddr3 calibration error-strange write leveling result</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/ddr3-calibration-error-strange-write-leveling-result/m-p/689128#M106703</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,All&lt;/P&gt;&lt;P&gt;We encountered some question in DDR3.We have produced about 1 thousand boards,and we got several (5~6) board fail to boot from EMMC,after checked the DDR3,we found ddr3 caused the booting failing.&lt;/P&gt;&lt;P&gt;our DDR3 device is :&lt;/P&gt;&lt;TABLE style="border-collapse: collapse; width: 125pt;" width="166"&gt;&lt;TBODY&gt;&lt;TR style="height: 13.5pt;"&gt;&lt;TD class="" height="18" style="width: 125pt; height: 13.5pt;" width="166"&gt;IS43TR16256A-15HBLI&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;I used the ddr stress test tool v2.6 to test one of our faulted custom board，I got some strange results in HW write leveling process.&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;ddr_mr1=0x00000004&lt;BR /&gt;Start write leveling calibration...&lt;BR /&gt;running Write level HW calibration&lt;BR /&gt;Write leveling calibration completed, update the following registers in your initialization script&lt;BR /&gt;MMDC_MPWLDECTRL0 ch0 (0x021b080c) = 0x001F001F&lt;BR /&gt;MMDC_MPWLDECTRL1 ch0 (0x021b0810) = 0x001F001F&lt;BR /&gt;MMDC_MPWLDECTRL0 ch1 (0x021b480c) = 0x001F001F&lt;BR /&gt;MMDC_MPWLDECTRL1 ch1 (0x021b4810) = 0x001F001F&lt;BR /&gt;Write DQS delay result:&lt;BR /&gt;Write DQS0 delay: 31/256 CK&lt;BR /&gt;Write DQS1 delay: 31/256 CK&lt;BR /&gt;Write DQS2 delay: 31/256 CK&lt;BR /&gt;Write DQS3 delay: 31/256 CK&lt;BR /&gt;Write DQS4 delay: 31/256 CK&lt;BR /&gt;Write DQS5 delay: 31/256 CK&lt;BR /&gt;Write DQS6 delay: 31/256 CK&lt;BR /&gt;Write DQS7 delay: 31/256 CK&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;Starting DQS gating calibration&lt;BR /&gt;. HC_DEL=0x00000000 result[00]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000001 result[01]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000002 result[02]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000003 result[03]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000004 result[04]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000005 result[05]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000006 result[06]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000007 result[07]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000008 result[08]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000009 result[09]=0x11111111&lt;BR /&gt;. HC_DEL=0x0000000A result[0A]=0x11111111&lt;BR /&gt;. HC_DEL=0x0000000B result[0B]=0x11111111&lt;BR /&gt;. HC_DEL=0x0000000C result[0C]=0x11111111&lt;BR /&gt;. HC_DEL=0x0000000D result[0D]=0x11111111&lt;BR /&gt;ERROR FOUND, we can't get suitable value !!!!&lt;BR /&gt;dram test fails for all values.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;Error: failed during ddr calibration&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The DQS group's write leveling delay results is the same :&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;31/256 CK delay. the nomarl board 's results is below:&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Write leveling calibration completed, update the following registers in your initialization script&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MMDC_MPWLDECTRL0 ch0 (0x021b080c) = 0x004E004E&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MMDC_MPWLDECTRL1 ch0 (0x021b0810) = 0x0041004A&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MMDC_MPWLDECTRL0 ch1 (0x021b480c) = 0x002B0029&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MMDC_MPWLDECTRL1 ch1 (0x021b4810) = 0x002D0041&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Write DQS delay result:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS0 delay: 78/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS1 delay: 78/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS2 delay: 74/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS3 delay: 65/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS4 delay: 41/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS5 delay: 43/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS6 delay: 65/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Write DQS7 delay: 45/256 CK&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;I read the manual " &lt;SPAN style="color: #000000; font-size: 15pt;"&gt;&lt;STRONG&gt;45.11.6.1 Hardware Write Leveling Calibration&lt;/STRONG&gt;&lt;/SPAN&gt;"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;every DQS write leveling should repeat step 5~7 and adds 1/8 cycle delay between DQS and clk every times,then fine tuning must be executed to find precise delay value ,the resolution of the tuning is 1/256 clk.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;What clues can we get through this result?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;does the 31/256 results mean that write leveling only execute the first 5~7 step then the ddr device sampled the CLK and got the transition from 0 to 1,then tuining the result to 31cycles?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 09 Jul 2017 05:09:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/ddr3-calibration-error-strange-write-leveling-result/m-p/689128#M106703</guid>
      <dc:creator>jiangtao</dc:creator>
      <dc:date>2017-07-09T05:09:08Z</dc:date>
    </item>
    <item>
      <title>Re: ddr3 calibration error-strange write leveling result</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/ddr3-calibration-error-strange-write-leveling-result/m-p/689129#M106704</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi jiang&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;0x001F001F means can't find the write leveling value, one can increase WALAT and &lt;BR /&gt;drive strength of DQS,DQ signals. Description can be found in AN4467 i.MX 6 Series DDR Calibration&lt;BR /&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FAN4467.pdf" rel="nofollow" target="_blank"&gt;http://www.nxp.com/docs/en/application-note/AN4467.pdf&lt;/A&gt;&lt;BR /&gt;In general it may mean that ddr interface is not working at all and one can follow&lt;BR /&gt;bringup guidelines using i.MX6 System Development User’s Guide and check signals with&lt;/P&gt;&lt;P&gt;oscilloscope&lt;BR /&gt;&lt;A href="http://cache.freescale.com/files/32bit/doc/user_guide/IMX6DQ6SDLHDG.pdf"&gt;http://cache.freescale.com/files/32bit/doc/user_guide/IMX6DQ6SDLHDG.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Best regards&lt;BR /&gt;igor&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 09 Jul 2017 23:02:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/ddr3-calibration-error-strange-write-leveling-result/m-p/689129#M106704</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2017-07-09T23:02:07Z</dc:date>
    </item>
  </channel>
</rss>

