3 Use cases for DDR 'ecc' command:
4 ================================
6 Before executing particular tests reset target board or clear status registers:
9 => ecc errdetectclr all
13 Injecting Single-Bit Errors
14 ---------------------------
16 1. Set 1 bit in Data Path Error Inject Mask
20 2. Run test over some memory region
28 Memory Data Path Error Injection Mask High/Low: 00000001 00000000
30 Memory Single-Bit Error Management (0..255):
31 Single-Bit Error Threshold: 255
32 Single Bit Error Counter: 16
35 Multiple Memory Errors: 0
40 16 errors were generated, Single-Bit Error flag was not set as Single Bit Error
41 Counter did not reach Single-Bit Error Threshold.
43 4. Make sure used memory region got re-initialized with 0xcafecafe pattern
46 00200000: cafecafe cafecafe cafecafe cafecafe ................
47 00200010: cafecafe cafecafe cafecafe cafecafe ................
48 00200020: cafecafe cafecafe cafecafe cafecafe ................
49 00200030: cafecafe cafecafe cafecafe cafecafe ................
50 00200040: cafecafe cafecafe cafecafe cafecafe ................
51 00200050: cafecafe cafecafe cafecafe cafecafe ................
52 00200060: cafecafe cafecafe cafecafe cafecafe ................
53 00200070: cafecafe cafecafe cafecafe cafecafe ................
54 00200080: deadbeef deadbeef deadbeef deadbeef ................
55 00200090: deadbeef deadbeef deadbeef deadbeef ................
58 Injecting Multiple-Bit Errors
59 -----------------------------
61 1. Set more than 1 bit in Data Path Error Inject Mask
65 2. Run test over some memory region
73 Memory Data Path Error Injection Mask High/Low: 00000005 00000000
76 Multiple Memory Errors: 1
81 Observe that both Multiple Memory Errors and Multiple-Bit Error flags are set.
83 4. Make sure used memory region got re-initialized with 0xcafecafe pattern
86 00200000: cafecafe cafecafe cafecafe cafecafe ................
87 00200010: cafecafe cafecafe cafecafe cafecafe ................
88 00200020: cafecafe cafecafe cafecafe cafecafe ................
89 00200030: cafecafe cafecafe cafecafe cafecafe ................
90 00200040: cafecafe cafecafe cafecafe cafecafe ................
91 00200050: cafecafe cafecafe cafecafe cafecafe ................
92 00200060: cafecafe cafecafe cafecafe cafecafe ................
93 00200070: cafecafe cafecafe cafecafe cafecafe ................
94 00200080: deadbeef deadbeef deadbeef deadbeef ................
95 00200090: deadbeef deadbeef deadbeef deadbeef ................
98 Test Single-Bit Error Counter and Threshold
99 -------------------------------------------
101 1. Set 1 bit in Data Path Error Inject Mask
103 => ecc injectdatahi 1
105 2. Enable error injection
109 3. Let u-boot run for a with Single-Bit error injection enabled
111 4. Disable error injection
120 Memory Single-Bit Error Management (0..255):
121 Single-Bit Error Threshold: 255
122 Single Bit Error Counter: 60
125 Multiple Memory Errors: 1
126 Multiple-Bit Error: 0
130 Observe that Single-Bit Error is 'on' which means that Single-Bit Error Counter
131 reached Single-Bit Error Threshold. Multiple Memory Errors bit is also 'on', that
132 is Counter reached Threshold more than one time (it wraps back after reaching