<?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>Layerscape中的主题 How to enable DDR ECC in Uboot and Linux (LS1020A)</title>
    <link>https://community.nxp.com/t5/Layerscape/How-to-enable-DDR-ECC-in-Uboot-and-Linux-LS1020A/m-p/515115#M1227</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;We are in need of enabling DDR ECC in our LS1020A based product. I have enabled ECC in DDR_SDRAM_CFG register, but when i boot the linux i see that ecc is disabled.&lt;/P&gt;&lt;P&gt;"&lt;STRONG&gt;[&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.000000] Memory policy: ECC disabled, Data cache writealloc".&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Can someone tell me how to enable ECC in the Linux pls?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Nagi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 06 Jun 2016 11:23:19 GMT</pubDate>
    <dc:creator>nagireddychitta</dc:creator>
    <dc:date>2016-06-06T11:23:19Z</dc:date>
    <item>
      <title>How to enable DDR ECC in Uboot and Linux (LS1020A)</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-enable-DDR-ECC-in-Uboot-and-Linux-LS1020A/m-p/515115#M1227</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;We are in need of enabling DDR ECC in our LS1020A based product. I have enabled ECC in DDR_SDRAM_CFG register, but when i boot the linux i see that ecc is disabled.&lt;/P&gt;&lt;P&gt;"&lt;STRONG&gt;[&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.000000] Memory policy: ECC disabled, Data cache writealloc".&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Can someone tell me how to enable ECC in the Linux pls?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Nagi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jun 2016 11:23:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-enable-DDR-ECC-in-Uboot-and-Linux-LS1020A/m-p/515115#M1227</guid>
      <dc:creator>nagireddychitta</dc:creator>
      <dc:date>2016-06-06T11:23:19Z</dc:date>
    </item>
    <item>
      <title>Re: How to enable DDR ECC in Uboot and Linux (LS1020A)</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-enable-DDR-ECC-in-Uboot-and-Linux-LS1020A/m-p/515116#M1228</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Linux uses the memory as it was defined in u-boot. Try to add into .h file following construction that is typically used with ECC:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define CONFIG_DDR_ECC&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_DDR_ECC&lt;/P&gt;&lt;P&gt;#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER&lt;/P&gt;&lt;P&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;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Bulat&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jun 2016 12:32:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-enable-DDR-ECC-in-Uboot-and-Linux-LS1020A/m-p/515116#M1228</guid>
      <dc:creator>Bulat</dc:creator>
      <dc:date>2016-06-06T12:32:03Z</dc:date>
    </item>
    <item>
      <title>Re: How to enable DDR ECC in Uboot and Linux (LS1020A)</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-enable-DDR-ECC-in-Uboot-and-Linux-LS1020A/m-p/515117#M1229</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Bulat,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the reply.&lt;/P&gt;&lt;P&gt;I have enabled required bits in the memory controller related registers which are defined as macros in my uboot header file for my product. I can confirm that required registers are holding this configuration at UBoot and Linux level as well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, i see that linux level ecc is "on" only if we disable &lt;STRONG style="color: #222222; font-size: 12.8px; font-family: arial, sans-serif;"&gt;CONFIG_ARM_LPAE &lt;/STRONG&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;in Linux config and pass&lt;/SPAN&gt;&lt;STRONG style="color: #222222; font-size: 12.8px; font-family: arial, sans-serif;"&gt; "ecc=on" &lt;/STRONG&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;as command line parameter from u-boot to linux. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;This configuration forces ARMv7 not to access physical memory beyond 4GB. I am not getting any clue yet for the need of disabling CONFIG_ARM_LPAE to enable &lt;STRONG&gt;ecc&lt;/STRONG&gt; in linux.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"&gt;LPAE feature seems to be introduced from ARMv6 onwards, but i believe there is some strong reason why we need to disable LPAE to enable ecc in ARMv7 systems.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #222222; font-size: 12.8px; font-family: arial, sans-serif;"&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #222222; font-size: 12.8px; font-family: arial, sans-serif;"&gt;Pls share if you are aware of any documentation which talks about this.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #222222; font-size: 12.8px; font-family: arial, sans-serif;"&gt;Best Regards,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #222222; font-size: 12.8px; font-family: arial, sans-serif;"&gt;Nagi&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Jun 2016 14:02:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-enable-DDR-ECC-in-Uboot-and-Linux-LS1020A/m-p/515117#M1229</guid>
      <dc:creator>nagireddychitta</dc:creator>
      <dc:date>2016-06-07T14:02:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to enable DDR ECC in Uboot and Linux (LS1020A)</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-enable-DDR-ECC-in-Uboot-and-Linux-LS1020A/m-p/515118#M1230</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One linux expert told me that&amp;nbsp; &lt;STRONG&gt;"Memory policy: ECC disabled, Data cache writealloc" &lt;/STRONG&gt;does not relate to DDR memory at all. If you see that ECC is enabled in the DDR controller, it works in linux regardless of the mentioned report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The report rather relates to the cache feature and refers to ARMv6. Caches of ARMv7 (both L1 and L2) support ECC, as written in the Manual "single-bit ECC correction is always enabled and is handled silently"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So basically you can simply ignore the report, treat it as an incorrect info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Bulat&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Jun 2016 07:40:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-enable-DDR-ECC-in-Uboot-and-Linux-LS1020A/m-p/515118#M1230</guid>
      <dc:creator>Bulat</dc:creator>
      <dc:date>2016-06-08T07:40:36Z</dc:date>
    </item>
  </channel>
</rss>

