<?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: Vybrid: Problem with DDR3 gate training in Vybrid Processors</title>
    <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-Problem-with-DDR3-gate-training/m-p/823137#M5933</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear NXP community,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could anyone provide any feedback on this question?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;Łukasz&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 21 Jan 2019 07:47:43 GMT</pubDate>
    <dc:creator>lukaszmajewski</dc:creator>
    <dc:date>2019-01-21T07:47:43Z</dc:date>
    <item>
      <title>Vybrid: Problem with DDR3 gate training</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-Problem-with-DDR3-gate-training/m-p/823136#M5932</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is a somewhat a follow up question for:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/395323"&gt;Vybrid: About DDR leveling feature on DDRMC.&lt;/A&gt;&amp;nbsp; [1]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've managed to run the RDLVL training (and receive results similar to expected one).&lt;/P&gt;&lt;P&gt;Unfortunately, I do not have access to DDRv tool.&lt;/P&gt;&lt;P&gt;I do use "non fly-by topology" - only single DDR3 x16 (512 MiB) memory is used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is with RDLVL_GTDL training.&lt;/P&gt;&lt;P&gt;When I do follow the "VFxxx Controller Reference Manual, Rev. 0, 10/2016", page 1597,&amp;nbsp;10.1.6.16.3.1&lt;BR /&gt;Software Gate Training in MC Evaluation Mode, point 3:&lt;/P&gt;&lt;P&gt;Add a 1⁄2 clock cycle increment to the DQS gate by setting&amp;nbsp;PHY02[EN_HALF_CAS], PHY18[EN_HALF_CAS], PHY02[GATE_CFG] and PHY18[GATE_CFG] = 1.&lt;/P&gt;&lt;P&gt;GTDL: ---&amp;gt; RDLVL_GTDL_0&lt;BR /&gt;BITMAP [0x3f07f990]:&lt;BR /&gt;1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0&lt;BR /&gt;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;BR /&gt;1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0&lt;BR /&gt;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;BR /&gt;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;BR /&gt;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;BR /&gt;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;BR /&gt;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;BR /&gt;Found delay: 64&lt;/P&gt;&lt;P&gt;(First bit is the response value when 0x0 is written to&amp;nbsp;&lt;SPAN&gt;RDLVL_GTDL_DL_0, then&amp;nbsp;the 0x1 is written and so on)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The found delay is 64 (0x40). Which according to [1] shall be regarded as 0 to be written to&lt;/P&gt;&lt;P&gt;CR106: RDLVL_GTDL_DL_0 (zero is the default value anyway).&lt;/P&gt;&lt;P&gt;Why this is true?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately, after _any_ write to CR106 register (after first setting&amp;nbsp;&lt;SPAN&gt;EN_HALF_CAS=&lt;SPAN&gt;GATE_CFG=1)&lt;/SPAN&gt;&lt;/SPAN&gt; the DDR3 seems to&amp;nbsp;get misconfigured and the board hangs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I skip the before mentioned step 3 (adding 1/2 clock), I do receive:&lt;/P&gt;&lt;P&gt;GTDL: ====================== &lt;BR /&gt;GTDL: PHY ungate to read DQS (GTDL) &lt;BR /&gt;GTDL: RDLVL_GTDL_DL_0_DFL: 0x0 &lt;BR /&gt;GTDL: RDLVL_GTDL_DL_1_DFL: 0x0 &lt;BR /&gt;GTDL: PHY_RDLVL_RES: 0x40 &lt;BR /&gt;GTDL: PHY_RDLV_LOAD: 0x70&lt;BR /&gt;GTDL: PHY_RDLV_DLL: 0x30 &lt;BR /&gt;GTDL: PHY_RDLV_EN: 0x30&lt;BR /&gt;GTDL: PHY_RDLV_RR: 0x40 &lt;BR /&gt;GTDL: PHY_RDLV_RESP: 0x40&lt;BR /&gt;GTDL: PHY02_EN_HALF_CAS: 0x0&lt;BR /&gt;GTDL: PHY02_RD_DL_SET: 0x4&lt;BR /&gt;GTDL: PHY18_EN_HALF_CAS: 0x0&lt;BR /&gt;GTDL: PHY18_RD_DL_SET: 0x4&lt;BR /&gt;GTDL: SW_LVL_MODE: 0x3&lt;/P&gt;&lt;P&gt;GTDL: ---&amp;gt; RDLVL_GTDL_0&lt;BR /&gt;BITMAP [0x3f07f990]:&lt;BR /&gt;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;BR /&gt;0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0&lt;BR /&gt;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;BR /&gt;0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1&lt;BR /&gt;1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1&lt;BR /&gt;1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1&lt;BR /&gt;1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1&lt;BR /&gt;1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1&lt;/P&gt;&lt;P&gt;Found delay: 35&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With this "training" the board doesn't hang (but I'm not sure if I want to use results from a wrong procedure).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could somebody explain me why I may have an issue when following the guidelines from manual?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe my DDRMC is wrongly setup and works by chance?&lt;/P&gt;&lt;P&gt;For example the PHY02 -&amp;gt;&amp;nbsp;RD_DL_SET = 0x5 (not 0x4 recommended);&amp;nbsp;WR_DB_ADJ = 0x1 (not 0x0 recommended).,&lt;/P&gt;&lt;P&gt;Also the CR126's =&amp;gt; DDRMC_CR126_PHY_RDLAT(11) looks a bit too high (according to [1]).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The controller configuration values and procedure:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://git.denx.de/?p=u-boot.git;a=blob;f=board/phytec/pcm052/pcm052.c;h=f988af2abc08b2d7d30b49673a95c5884f65109a;hb=HEAD#l86" title="http://git.denx.de/?p=u-boot.git;a=blob;f=board/phytec/pcm052/pcm052.c;h=f988af2abc08b2d7d30b49673a95c5884f65109a;hb=HEAD#l86"&gt;git.denx.de Git - u-boot.git/blob - board/phytec/pcm052/pcm052.c&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/mach-imx/ddrmc-vf610.c;h=3d7da1c25eec57957ee426303a21d552806bbd88;hb=HEAD#l75" title="http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/mach-imx/ddrmc-vf610.c;h=3d7da1c25eec57957ee426303a21d552806bbd88;hb=HEAD#l75"&gt;git.denx.de Git - u-boot.git/blob - arch/arm/mach-imx/ddrmc-vf610.c&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Łukasz&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Nov 2018 11:39:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-Problem-with-DDR3-gate-training/m-p/823136#M5932</guid>
      <dc:creator>lukaszmajewski</dc:creator>
      <dc:date>2018-11-30T11:39:41Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid: Problem with DDR3 gate training</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-Problem-with-DDR3-gate-training/m-p/823137#M5933</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear NXP community,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could anyone provide any feedback on this question?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;Łukasz&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Jan 2019 07:47:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-Problem-with-DDR3-gate-training/m-p/823137#M5933</guid>
      <dc:creator>lukaszmajewski</dc:creator>
      <dc:date>2019-01-21T07:47:43Z</dc:date>
    </item>
  </channel>
</rss>

