<?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>topic Re: Unexpected behavior of custom hardware design in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829456#M127449</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/igorpadykov"&gt;igorpadykov&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What can you say about above 3 boards which I have given calibration log ? Any possibility to get any clue from the above calibration results ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Board 1 and Board 2 are working well. But board 3 is not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;Peter.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 Aug 2018 05:56:27 GMT</pubDate>
    <dc:creator>peteramond</dc:creator>
    <dc:date>2018-08-10T05:56:27Z</dc:date>
    <item>
      <title>Unexpected behavior of custom hardware design</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829452#M127445</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="border: 0px; background-color: #ebf4f9; color: #51626f; font-size: 13px; font-family: arial;"&gt;Hi All,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="border: 0px; background-color: #ebf4f9; color: #51626f; font-size: 13px; font-family: arial;"&gt;I have done DDR memory calibration for my imx6q custom hardware design using NXP stress tester version 2.9 in ambient temperature and got proper and reliable read,write,dqs gating values for DDR memory. And I updated u-boot configs according to those values as follows.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;Design passed all memory tests.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;Memory AS4C256M16D3A-12BCN&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="border: 0px; background-color: #ebf4f9; color: #51626f; font-size: 13px; font-family: arial;"&gt;System was running properly on the day I calibrated and after few days I'm getting kernel panics.&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="border: 0px; background-color: #ebf4f9; color: #51626f; font-size: 13px; font-family: arial;"&gt;As well as I have 50 units of this units some units work properly and some are getting kernel panics.&lt;/SPAN&gt;&lt;/P&gt;&lt;OL class="" style="color: #252c2f; background-color: #ebf4f9; border: 0px; font-size: 13px; margin: 1em 1em 1em 2em;"&gt;&lt;LI style="border: 0px; font-size: 13px;"&gt;&lt;SPAN style="font-family: inherit;"&gt;Any dependency on memory calibration on humidity or moisture ?&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI style="border: 0px; font-size: 13px;"&gt;&lt;SPAN style="font-family: inherit;"&gt;Can you see any fault in my configuration file ?&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="border: 0px; background-color: #ebf4f9; color: #51626f; font-size: 13px; font-family: arial;"&gt;Regards,&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="border: 0px; background-color: #ebf4f9; color: #51626f; font-size: 13px; font-family: arial;"&gt;Peter.&lt;/SPAN&gt;&lt;BR /&gt;============================================&lt;BR /&gt; DDR Stress Test (2.6.0) &lt;BR /&gt; Build: Aug 1 2017, 17:33:25&lt;BR /&gt; NXP Semiconductors.&lt;BR /&gt;============================================&lt;/P&gt;&lt;P&gt;============================================&lt;BR /&gt; Chip ID&lt;BR /&gt;CHIP ID = i.MX6 Dual/Quad (0x63)&lt;BR /&gt;Internal Revision = TO1.2&lt;BR /&gt;============================================&lt;/P&gt;&lt;P&gt;============================================&lt;BR /&gt; Boot Configuration&lt;BR /&gt;SRC_SBMR1(0x020d8004) = 0x18000030&lt;BR /&gt;SRC_SBMR2(0x020d801c) = 0x21000011&lt;BR /&gt;============================================&lt;/P&gt;&lt;P&gt;ARM Clock set to 1GHz&lt;/P&gt;&lt;P&gt;============================================&lt;BR /&gt; DDR configuration&lt;BR /&gt;BOOT_CFG3[5-4]: 0x00, Single DDR channel.&lt;BR /&gt;DDR type is DDR3 &lt;BR /&gt;Data width: 64, bank num: 8&lt;BR /&gt;Row size: 15, col size: 10&lt;BR /&gt;Chip select CSD0 is used &lt;BR /&gt;Density per chip select: 2048MB &lt;BR /&gt;============================================&lt;/P&gt;&lt;P&gt;Current Temperature: 26&lt;BR /&gt;============================================&lt;/P&gt;&lt;P&gt;DDR Freq: 396 MHz&lt;/P&gt;&lt;P&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) = 0x00190022&lt;BR /&gt; MMDC_MPWLDECTRL1 ch0 (0x021b0810) = 0x00250017&lt;BR /&gt; MMDC_MPWLDECTRL0 ch1 (0x021b480c) = 0x0011001C&lt;BR /&gt; MMDC_MPWLDECTRL1 ch1 (0x021b4810) = 0x0010001E&lt;BR /&gt;Write DQS delay result:&lt;BR /&gt; Write DQS0 delay: 34/256 CK&lt;BR /&gt; Write DQS1 delay: 25/256 CK&lt;BR /&gt; Write DQS2 delay: 23/256 CK&lt;BR /&gt; Write DQS3 delay: 37/256 CK&lt;BR /&gt; Write DQS4 delay: 28/256 CK&lt;BR /&gt; Write DQS5 delay: 17/256 CK&lt;BR /&gt; Write DQS6 delay: 30/256 CK&lt;BR /&gt; Write DQS7 delay: 16/256 CK&lt;/P&gt;&lt;P&gt;Starting DQS gating calibration&lt;BR /&gt;. HC_DEL=0x00000000 result[00]=0x11111111&lt;BR /&gt;. HC_DEL=0x00000001 result[01]=0x11011111&lt;BR /&gt;. HC_DEL=0x00000002 result[02]=0x00000000&lt;BR /&gt;. HC_DEL=0x00000003 result[03]=0x00000000&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;DQS HC delay value low1 = 0x02020202, high1=0x03030303&lt;BR /&gt;DQS HC delay value low2 = 0x02020102, high2=0x03030303&lt;/P&gt;&lt;P&gt;loop ABS offset to get HW_DG_LOW&lt;BR /&gt;. ABS_OFFSET=0x00000000 result[00]=0x11111111&lt;BR /&gt;. ABS_OFFSET=0x00000004 result[01]=0x11011111&lt;BR /&gt;. ABS_OFFSET=0x00000008 result[02]=0x10011111&lt;BR /&gt;. ABS_OFFSET=0x0000000C result[03]=0x10011111&lt;BR /&gt;. ABS_OFFSET=0x00000010 result[04]=0x10011111&lt;BR /&gt;. ABS_OFFSET=0x00000014 result[05]=0x10111111&lt;BR /&gt;. ABS_OFFSET=0x00000018 result[06]=0x10011111&lt;BR /&gt;. ABS_OFFSET=0x0000001C result[07]=0x10111111&lt;BR /&gt;. ABS_OFFSET=0x00000020 result[08]=0x00010111&lt;BR /&gt;. ABS_OFFSET=0x00000024 result[09]=0x00010111&lt;BR /&gt;. ABS_OFFSET=0x00000028 result[0A]=0x00010111&lt;BR /&gt;. ABS_OFFSET=0x0000002C result[0B]=0x00010001&lt;BR /&gt;. ABS_OFFSET=0x00000030 result[0C]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000034 result[0D]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000038 result[0E]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x0000003C result[0F]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000040 result[10]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000044 result[11]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000048 result[12]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x0000004C result[13]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000050 result[14]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000054 result[15]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000058 result[16]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x0000005C result[17]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000060 result[18]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000064 result[19]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000068 result[1A]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x0000006C result[1B]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000070 result[1C]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000074 result[1D]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000078 result[1E]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x0000007C result[1F]=0x00000000&lt;/P&gt;&lt;P&gt;loop ABS offset to get HW_DG_HIGH&lt;BR /&gt;. ABS_OFFSET=0x00000000 result[00]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000004 result[01]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000008 result[02]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x0000000C result[03]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000010 result[04]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000014 result[05]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000018 result[06]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x0000001C result[07]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000020 result[08]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000024 result[09]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000028 result[0A]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x0000002C result[0B]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000030 result[0C]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000034 result[0D]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000038 result[0E]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x0000003C result[0F]=0x00000000&lt;BR /&gt;. ABS_OFFSET=0x00000040 result[10]=0x01000000&lt;BR /&gt;. ABS_OFFSET=0x00000044 result[11]=0x01000000&lt;BR /&gt;. ABS_OFFSET=0x00000048 result[12]=0x01000000&lt;BR /&gt;. ABS_OFFSET=0x0000004C result[13]=0x01001000&lt;BR /&gt;. ABS_OFFSET=0x00000050 result[14]=0x01001010&lt;BR /&gt;. ABS_OFFSET=0x00000054 result[15]=0x01001110&lt;BR /&gt;. ABS_OFFSET=0x00000058 result[16]=0x01001111&lt;BR /&gt;. ABS_OFFSET=0x0000005C result[17]=0x01001111&lt;BR /&gt;. ABS_OFFSET=0x00000060 result[18]=0x11101111&lt;BR /&gt;. ABS_OFFSET=0x00000064 result[19]=0x11101111&lt;BR /&gt;. ABS_OFFSET=0x00000068 result[1A]=0x11101111&lt;BR /&gt;. ABS_OFFSET=0x0000006C result[1B]=0x11111111&lt;BR /&gt;. ABS_OFFSET=0x00000070 result[1C]=0x11111111&lt;BR /&gt;. ABS_OFFSET=0x00000074 result[1D]=0x11111111&lt;BR /&gt;. ABS_OFFSET=0x00000078 result[1E]=0x11111111&lt;BR /&gt;. ABS_OFFSET=0x0000007C result[1F]=0x11111111&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;BYTE 0: &lt;BR /&gt; Start: HC=0x01 ABS=0x30&lt;BR /&gt; End: HC=0x03 ABS=0x54&lt;BR /&gt; Mean: HC=0x02 ABS=0x42&lt;BR /&gt; End-0.5*tCK: HC=0x02 ABS=0x54&lt;BR /&gt; Final: HC=0x02 ABS=0x54&lt;BR /&gt;BYTE 1: &lt;BR /&gt; Start: HC=0x01 ABS=0x2C&lt;BR /&gt; End: HC=0x03 ABS=0x4C&lt;BR /&gt; Mean: HC=0x02 ABS=0x3C&lt;BR /&gt; End-0.5*tCK: HC=0x02 ABS=0x4C&lt;BR /&gt; Final: HC=0x02 ABS=0x4C&lt;BR /&gt;BYTE 2: &lt;BR /&gt; Start: HC=0x01 ABS=0x2C&lt;BR /&gt; End: HC=0x03 ABS=0x50&lt;BR /&gt; Mean: HC=0x02 ABS=0x3E&lt;BR /&gt; End-0.5*tCK: HC=0x02 ABS=0x50&lt;BR /&gt; Final: HC=0x02 ABS=0x50&lt;BR /&gt;BYTE 3: &lt;BR /&gt; Start: HC=0x01 ABS=0x20&lt;BR /&gt; End: HC=0x03 ABS=0x48&lt;BR /&gt; Mean: HC=0x02 ABS=0x34&lt;BR /&gt; End-0.5*tCK: HC=0x02 ABS=0x48&lt;BR /&gt; Final: HC=0x02 ABS=0x48&lt;BR /&gt;BYTE 4: &lt;BR /&gt; Start: HC=0x01 ABS=0x30&lt;BR /&gt; End: HC=0x03 ABS=0x68&lt;BR /&gt; Mean: HC=0x02 ABS=0x4C&lt;BR /&gt; End-0.5*tCK: HC=0x02 ABS=0x68&lt;BR /&gt; Final: HC=0x02 ABS=0x68&lt;BR /&gt;BYTE 5: &lt;BR /&gt; Start: HC=0x00 ABS=0x20&lt;BR /&gt; End: HC=0x03 ABS=0x5C&lt;BR /&gt; Mean: HC=0x01 ABS=0x7D&lt;BR /&gt; End-0.5*tCK: HC=0x02 ABS=0x5C&lt;BR /&gt; Final: HC=0x02 ABS=0x5C&lt;BR /&gt;BYTE 6: &lt;BR /&gt; Start: HC=0x01 ABS=0x08&lt;BR /&gt; End: HC=0x03 ABS=0x3C&lt;BR /&gt; Mean: HC=0x02 ABS=0x22&lt;BR /&gt; End-0.5*tCK: HC=0x02 ABS=0x3C&lt;BR /&gt; Final: HC=0x02 ABS=0x3C&lt;BR /&gt;BYTE 7: &lt;BR /&gt; Start: HC=0x01 ABS=0x20&lt;BR /&gt; End: HC=0x03 ABS=0x5C&lt;BR /&gt; Mean: HC=0x02 ABS=0x3E&lt;BR /&gt; End-0.5*tCK: HC=0x02 ABS=0x5C&lt;BR /&gt; Final: HC=0x02 ABS=0x5C&lt;/P&gt;&lt;P&gt;DQS calibration MMDC0 MPDGCTRL0 = 0x024C0254, MPDGCTRL1 = 0x02480250&lt;/P&gt;&lt;P&gt;DQS calibration MMDC1 MPDGCTRL0 = 0x025C0268, MPDGCTRL1 = 0x025C023C&lt;/P&gt;&lt;P&gt;Note: Array result[] holds the DRAM test result of each byte. &lt;BR /&gt; 0: test pass. 1: test fail &lt;BR /&gt; 4 bits respresent the result of 1 byte. &lt;BR /&gt; result 00000001:byte 0 fail. &lt;BR /&gt; result 00000011:byte 0, 1 fail.&lt;/P&gt;&lt;P&gt;Starting Read calibration...&lt;/P&gt;&lt;P&gt;ABS_OFFSET=0x00000000 result[00]=0x11111111&lt;BR /&gt;ABS_OFFSET=0x04040404 result[01]=0x11111111&lt;BR /&gt;ABS_OFFSET=0x08080808 result[02]=0x11111111&lt;BR /&gt;ABS_OFFSET=0x0C0C0C0C result[03]=0x11111111&lt;BR /&gt;ABS_OFFSET=0x10101010 result[04]=0x11111011&lt;BR /&gt;ABS_OFFSET=0x14141414 result[05]=0x01111001&lt;BR /&gt;ABS_OFFSET=0x18181818 result[06]=0x00011000&lt;BR /&gt;ABS_OFFSET=0x1C1C1C1C result[07]=0x00010000&lt;BR /&gt;ABS_OFFSET=0x20202020 result[08]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x24242424 result[09]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x28282828 result[0A]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x2C2C2C2C result[0B]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x30303030 result[0C]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x34343434 result[0D]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x38383838 result[0E]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x3C3C3C3C result[0F]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x40404040 result[10]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x44444444 result[11]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x48484848 result[12]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x4C4C4C4C result[13]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x50505050 result[14]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x54545454 result[15]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x58585858 result[16]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x5C5C5C5C result[17]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x60606060 result[18]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x64646464 result[19]=0x00000110&lt;BR /&gt;ABS_OFFSET=0x68686868 result[1A]=0x00001111&lt;BR /&gt;ABS_OFFSET=0x6C6C6C6C result[1B]=0x11001111&lt;BR /&gt;ABS_OFFSET=0x70707070 result[1C]=0x11101111&lt;BR /&gt;ABS_OFFSET=0x74747474 result[1D]=0x11101111&lt;BR /&gt;ABS_OFFSET=0x78787878 result[1E]=0x11111111&lt;BR /&gt;ABS_OFFSET=0x7C7C7C7C result[1F]=0x11111111&lt;/P&gt;&lt;P&gt;Byte 0: (0x18 - 0x64), middle value:0x3e&lt;BR /&gt;Byte 1: (0x14 - 0x60), middle value:0x3a&lt;BR /&gt;Byte 2: (0x10 - 0x60), middle value:0x38&lt;BR /&gt;Byte 3: (0x1c - 0x64), middle value:0x40&lt;BR /&gt;Byte 4: (0x20 - 0x74), middle value:0x4a&lt;BR /&gt;Byte 5: (0x18 - 0x6c), middle value:0x42&lt;BR /&gt;Byte 6: (0x18 - 0x68), middle value:0x40&lt;BR /&gt;Byte 7: (0x14 - 0x68), middle value:0x3e&lt;/P&gt;&lt;P&gt;MMDC0 MPRDDLCTL = 0x40383A3E, MMDC1 MPRDDLCTL = 0x3E40424A&lt;/P&gt;&lt;P&gt;Starting Write calibration...&lt;/P&gt;&lt;P&gt;ABS_OFFSET=0x00000000 result[00]=0x11111111&lt;BR /&gt;ABS_OFFSET=0x04040404 result[01]=0x11111111&lt;BR /&gt;ABS_OFFSET=0x08080808 result[02]=0x11111110&lt;BR /&gt;ABS_OFFSET=0x0C0C0C0C result[03]=0x10110010&lt;BR /&gt;ABS_OFFSET=0x10101010 result[04]=0x10110010&lt;BR /&gt;ABS_OFFSET=0x14141414 result[05]=0x10100000&lt;BR /&gt;ABS_OFFSET=0x18181818 result[06]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x1C1C1C1C result[07]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x20202020 result[08]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x24242424 result[09]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x28282828 result[0A]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x2C2C2C2C result[0B]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x30303030 result[0C]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x34343434 result[0D]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x38383838 result[0E]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x3C3C3C3C result[0F]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x40404040 result[10]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x44444444 result[11]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x48484848 result[12]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x4C4C4C4C result[13]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x50505050 result[14]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x54545454 result[15]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x58585858 result[16]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x5C5C5C5C result[17]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x60606060 result[18]=0x00000000&lt;BR /&gt;ABS_OFFSET=0x64646464 result[19]=0x00001000&lt;BR /&gt;ABS_OFFSET=0x68686868 result[1A]=0x00001000&lt;BR /&gt;ABS_OFFSET=0x6C6C6C6C result[1B]=0x00001111&lt;BR /&gt;ABS_OFFSET=0x70707070 result[1C]=0x00001111&lt;BR /&gt;ABS_OFFSET=0x74747474 result[1D]=0x01001111&lt;BR /&gt;ABS_OFFSET=0x78787878 result[1E]=0x01001111&lt;BR /&gt;ABS_OFFSET=0x7C7C7C7C result[1F]=0x11011111&lt;/P&gt;&lt;P&gt;Byte 0: (0x08 - 0x68), middle value:0x38&lt;BR /&gt;Byte 1: (0x14 - 0x68), middle value:0x3e&lt;BR /&gt;Byte 2: (0x0c - 0x68), middle value:0x3a&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;(0x18 - 0x7c), middle value:0x4a&lt;BR /&gt;Byte 6: (0x0c - 0x70), middle value:0x3e&lt;BR /&gt;Byte 7: (0x18 - 0x78), middle value:0x48&lt;/P&gt;&lt;P&gt;MMDC0 MPWRDLCTL = 0x363A3E38,MMDC1 MPWRDLCTL = 0x483E4A46&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; MMDC registers updated from calibration&lt;/P&gt;&lt;P&gt;Write leveling calibration&lt;BR /&gt; MMDC_MPWLDECTRL0 ch0 (0x021b080c) = 0x00190022&lt;BR /&gt; MMDC_MPWLDECTRL1 ch0 (0x021b0810) = 0x00250017&lt;BR /&gt; MMDC_MPWLDECTRL0 ch1 (0x021b480c) = 0x0011001C&lt;BR /&gt; MMDC_MPWLDECTRL1 ch1 (0x021b4810) = 0x0010001E&lt;/P&gt;&lt;P&gt;Read DQS Gating calibration&lt;BR /&gt; MPDGCTRL0 PHY0 (0x021b083c) = 0x024C0254&lt;BR /&gt; MPDGCTRL1 PHY0 (0x021b0840) = 0x02480250&lt;BR /&gt; MPDGCTRL0 PHY1 (0x021b483c) = 0x025C0268&lt;BR /&gt; MPDGCTRL1 PHY1 (0x021b4840) = 0x025C023C&lt;/P&gt;&lt;P&gt;Read calibration&lt;BR /&gt; MPRDDLCTL PHY0 (0x021b0848) = 0x40383A3E&lt;BR /&gt; MPRDDLCTL PHY1 (0x021b4848) = 0x3E40424A&lt;/P&gt;&lt;P&gt;Write calibration&lt;BR /&gt; MPWRDLCTL PHY0 (0x021b0850) = 0x363A3E38&lt;BR /&gt; MPWRDLCTL PHY1 (0x021b4850) = 0x483E4A46&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Success: DDR calibration completed!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="border: 0px; background-color: #ebf4f9; color: #51626f; font-size: 13px; font-family: arial;"&gt;DDR configaration file&lt;BR /&gt;&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/*&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;* Copyright (C) 2013 Boundary Devices&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;*&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;* SPDX-License-Identifier: GPL-2.0+&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;*&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;* Refer doc/README.imximage for more details about how-to configure&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;* and create imximage boot image&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;*&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;* The syntax is taken as close as possible with the kwbimage&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* image version */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;IMAGE_VERSION 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/*2GB configarations for Tengri Stack 2 Rev 2&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;* Boot Device : one of&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;* spi, sd (the board has no nand neither onenand)&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;*/&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;BOOT_FROM spi&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;#define __ASSEMBLY__&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;#include &amp;lt;config.h&amp;gt;&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;#ifdef CONFIG_SECURE_BOOT&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;CSF CONFIG_CSF_SIZE&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;#endif&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;#include "asm/arch/mx6-ddr.h" // DDR Script I/O settings&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;#include "asm/arch/iomux.h"&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;#include "asm/arch/crm_regs.h"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* Kulunu VTOS Change */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020C4018 0x00260324&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* IOMUX configuration: DDR DQS signals */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E05A8 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E05B0 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0524 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E051C 0x00000028&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0518 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E050C 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E05B8 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E05C0 0x00000028&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* IOMUX configuration: DDR DQ signals */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E05AC 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E05B4 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0528 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0520 0x00000028&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0514 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0510 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E05BC 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E05C4 0x00000028&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* IOMUX configuration: DDR control signals */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E056C 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0578 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0588 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0594 0x00000028&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E057C 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0590 0x00003000&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0598 0x00003000&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E058C 0x00000000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E059C 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E05A0 0x00000028&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* IOMUX configuration: DDR group control */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0784 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0788 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0794 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E079C 0x00000028&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E07A0 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E07A4 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E07A8 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0748 0x00000028&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E074C 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0750 0x00020000&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0758 0x00000000&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0774 0x00020000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E078C 0x00000028&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x020E0798 0x000C0000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* MMDC: PHY 1 Read Delay Registers */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B081C 0x33333333&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0820 0x33333333&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0824 0x33333333&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0828 0x33333333&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* MMDC: PHY 2 Read Delay Registers */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B481C 0x33333333&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B4820 0x33333333&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B4824 0x33333333&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B4828 0x33333333&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0018 0x00011740&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* MMMDC: initialization sequence */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B001C 0x00008000&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B000C 0x676B5333 //&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0010 0xB66D8B63&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0014 0x01FF00DB&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B002C 0x000026d2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0030 0x006B1023&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0008 0x00333040&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0004 0x0002002D //new&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0040 0x00000047&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0000 0x841A0000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* MMDC: write mode registers: 2,3,1,0 */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B001C 0x02808032&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B001C 0x00008033&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B001C 0x00048031&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B001C 0x15208030&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* MMDC: Enable ZQ calibration */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B001C 0x04008040&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0800 0xa1390003&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B4800 0xa1390003&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0020 0x00007800&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0818 0x00022227&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B4818 0x00022227&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/*Read DQS Gating calibration*/&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B083C 0x024C0254&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0840 0x02480250&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B483C 0x025C0268&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B4840 0x025C023C&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/*Read calibration*/&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0848 0x40383A3E&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B4848 0x3E40424A&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/*Write calibration*/&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0850 0x363A3E38&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B4850 0x483E4A46&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/*Write leveling calibration*/&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B080C 0x00190022&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0810 0x00250017&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B480C 0x0011001C&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B4810 0x0010001E&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B08B8 0x00000800&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B48B8 0x00000800&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B001C 0x00000000&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021B0404 0x00011006&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4 0x021b0004 0x0002556D&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* set the default clock gate to save power */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4, CCM_CCGR0, 0x00C03F3F&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4, CCM_CCGR1, 0x0030FC03&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4, CCM_CCGR2, 0x0FFFC000&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4, CCM_CCGR3, 0x3FF00000&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4, CCM_CCGR4, 0x00FFF300&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4, CCM_CCGR5, 0x0F0000C3&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4, CCM_CCGR6, 0x000003FF&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* enable AXI cache for VDOA/VPU/IPU */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4, MX6_IOMUXC_GPR4, 0xF00000CF&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;#ifdef CONFIG_MX6QP&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* set IPU AXI-id1 Qos=0x1 AXI-id0/2/3 Qos=0x7 */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4, MX6_IOMUXC_GPR6, 0x77177717&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4, MX6_IOMUXC_GPR7, 0x77177717&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;#else&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4, MX6_IOMUXC_GPR6, 0x007F007F&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4, MX6_IOMUXC_GPR7, 0x007F007F&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;#endif&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;/*&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;* Setup CCM_CCOSR register as follows:&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;*&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;* cko1_en = 1 --&amp;gt; CKO1 enabled&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;* cko1_div = 111 --&amp;gt; divide by 8&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;* cko1_sel = 1011 --&amp;gt; ahb_clk_root&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;*&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;* This sets CKO1 at ahb_clk_root/8 = 132/8 = 16.5 MHz&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;*/&lt;/SPAN&gt;&lt;BR style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;" /&gt;&lt;SPAN style="color: #252c2f; background-color: #ebf4f9; font-size: 13px;"&gt;DATA 4, CCM_CCOSR, 0x000000fb&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Aug 2018 16:05:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829452#M127445</guid>
      <dc:creator>peteramond</dc:creator>
      <dc:date>2018-08-07T16:05:44Z</dc:date>
    </item>
    <item>
      <title>Re: Unexpected behavior of custom hardware design</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829453#M127446</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&lt;SPAN style="font-family: inherit;"&gt;Any dependency on memory calibration on humidity or moisture ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;no&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One can tweak signal integrity, described in sect.2.1.3 SI (Signal Integrity) document below&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-101708"&gt;Freescale i.MX6 DRAM Port Application Guide-DDR3&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also interpretaion below suggests that results should be closed by all "1"&lt;/P&gt;&lt;P&gt;at start and end (high/low rows), sect.3.1.3 Read and Write Delay Calibrations p.14&lt;/P&gt;&lt;P&gt;Which is not the case in your results (last row is not closed by all "1"):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Starting Write calibration...&lt;BR /&gt;ABS_OFFSET=0x00000000 result[00]=0x11111111&lt;BR /&gt;ABS_OFFSET=0x04040404 result[01]=0x11111111&lt;BR /&gt;ABS_OFFSET=0x08080808 result[02]=0x11111110&lt;BR /&gt;ABS_OFFSET=0x0C0C0C0C result[03]=0x10110010&lt;BR /&gt;..&lt;BR /&gt;ABS_OFFSET=0x78787878 result[1E]=0x01001111&lt;BR /&gt;ABS_OFFSET=0x7C7C7C7C result[1F]=0x11011111&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this may be due to unsatisfactory ddr layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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>Tue, 07 Aug 2018 23:32:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829453#M127446</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2018-08-07T23:32:39Z</dc:date>
    </item>
    <item>
      <title>Re: Unexpected behavior of custom hardware design</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829454#M127447</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear&amp;nbsp;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/igorpadykov"&gt;igorpadykov&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thank for your kind reply. I'm new to custom hardware designs and I'm going to scale up my custom hardware which is functioning well with few boards. I think you have answered many of my questions last year and many thanks for your help.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But still I'm having trouble with my hardware which is really difficult to figure out as some boards are working really well and some are not (From 50 units of production). When I do memory calibration those are really looks like same. But although many boards have similar calibration results some are working really well and some are not (As an example lets take 10 boards, only 4 are working really well)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please go through with following calibration results of few boards. Please follow the pastebin links.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://pastebin.com/iQPt00er"&gt;Board 1&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://pastebin.com/DJr3HpdR"&gt;Board 2&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://pastebin.com/a6J6yuzZ"&gt;Board 3&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Processor - i.MAX6Q&lt;/P&gt;&lt;P&gt;Memory -&amp;nbsp;MT41K256M16TW-107 IT:P&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From above 3 boards Board 1 and Board 2 are working really well and Board 3 is getting kernel panics while running same application on 3 boards. Can you help me to figure out any clue from this results from above 3 boards ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did 50 units of production 6 months ago and only 30 were worked properly. But that is with Alliance memory AS4C256M16D3A-12BCN. So will this be an issue of the design ? If this is an issue of the ddr layout or whole design why some boards are working really well ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Will this be an issue of the manufacturing side ? Then how this could be happen with the same production ? Because some are working and some are not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't have much experience with mass production and but I like to move forward after learning and correcting this issues.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I must be thankful to you if you will kindly reply me soon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thanks and regards,&lt;/P&gt;&lt;P&gt;Peter.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Aug 2018 15:14:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829454#M127447</guid>
      <dc:creator>peteramond</dc:creator>
      <dc:date>2018-08-09T15:14:42Z</dc:date>
    </item>
    <item>
      <title>Re: Unexpected behavior of custom hardware design</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829455#M127448</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;one can try to tweak drive strength, it can be changed both for i.mx and memory.&lt;/P&gt;&lt;P&gt;Also may be useful to tect with linux memory tester, it also stresses power supplies.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Aug 2018 01:54:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829455#M127448</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2018-08-10T01:54:16Z</dc:date>
    </item>
    <item>
      <title>Re: Unexpected behavior of custom hardware design</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829456#M127449</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/igorpadykov"&gt;igorpadykov&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What can you say about above 3 boards which I have given calibration log ? Any possibility to get any clue from the above calibration results ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Board 1 and Board 2 are working well. But board 3 is not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;Peter.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Aug 2018 05:56:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829456#M127449</guid>
      <dc:creator>peteramond</dc:creator>
      <dc:date>2018-08-10T05:56:27Z</dc:date>
    </item>
    <item>
      <title>Re: Unexpected behavior of custom hardware design</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829457#M127450</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV class=""&gt;&lt;P&gt;Hi Peter&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;could you try with latest v.2.9 rev.tool&lt;/P&gt;&lt;A href="https://community.nxp.com/docs/DOC-105652"&gt;i.MX6/7 DDR Stress Test Tool V2.90&lt;/A&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;also there is faq on both pages which may be helpful for understanding its results :&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;A href="https://community.nxp.com/docs/DOC-96412"&gt;i.MX6 DDR Stress Test Tool V1.0.3&lt;/A&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;BR /&gt;&lt;P&gt;&amp;nbsp;Best regards&lt;BR /&gt;igor&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Aug 2018 10:08:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829457#M127450</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2018-08-10T10:08:43Z</dc:date>
    </item>
    <item>
      <title>Re: Unexpected behavior of custom hardware design</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829458#M127451</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/igorpadykov"&gt;igorpadykov&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are the Drive Strength change and Signal integrity are same ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I do signal integrity changes as follow.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do we have any other way to change drive strength and signal integrity in uboot level ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/67286iFD7BEF279A9B7139/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Aug 2018 09:19:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829458#M127451</guid>
      <dc:creator>peteramond</dc:creator>
      <dc:date>2018-08-21T09:19:22Z</dc:date>
    </item>
    <item>
      <title>Re: Unexpected behavior of custom hardware design</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829459#M127452</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;Are the Drive Strength change and Signal integrity are same ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please check presentation IO Buffer Modeling Considerations for High Speed Buses:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.nxp.com/files-static/training_pdf/VFTF09_AN112.pdf" title="https://www.nxp.com/files-static/training_pdf/VFTF09_AN112.pdf"&gt;https://www.nxp.com/files-static/training_pdf/VFTF09_AN112.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;gt;Do we have any other way to change drive strength and signal integrity in uboot level ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;no&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Aug 2018 10:13:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Unexpected-behavior-of-custom-hardware-design/m-p/829459#M127452</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2018-08-21T10:13:26Z</dc:date>
    </item>
  </channel>
</rss>

