<?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: DDR ECC checking at u-boot for LS1046ardb in Layerscape</title>
    <link>https://community.nxp.com/t5/Layerscape/DDR-ECC-checking-at-u-boot-for-LS1046ardb/m-p/711323#M2886</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A _jive_internal="true" data-content-finding="Community" data-userid="303475" data-username="sreeragag" href="https://community.nxp.com/people/sreeragag"&gt;Sreerag A G&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In u-boot, &lt;SPAN&gt;you could define CONFIG_FSL_DDR_BIST to enable built-in memory test in the header file include/configs/ls1046ardb.h.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;#define CONFIG_DDR_ECC&lt;BR /&gt;#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER&lt;BR /&gt;#define CONFIG_MEM_INIT_VALUE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xdeadbeef&lt;BR /&gt;&lt;STRONG&gt;#define CONFIG_FSL_DDR_BIST&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* enable built-in memory test */&lt;/STRONG&gt;&lt;BR /&gt;#ifndef CONFIG_SPL_BUILD&lt;BR /&gt;#define CONFIG_FSL_DDR_INTERACTIVE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Interactive debugging */&lt;BR /&gt;#endif&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Please refer to the following section in drivers/ddr/fsl/fsl_ddr_gen4.c.&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#ifdef CONFIG_FSL_DDR_BIST&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define BIST_PATTERN1&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define BIST_PATTERN2&amp;nbsp;&amp;nbsp; 0x0&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define BIST_CR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80010000&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define BIST_CR_EN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000000&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define BIST_CR_STAT&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000001&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define CTLR_INTLV_MASK 0x20000000&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Perform build-in test on memory. Three-way interleaving is not yet&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * supported by this code. */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (getenv_f("ddr_bist", buffer, CONFIG_SYS_CBSIZE) &amp;gt;= 0) {&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; puts("Running BIST test. This will take a while...");&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;...&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mtcr = BIST_CR;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddr_out32(&amp;amp;ddr-&amp;gt;mtcr, mtcr);&lt;/STRONG&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding DDRv problem, please make sure there is valid RCW on the target board, QCVS tool cannot support hard-coded RCW. If the target board is empty, please refer to the first section in &lt;A href="https://community.nxp.com/docs/DOC-331981"&gt;Use CodeWarrior for ARMv8 to Debug U-boot and Linux Kernel and Bring up Bare Boards&lt;/A&gt;&amp;nbsp; to program RCW on the target board.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Please refer to DDRv user manual &lt;A class="link-titled" href="https://www.nxp.com/docs/en/user-guide/QCVS_DDR_User_Guide.pdf" title="https://www.nxp.com/docs/en/user-guide/QCVS_DDR_User_Guide.pdf"&gt;https://www.nxp.com/docs/en/user-guide/QCVS_DDR_User_Guide.pdf&lt;/A&gt; .&lt;/P&gt;&lt;P&gt;&amp;nbsp;Please refer to &lt;A href="https://community.nxp.com/docs/DOC-333349"&gt;DDR Controller Configuration on LS2085/LS2080 Bringing up&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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>Wed, 12 Sep 2018 10:24:34 GMT</pubDate>
    <dc:creator>yipingwang</dc:creator>
    <dc:date>2018-09-12T10:24:34Z</dc:date>
    <item>
      <title>DDR ECC checking at u-boot for LS1046ardb</title>
      <link>https://community.nxp.com/t5/Layerscape/DDR-ECC-checking-at-u-boot-for-LS1046ardb/m-p/711321#M2884</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have been trying&amp;nbsp;for ECC checking in DDR for LS1046ardb from u-boot to access DDR registers. When I tried for&amp;nbsp;writing to&amp;nbsp;DDR_MTCR, memory write did&amp;nbsp;not change the register values in the&amp;nbsp;&lt;SPAN&gt;DDR_MTCR. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;How can we configure the DDR testing registers from u-boot?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Also I tried with DDRv tool in the CodeWarrior. But that didn't work. The connection with CWTAP is not able to establish. How to get CWTAP connection proper? I changed&amp;nbsp;the frequency of JTAG to 16000. Tried for both hard coded and QSPI boot options with JTAG.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Aug 2017 06:24:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/DDR-ECC-checking-at-u-boot-for-LS1046ardb/m-p/711321#M2884</guid>
      <dc:creator>sreeragag</dc:creator>
      <dc:date>2017-08-30T06:24:55Z</dc:date>
    </item>
    <item>
      <title>Re: DDR ECC checking at u-boot for LS1046ardb</title>
      <link>https://community.nxp.com/t5/Layerscape/DDR-ECC-checking-at-u-boot-for-LS1046ardb/m-p/711322#M2885</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Customers need the ability to test do ECC testing or unit tests to test for machine check errors.&amp;nbsp; Does NXP have any tests to validate the ECC by inducing a DDR error?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Sep 2018 21:44:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/DDR-ECC-checking-at-u-boot-for-LS1046ardb/m-p/711322#M2885</guid>
      <dc:creator>tracysmith</dc:creator>
      <dc:date>2018-09-07T21:44:19Z</dc:date>
    </item>
    <item>
      <title>Re: DDR ECC checking at u-boot for LS1046ardb</title>
      <link>https://community.nxp.com/t5/Layerscape/DDR-ECC-checking-at-u-boot-for-LS1046ardb/m-p/711323#M2886</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A _jive_internal="true" data-content-finding="Community" data-userid="303475" data-username="sreeragag" href="https://community.nxp.com/people/sreeragag"&gt;Sreerag A G&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In u-boot, &lt;SPAN&gt;you could define CONFIG_FSL_DDR_BIST to enable built-in memory test in the header file include/configs/ls1046ardb.h.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;#define CONFIG_DDR_ECC&lt;BR /&gt;#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER&lt;BR /&gt;#define CONFIG_MEM_INIT_VALUE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xdeadbeef&lt;BR /&gt;&lt;STRONG&gt;#define CONFIG_FSL_DDR_BIST&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* enable built-in memory test */&lt;/STRONG&gt;&lt;BR /&gt;#ifndef CONFIG_SPL_BUILD&lt;BR /&gt;#define CONFIG_FSL_DDR_INTERACTIVE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Interactive debugging */&lt;BR /&gt;#endif&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Please refer to the following section in drivers/ddr/fsl/fsl_ddr_gen4.c.&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#ifdef CONFIG_FSL_DDR_BIST&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define BIST_PATTERN1&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define BIST_PATTERN2&amp;nbsp;&amp;nbsp; 0x0&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define BIST_CR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80010000&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define BIST_CR_EN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000000&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define BIST_CR_STAT&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000001&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define CTLR_INTLV_MASK 0x20000000&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Perform build-in test on memory. Three-way interleaving is not yet&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * supported by this code. */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (getenv_f("ddr_bist", buffer, CONFIG_SYS_CBSIZE) &amp;gt;= 0) {&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; puts("Running BIST test. This will take a while...");&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;...&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mtcr = BIST_CR;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddr_out32(&amp;amp;ddr-&amp;gt;mtcr, mtcr);&lt;/STRONG&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding DDRv problem, please make sure there is valid RCW on the target board, QCVS tool cannot support hard-coded RCW. If the target board is empty, please refer to the first section in &lt;A href="https://community.nxp.com/docs/DOC-331981"&gt;Use CodeWarrior for ARMv8 to Debug U-boot and Linux Kernel and Bring up Bare Boards&lt;/A&gt;&amp;nbsp; to program RCW on the target board.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Please refer to DDRv user manual &lt;A class="link-titled" href="https://www.nxp.com/docs/en/user-guide/QCVS_DDR_User_Guide.pdf" title="https://www.nxp.com/docs/en/user-guide/QCVS_DDR_User_Guide.pdf"&gt;https://www.nxp.com/docs/en/user-guide/QCVS_DDR_User_Guide.pdf&lt;/A&gt; .&lt;/P&gt;&lt;P&gt;&amp;nbsp;Please refer to &lt;A href="https://community.nxp.com/docs/DOC-333349"&gt;DDR Controller Configuration on LS2085/LS2080 Bringing up&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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>Wed, 12 Sep 2018 10:24:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/DDR-ECC-checking-at-u-boot-for-LS1046ardb/m-p/711323#M2886</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2018-09-12T10:24:34Z</dc:date>
    </item>
  </channel>
</rss>

