ppc4xx: Add "ecctest" command to test/simulate ECC errors
authorStefan Roese <sr@denx.de>
Wed, 21 Jul 2010 17:06:10 +0000 (19:06 +0200)
committerStefan Roese <sr@denx.de>
Fri, 23 Jul 2010 07:54:54 +0000 (09:54 +0200)
commit58eb869ffc45856658648e24a88d47fdd3768b53
treea3a32d1ae66a0b62b801c64587af570f87676efd
parentb995d7cb2c1e47305cd7feb2513ed37d30f8edd3
ppc4xx: Add "ecctest" command to test/simulate ECC errors

This patch adds the "ecctest" command to test and simulate ECC errors
(single bit and/or double bit) while running from SDRAM. Currently only
the IBM DDR2 controller is supported (405EX, 440SP(e), 460EX/GT).

This is done by copying and calling functions, modifying the SDRAM
controller operation mode, in internal SRAM/OCM.

For correctable ECC errors (single bit) only the status will be printed
since the DDR2 controller doesn't provide the faulting address:

=> ecctest 1000000 1
Using address 01000000 for 1 bit ECC error injection
ECC: Correctable error

Uncorrectable ECC errors (double bit) will also display the faulting
address:

=> ecctest 1000000 2
Using address 01000000 for 2 bit ECC error injection
ECC: Uncorrectable error at 0x0001000000

To enable this "ecctest" function you need to define CONFIG_CMD_ECCTEST
in the board config header.

Tested on katmai and t3corp.

Signed-off-by: Stefan Roese <sr@denx.de>
arch/powerpc/cpu/ppc4xx/Makefile
arch/powerpc/cpu/ppc4xx/cmd_ecctest.c [new file with mode: 0644]