[U-Boot-Users] ECC testing/error injection

Gentlemen,
browsing the docs in the root directory reveals very little, and the list archives don't seem to be available on sourceforge, so I am asking the questions here.
I am trying to enable the ECC feature on an 8541 platform, which uses DDR SDRAM. I noticed that there are config flags available just for that: CONFIG_DDR_ECC and CONFIG_DDR_ECC_CMD, used in a few platforms (my port is based on 1.1.6):
# grep CONFIG_DDR_ECC include/configs/*h|grep define include/configs/MPC8349EMDS.h:#define CONFIG_DDR_ECC_CMD /* use DDR ECC user commands */ include/configs/MPC8540ADS.h:#define CONFIG_DDR_ECC /* only for ECC DDR module */ include/configs/MPC8541CDS.h:#define CONFIG_DDR_ECC /* only for ECC DDR module */ include/configs/MPC8548CDS.h:#define CONFIG_DDR_ECC /* only for ECC DDR module */ include/configs/MPC8555CDS.h:#define CONFIG_DDR_ECC /* only for ECC DDR module */ include/configs/MPC8560ADS.h:#define CONFIG_DDR_ECC /* only for ECC DDR module */ include/configs/MPC8641HPCN.h:#define CONFIG_DDR_ECC /* only for ECC DDR module */ include/configs/PM854.h:#define CONFIG_DDR_ECC /* only for ECC DDR module */ include/configs/PM856.h:#define CONFIG_DDR_ECC /* only for ECC DDR module */
intersetingly enough, the only platform which has a CLI command to demonstrate ECC functionality (MPC8349EMDS has CONFIG_DDR_ECC_CMD defined) does not have CONFIG_DDR_ECC defined.
I moved the CLI command code from board/mpc8349emds/mpc8349emds.c into the common directory and modified it to work with both 83xx and 85xx memory configuration registers' layouts.
The thing is that I can't make the ECC errors injection to work, rather, I can't get any ECC errors reported. So, a few questions:
- how do I find out if there was any documentation associated with the CLI command implementation contribution in board/mpc8349emds/mpc8349emds.c?
- have anyone tested ECC implementation on any 85XX platform which have the flag defined. How did you test it, if so?
any input/hints would be highly appreciated,
cheers, Vadim

On Tue, 3 Apr 2007 18:35:34 -0700 vb vb@vsbe.com wrote:
- how do I find out if there was any documentation associated with
the CLI command implementation contribution in board/mpc8349emds/mpc8349emds.c?
did you see doc/README.mpc8349emds.ddrecc?
Kim

[adding the CC and some more questions]
No, It turns out that my tree (an internal company view) does not include the doc directory! I just downloaded the 1.2.0 distribution and see the directory and the document now.
Kim, thank you very much for pointing it out.
Now I had a quick look at the doc the testing procedure is exactly what I thought it was, but it does not work on my system, (i.e. I don't see the error counter incrementing). I wonder if there is something extra to be done on the 85xx platform when compared to 83xx.
One thing which comes to mind is that 85xx has an L2 cache, which 83xx does not.
Another question is why the code disables/enables instruction cache around the error injection part - should it be disabling/enabling data cache instead?
Also, does disabling the L1 instruction data/cache automatically disables L2 caching as well?
thanks again, cheers, \vb
On 4/3/07, Kim Phillips kim.phillips@freescale.com wrote:
On Tue, 3 Apr 2007 18:35:34 -0700 vb vb@vsbe.com wrote:
- how do I find out if there was any documentation associated with
the CLI command implementation contribution in board/mpc8349emds/mpc8349emds.c?
did you see doc/README.mpc8349emds.ddrecc?
Kim
participants (2)
-
Kim Phillips
-
vb