# LX2162A Clearfog ECC support

**URL:** <https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666>\
**Category:** NXP LX2160\
**Created:** [June 16, 2023, 1:09pm UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666 "2023-06-16T13:09:50Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![dstepanov](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/dstepanov/32/144_2.png) [@dstepanov](https://community.solid-run.com/u/dstepanov)\
**Post date:** [June 16, 2023, 1:09pm UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/1 "2023-06-16T13:09:50Z")

</div>

Hey! I’m using LX2162A Clearfog which seems to support DDR ECC functionality.  
But after booting prebuild SolidRun’s image I see in log messages that ECC is turned off.

```auto
Model: SolidRun LX2162A based System On Module
Board: LX2162AE Rev2.0-CEX7, eMMC
SERDES1 Reference: Clock1 = 161.13MHz Clock2 = 100MHz
SERDES2 Reference: Clock1 = 100MHz Clock2 = 100MHz
SERDES3 Reference: Clock1 = 100MHz Clock2 = 100Hz
DRAM: 7.9 GiB
DDR 7.9 GiB (DDR4, 64-bit, CL=22, ECC off)

```

Could you please clarify how to enable ECC functionality on LX2162A?

---

<div class="post-metadata">

**Author:** ![jnettlet](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/jnettlet/32/62_2.png) [@jnettlet](https://community.solid-run.com/u/jnettlet)\
**Post date:** [June 18, 2023, 5:37am UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/2 "2023-06-18T05:37:08Z")

</div>

The LX2162a SOM supports ECC but by default our SOMs are not produced in this configuration. ECC memory support can be ordered as an option at quantity.

---

<div class="post-metadata">

**Author:** ![dstepanov](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/dstepanov/32/144_2.png) [@dstepanov](https://community.solid-run.com/u/dstepanov)\
**Post date:** [June 19, 2023, 1:37pm UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/3 "2023-06-19T13:37:55Z")

</div>

My LX2162A SOM has 9 DDR chip installed on it. I guess that 8 chips for 8GB DDR and one for ECC support? Or besides the 9th DDR chip for ECC there is another HW configuration that is required for ECC support?

---

<div class="post-metadata">

**Author:** ![dstepanov](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/dstepanov/32/144_2.png) [@dstepanov](https://community.solid-run.com/u/dstepanov)\
**Post date:** [June 22, 2023, 8:11am UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/4 "2023-06-22T08:11:45Z")

</div>

@jnettlet - Looks like SPD EEPROM installed on LX2162A SOM contains configuration with disabled ECC despite that SOM supports ECC (there is 9th DDR chip installed). Is it possible to get binary for SPD EEPROM with enabled ECC support?

---

<div class="post-metadata">

**Author:** ![jnettlet](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/jnettlet/32/62_2.png) [@jnettlet](https://community.solid-run.com/u/jnettlet)\
**Post date:** [June 22, 2023, 8:15am UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/5 "2023-06-22T08:15:54Z")

</div>

I have forwarded the question to the hardware team regarding the current ECC testing status of the SOM. It is possible that the hardware was enabled in early production but the full ECC testing has not been verified.

---

<div class="post-metadata">

**Author:** ![dstepanov](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/dstepanov/32/144_2.png) [@dstepanov](https://community.solid-run.com/u/dstepanov)\
**Post date:** [June 22, 2023, 8:23am UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/6 "2023-06-22T08:23:20Z")

</div>

@jnettlet - thanks for reply! Will wait for the answer!

---

<div class="post-metadata">

**Author:** ![dstepanov](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/dstepanov/32/144_2.png) [@dstepanov](https://community.solid-run.com/u/dstepanov)\
**Post date:** [June 30, 2023, 8:00am UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/7 "2023-06-30T08:00:50Z")

</div>

@jnettlet - any news on that? Thanks

---

<div class="post-metadata">

**Author:** ![jnettlet](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/jnettlet/32/62_2.png) [@jnettlet](https://community.solid-run.com/u/jnettlet)\
**Post date:** [June 30, 2023, 9:45am UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/8 "2023-06-30T09:45:34Z")

</div>

So ECC support is available but it is currently disabled by default. We are discussing internally how we want to enable it. We should have something ready next week.

---

<div class="post-metadata">

**Author:** ![dstepanov](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/dstepanov/32/144_2.png) [@dstepanov](https://community.solid-run.com/u/dstepanov)\
**Post date:** [June 30, 2023, 10:01am UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/9 "2023-06-30T10:01:23Z")

</div>

Thanks! Will wait for the solution!

---

<div class="post-metadata">

**Author:** ![dstepanov](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/dstepanov/32/144_2.png) [@dstepanov](https://community.solid-run.com/u/dstepanov)\
**Post date:** [July 11, 2023, 8:47am UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/10 "2023-07-11T08:47:27Z")

</div>

@jnettlet - have you got any solution for ECC support? Thanks

---

<div class="post-metadata">

**Author:** ![jnettlet](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/jnettlet/32/62_2.png) [@jnettlet](https://community.solid-run.com/u/jnettlet)\
**Post date:** [July 11, 2023, 3:02pm UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/11 "2023-07-11T15:02:10Z")

</div>

I haven’t heard back from the development team that is working on this platform. I will check this week.

---

<div class="post-metadata">

**Author:** ![Improvisor40](https://avatars.discourse-cdn.com/v4/letter/i/ee7513/32.png) [@Improvisor40](https://community.solid-run.com/u/Improvisor40)\
**Post date:** [July 28, 2023, 9:50pm UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/12 "2023-07-28T21:50:55Z")

</div>

Weird, its said in these boards description that they do support ecc ram,  
i mean it’s controller is supposed to be into the soc and not the pcb?.  
So why turn it off?.  
If it can be left optional

---

<div class="post-metadata">

**Author:** ![jnettlet](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/jnettlet/32/62_2.png) [@jnettlet](https://community.solid-run.com/u/jnettlet)\
**Post date:** [July 29, 2023, 4:16am UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/13 "2023-07-29T04:16:33Z")

</div>

There is no runtime mechanism to turn on and off ECC memory, although theoretically this could be possible. ECC was disabled in the default builds for performance reasons.

---

<div class="post-metadata">

**Author:** ![Improvisor40](https://avatars.discourse-cdn.com/v4/letter/i/ee7513/32.png) [@Improvisor40](https://community.solid-run.com/u/Improvisor40)\
**Post date:** [July 29, 2023, 5:42am UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/14 "2023-07-29T05:42:08Z")

</div>

Well its probably gonna be a top thing for those using it as a nas system or web server.  
Or maybe a data crunching machine (damn the possibilities are endless).

---

<div class="post-metadata">

**Author:** ![jnettlet](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/jnettlet/32/62_2.png) [@jnettlet](https://community.solid-run.com/u/jnettlet)\
**Post date:** [July 29, 2023, 6:08am UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/15 "2023-07-29T06:08:42Z")

</div>

That is why support for ECC was included in the hardware. However I don’t have access to that hardware platform so the hardware enablement team working on the project will need to make the necessary changes to the BSP

---

<div class="post-metadata">

**Author:** ![morozzz](https://avatars.discourse-cdn.com/v4/letter/m/7ba0ec/32.png) [@morozzz](https://community.solid-run.com/u/morozzz)\
**Post date:** [September 7, 2023, 11:45am UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/16 "2023-09-07T11:45:50Z")

</div>

Hello!  
I was able to enable the ECC support on the LX2162A SOM (9 DDR4 chips variant) by modifying the DDR SPD data, replacing byte 13 “Module Memory Bus Width” of it with the 0x0B value (instead of the 0x03 value that was there previously). After this modification, it looks like the ECC feature appears enabled in all boot stages; both ATF BL2, U-Boot, and the Linux EDAC module report that the ECC feature is enabled.  
But still, to be completely sure that it will work correctly, I’d like to know: is SPD data modification sufficient for proper activation of the ECC feature? Is any additional software or hardware modification required for the DDR ECC feature to work properly? Is the difference between the SOMs produced with ECC support and without it only in the SPD data contents?

---

<div class="post-metadata">

**Author:** ![jnettlet](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/jnettlet/32/62_2.png) [@jnettlet](https://community.solid-run.com/u/jnettlet)\
**Post date:** [September 7, 2023, 6:50pm UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/17 "2023-09-07T18:50:19Z")

</div>

Yes that is all that should be required. This is all driven by the memory initialization and calibration routines in TF-A which are configured through the SPD data.

---

<div class="post-metadata">

**Author:** ![morozzz](https://avatars.discourse-cdn.com/v4/letter/m/7ba0ec/32.png) [@morozzz](https://community.solid-run.com/u/morozzz)\
**Post date:** [September 7, 2023, 7:15pm UTC](https://community.solid-run.com/t/lx2162a-clearfog-ecc-support/666/18 "2023-09-07T19:15:17Z")

</div>

Ok, thanks for the confirmation 🙂
