diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-06-08 18:15:18 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-07-23 01:18:18 -0400 |
commit | 979365ba4e4f29dd1b6f985bba66426423a26f27 (patch) | |
tree | b692e9b230d1630f357f8901ccd04ddfe039cf12 /arch/blackfin/mach-bf561 | |
parent | 4e12b08b7228a607a6183186bbe21f269a287137 (diff) |
Blackfin: update anomaly lists to latest public info
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/mach-bf561')
-rw-r--r-- | arch/blackfin/mach-bf561/include/mach/anomaly.h | 132 |
1 files changed, 72 insertions, 60 deletions
diff --git a/arch/blackfin/mach-bf561/include/mach/anomaly.h b/arch/blackfin/mach-bf561/include/mach/anomaly.h index 22b5ab773027..836baeed303a 100644 --- a/arch/blackfin/mach-bf561/include/mach/anomaly.h +++ b/arch/blackfin/mach-bf561/include/mach/anomaly.h | |||
@@ -11,7 +11,7 @@ | |||
11 | */ | 11 | */ |
12 | 12 | ||
13 | /* This file should be up to date with: | 13 | /* This file should be up to date with: |
14 | * - Revision R, 05/25/2010; ADSP-BF561 Blackfin Processor Anomaly List | 14 | * - Revision S, 05/23/2011; ADSP-BF561 Blackfin Processor Anomaly List |
15 | */ | 15 | */ |
16 | 16 | ||
17 | #ifndef _MACH_ANOMALY_H_ | 17 | #ifndef _MACH_ANOMALY_H_ |
@@ -26,62 +26,16 @@ | |||
26 | #define ANOMALY_05000074 (1) | 26 | #define ANOMALY_05000074 (1) |
27 | /* UART Line Status Register (UART_LSR) Bits Are Not Updated at the Same Time */ | 27 | /* UART Line Status Register (UART_LSR) Bits Are Not Updated at the Same Time */ |
28 | #define ANOMALY_05000099 (__SILICON_REVISION__ < 5) | 28 | #define ANOMALY_05000099 (__SILICON_REVISION__ < 5) |
29 | /* Trace Buffers May Contain Errors in Emulation Mode and/or Exception, NMI, Reset Handlers */ | ||
30 | #define ANOMALY_05000116 (__SILICON_REVISION__ < 3) | ||
31 | /* TESTSET Instructions Restricted to 32-Bit Aligned Memory Locations */ | 29 | /* TESTSET Instructions Restricted to 32-Bit Aligned Memory Locations */ |
32 | #define ANOMALY_05000120 (1) | 30 | #define ANOMALY_05000120 (1) |
33 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ | 31 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ |
34 | #define ANOMALY_05000122 (1) | 32 | #define ANOMALY_05000122 (1) |
35 | /* Erroneous Exception when Enabling Cache */ | ||
36 | #define ANOMALY_05000125 (__SILICON_REVISION__ < 3) | ||
37 | /* SIGNBITS Instruction Not Functional under Certain Conditions */ | 33 | /* SIGNBITS Instruction Not Functional under Certain Conditions */ |
38 | #define ANOMALY_05000127 (1) | 34 | #define ANOMALY_05000127 (1) |
39 | /* Two bits in the Watchpoint Status Register (WPSTAT) are swapped */ | ||
40 | #define ANOMALY_05000134 (__SILICON_REVISION__ < 3) | ||
41 | /* Enable wires from the Data Watchpoint Address Control Register (WPDACTL) are swapped */ | ||
42 | #define ANOMALY_05000135 (__SILICON_REVISION__ < 3) | ||
43 | /* Stall in multi-unit DMA operations */ | ||
44 | #define ANOMALY_05000136 (__SILICON_REVISION__ < 3) | ||
45 | /* Allowing the SPORT RX FIFO to fill will cause an overflow */ | ||
46 | #define ANOMALY_05000140 (__SILICON_REVISION__ < 3) | ||
47 | /* Infinite Stall may occur with a particular sequence of consecutive dual dag events */ | ||
48 | #define ANOMALY_05000141 (__SILICON_REVISION__ < 3) | ||
49 | /* Interrupts may be lost when a programmable input flag is configured to be edge sensitive */ | ||
50 | #define ANOMALY_05000142 (__SILICON_REVISION__ < 3) | ||
51 | /* DMA and TESTSET conflict when both are accessing external memory */ | ||
52 | #define ANOMALY_05000144 (__SILICON_REVISION__ < 3) | ||
53 | /* In PWM_OUT mode, you must enable the PPI block to generate a waveform from PPI_CLK */ | ||
54 | #define ANOMALY_05000145 (__SILICON_REVISION__ < 3) | ||
55 | /* MDMA may lose the first few words of a descriptor chain */ | ||
56 | #define ANOMALY_05000146 (__SILICON_REVISION__ < 3) | ||
57 | /* Source MDMA descriptor may stop with a DMA Error near beginning of descriptor fetch */ | ||
58 | #define ANOMALY_05000147 (__SILICON_REVISION__ < 3) | ||
59 | /* IMDMA S1/D1 Channel May Stall */ | 35 | /* IMDMA S1/D1 Channel May Stall */ |
60 | #define ANOMALY_05000149 (1) | 36 | #define ANOMALY_05000149 (1) |
61 | /* DMA engine may lose data due to incorrect handshaking */ | ||
62 | #define ANOMALY_05000150 (__SILICON_REVISION__ < 3) | ||
63 | /* DMA stalls when all three controllers read data from the same source */ | ||
64 | #define ANOMALY_05000151 (__SILICON_REVISION__ < 3) | ||
65 | /* Execution stall when executing in L2 and doing external accesses */ | ||
66 | #define ANOMALY_05000152 (__SILICON_REVISION__ < 3) | ||
67 | /* Frame Delay in SPORT Multichannel Mode */ | ||
68 | #define ANOMALY_05000153 (__SILICON_REVISION__ < 3) | ||
69 | /* SPORT TFS signal stays active in multichannel mode outside of valid channels */ | ||
70 | #define ANOMALY_05000154 (__SILICON_REVISION__ < 3) | ||
71 | /* Timers in PWM-Out Mode with PPI GP Receive (Input) Mode with 0 Frame Syncs */ | 37 | /* Timers in PWM-Out Mode with PPI GP Receive (Input) Mode with 0 Frame Syncs */ |
72 | #define ANOMALY_05000156 (__SILICON_REVISION__ < 4) | 38 | #define ANOMALY_05000156 (__SILICON_REVISION__ < 4) |
73 | /* Killed 32-Bit MMR Write Leads to Next System MMR Access Thinking It Should Be 32-Bit */ | ||
74 | #define ANOMALY_05000157 (__SILICON_REVISION__ < 3) | ||
75 | /* DMA Lock-up at CCLK to SCLK ratios of 4:1, 2:1, or 1:1 */ | ||
76 | #define ANOMALY_05000159 (__SILICON_REVISION__ < 3) | ||
77 | /* A read from external memory may return a wrong value with data cache enabled */ | ||
78 | #define ANOMALY_05000160 (__SILICON_REVISION__ < 3) | ||
79 | /* Data Cache Fill data can be corrupted after/during Instruction DMA if certain core stalls exist */ | ||
80 | #define ANOMALY_05000161 (__SILICON_REVISION__ < 3) | ||
81 | /* DMEM_CONTROL<12> is not set on Reset */ | ||
82 | #define ANOMALY_05000162 (__SILICON_REVISION__ < 3) | ||
83 | /* SPORT Transmit Data Is Not Gated by External Frame Sync in Certain Conditions */ | ||
84 | #define ANOMALY_05000163 (__SILICON_REVISION__ < 3) | ||
85 | /* PPI Data Lengths between 8 and 16 Do Not Zero Out Upper Bits */ | 39 | /* PPI Data Lengths between 8 and 16 Do Not Zero Out Upper Bits */ |
86 | #define ANOMALY_05000166 (1) | 40 | #define ANOMALY_05000166 (1) |
87 | /* Turning SPORTs on while External Frame Sync Is Active May Corrupt Data */ | 41 | /* Turning SPORTs on while External Frame Sync Is Active May Corrupt Data */ |
@@ -92,10 +46,6 @@ | |||
92 | #define ANOMALY_05000169 (__SILICON_REVISION__ < 5) | 46 | #define ANOMALY_05000169 (__SILICON_REVISION__ < 5) |
93 | /* Boot-ROM Modifies SICA_IWRx Wakeup Registers */ | 47 | /* Boot-ROM Modifies SICA_IWRx Wakeup Registers */ |
94 | #define ANOMALY_05000171 (__SILICON_REVISION__ < 5) | 48 | #define ANOMALY_05000171 (__SILICON_REVISION__ < 5) |
95 | /* DSPID register values incorrect */ | ||
96 | #define ANOMALY_05000172 (__SILICON_REVISION__ < 3) | ||
97 | /* DMA vs Core accesses to external memory */ | ||
98 | #define ANOMALY_05000173 (__SILICON_REVISION__ < 3) | ||
99 | /* Cache Fill Buffer Data lost */ | 49 | /* Cache Fill Buffer Data lost */ |
100 | #define ANOMALY_05000174 (__SILICON_REVISION__ < 5) | 50 | #define ANOMALY_05000174 (__SILICON_REVISION__ < 5) |
101 | /* Overlapping Sequencer and Memory Stalls */ | 51 | /* Overlapping Sequencer and Memory Stalls */ |
@@ -124,8 +74,6 @@ | |||
124 | #define ANOMALY_05000189 (__SILICON_REVISION__ < 5) | 74 | #define ANOMALY_05000189 (__SILICON_REVISION__ < 5) |
125 | /* PPI Not Functional at Core Voltage < 1Volt */ | 75 | /* PPI Not Functional at Core Voltage < 1Volt */ |
126 | #define ANOMALY_05000190 (1) | 76 | #define ANOMALY_05000190 (1) |
127 | /* PPI does not invert the Driving PPICLK edge in Transmit Modes */ | ||
128 | #define ANOMALY_05000191 (__SILICON_REVISION__ < 3) | ||
129 | /* False I/O Pin Interrupts on Edge-Sensitive Inputs When Polarity Setting Is Changed */ | 77 | /* False I/O Pin Interrupts on Edge-Sensitive Inputs When Polarity Setting Is Changed */ |
130 | #define ANOMALY_05000193 (__SILICON_REVISION__ < 5) | 78 | #define ANOMALY_05000193 (__SILICON_REVISION__ < 5) |
131 | /* Restarting SPORT in Specific Modes May Cause Data Corruption */ | 79 | /* Restarting SPORT in Specific Modes May Cause Data Corruption */ |
@@ -217,10 +165,10 @@ | |||
217 | /* Timing Requirements Change for External Frame Sync PPI Modes with Non-Zero PPI_DELAY */ | 165 | /* Timing Requirements Change for External Frame Sync PPI Modes with Non-Zero PPI_DELAY */ |
218 | #define ANOMALY_05000276 (__SILICON_REVISION__ < 5) | 166 | #define ANOMALY_05000276 (__SILICON_REVISION__ < 5) |
219 | /* Writes to an I/O Data Register One SCLK Cycle after an Edge Is Detected May Clear Interrupt */ | 167 | /* Writes to an I/O Data Register One SCLK Cycle after an Edge Is Detected May Clear Interrupt */ |
220 | #define ANOMALY_05000277 (__SILICON_REVISION__ < 3) | 168 | #define ANOMALY_05000277 (__SILICON_REVISION__ < 5) |
221 | /* Disabling Peripherals with DMA Running May Cause DMA System Instability */ | 169 | /* Disabling Peripherals with DMA Running May Cause DMA System Instability */ |
222 | #define ANOMALY_05000278 (__SILICON_REVISION__ < 5) | 170 | #define ANOMALY_05000278 (__SILICON_REVISION__ < 5) |
223 | /* False Hardware Error Exception when ISR Context Is Not Restored */ | 171 | /* False Hardware Error when ISR Context Is Not Restored */ |
224 | /* Temporarily walk around for bug 5423 till this issue is confirmed by | 172 | /* Temporarily walk around for bug 5423 till this issue is confirmed by |
225 | * official anomaly document. It looks 05000281 still exists on bf561 | 173 | * official anomaly document. It looks 05000281 still exists on bf561 |
226 | * v0.5. | 174 | * v0.5. |
@@ -274,8 +222,6 @@ | |||
274 | #define ANOMALY_05000366 (1) | 222 | #define ANOMALY_05000366 (1) |
275 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ | 223 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ |
276 | #define ANOMALY_05000371 (1) | 224 | #define ANOMALY_05000371 (1) |
277 | /* SSYNC Stalls Processor when Executed from Non-Cacheable Memory */ | ||
278 | #define ANOMALY_05000402 (__SILICON_REVISION__ == 4) | ||
279 | /* Level-Sensitive External GPIO Wakeups May Cause Indefinite Stall */ | 225 | /* Level-Sensitive External GPIO Wakeups May Cause Indefinite Stall */ |
280 | #define ANOMALY_05000403 (1) | 226 | #define ANOMALY_05000403 (1) |
281 | /* TESTSET Instruction Causes Data Corruption with Writeback Data Cache Enabled */ | 227 | /* TESTSET Instruction Causes Data Corruption with Writeback Data Cache Enabled */ |
@@ -298,16 +244,82 @@ | |||
298 | #define ANOMALY_05000462 (1) | 244 | #define ANOMALY_05000462 (1) |
299 | /* Boot Failure When SDRAM Control Signals Toggle Coming Out Of Reset */ | 245 | /* Boot Failure When SDRAM Control Signals Toggle Coming Out Of Reset */ |
300 | #define ANOMALY_05000471 (1) | 246 | #define ANOMALY_05000471 (1) |
301 | /* Interrupted 32-Bit SPORT Data Register Access Results In Underflow */ | 247 | /* Interrupted SPORT Receive Data Register Read Results In Underflow when SLEN > 15 */ |
302 | #define ANOMALY_05000473 (1) | 248 | #define ANOMALY_05000473 (1) |
303 | /* Possible Lockup Condition whem Modifying PLL from External Memory */ | 249 | /* Possible Lockup Condition when Modifying PLL from External Memory */ |
304 | #define ANOMALY_05000475 (1) | 250 | #define ANOMALY_05000475 (1) |
305 | /* TESTSET Instruction Cannot Be Interrupted */ | 251 | /* TESTSET Instruction Cannot Be Interrupted */ |
306 | #define ANOMALY_05000477 (1) | 252 | #define ANOMALY_05000477 (1) |
307 | /* Reads of ITEST_COMMAND and ITEST_DATA Registers Cause Cache Corruption */ | 253 | /* Reads of ITEST_COMMAND and ITEST_DATA Registers Cause Cache Corruption */ |
308 | #define ANOMALY_05000481 (1) | 254 | #define ANOMALY_05000481 (1) |
309 | /* IFLUSH sucks at life */ | 255 | /* PLL May Latch Incorrect Values Coming Out of Reset */ |
256 | #define ANOMALY_05000489 (1) | ||
257 | /* Instruction Memory Stalls Can Cause IFLUSH to Fail */ | ||
310 | #define ANOMALY_05000491 (1) | 258 | #define ANOMALY_05000491 (1) |
259 | /* EXCPT Instruction May Be Lost If NMI Happens Simultaneously */ | ||
260 | #define ANOMALY_05000494 (1) | ||
261 | /* RXS Bit in SPI_STAT May Become Stuck In RX DMA Modes */ | ||
262 | #define ANOMALY_05000501 (1) | ||
263 | |||
264 | /* | ||
265 | * These anomalies have been "phased" out of analog.com anomaly sheets and are | ||
266 | * here to show running on older silicon just isn't feasible. | ||
267 | */ | ||
268 | |||
269 | /* Trace Buffers May Contain Errors in Emulation Mode and/or Exception, NMI, Reset Handlers */ | ||
270 | #define ANOMALY_05000116 (__SILICON_REVISION__ < 3) | ||
271 | /* Erroneous Exception when Enabling Cache */ | ||
272 | #define ANOMALY_05000125 (__SILICON_REVISION__ < 3) | ||
273 | /* Two bits in the Watchpoint Status Register (WPSTAT) are swapped */ | ||
274 | #define ANOMALY_05000134 (__SILICON_REVISION__ < 3) | ||
275 | /* Enable wires from the Data Watchpoint Address Control Register (WPDACTL) are swapped */ | ||
276 | #define ANOMALY_05000135 (__SILICON_REVISION__ < 3) | ||
277 | /* Stall in multi-unit DMA operations */ | ||
278 | #define ANOMALY_05000136 (__SILICON_REVISION__ < 3) | ||
279 | /* Allowing the SPORT RX FIFO to fill will cause an overflow */ | ||
280 | #define ANOMALY_05000140 (__SILICON_REVISION__ < 3) | ||
281 | /* Infinite Stall may occur with a particular sequence of consecutive dual dag events */ | ||
282 | #define ANOMALY_05000141 (__SILICON_REVISION__ < 3) | ||
283 | /* Interrupts may be lost when a programmable input flag is configured to be edge sensitive */ | ||
284 | #define ANOMALY_05000142 (__SILICON_REVISION__ < 3) | ||
285 | /* DMA and TESTSET conflict when both are accessing external memory */ | ||
286 | #define ANOMALY_05000144 (__SILICON_REVISION__ < 3) | ||
287 | /* In PWM_OUT mode, you must enable the PPI block to generate a waveform from PPI_CLK */ | ||
288 | #define ANOMALY_05000145 (__SILICON_REVISION__ < 3) | ||
289 | /* MDMA may lose the first few words of a descriptor chain */ | ||
290 | #define ANOMALY_05000146 (__SILICON_REVISION__ < 3) | ||
291 | /* Source MDMA descriptor may stop with a DMA Error near beginning of descriptor fetch */ | ||
292 | #define ANOMALY_05000147 (__SILICON_REVISION__ < 3) | ||
293 | /* DMA engine may lose data due to incorrect handshaking */ | ||
294 | #define ANOMALY_05000150 (__SILICON_REVISION__ < 3) | ||
295 | /* DMA stalls when all three controllers read data from the same source */ | ||
296 | #define ANOMALY_05000151 (__SILICON_REVISION__ < 3) | ||
297 | /* Execution stall when executing in L2 and doing external accesses */ | ||
298 | #define ANOMALY_05000152 (__SILICON_REVISION__ < 3) | ||
299 | /* Frame Delay in SPORT Multichannel Mode */ | ||
300 | #define ANOMALY_05000153 (__SILICON_REVISION__ < 3) | ||
301 | /* SPORT TFS signal stays active in multichannel mode outside of valid channels */ | ||
302 | #define ANOMALY_05000154 (__SILICON_REVISION__ < 3) | ||
303 | /* Killed 32-Bit MMR Write Leads to Next System MMR Access Thinking It Should Be 32-Bit */ | ||
304 | #define ANOMALY_05000157 (__SILICON_REVISION__ < 3) | ||
305 | /* DMA Lock-up at CCLK to SCLK ratios of 4:1, 2:1, or 1:1 */ | ||
306 | #define ANOMALY_05000159 (__SILICON_REVISION__ < 3) | ||
307 | /* A read from external memory may return a wrong value with data cache enabled */ | ||
308 | #define ANOMALY_05000160 (__SILICON_REVISION__ < 3) | ||
309 | /* Data Cache Fill data can be corrupted after/during Instruction DMA if certain core stalls exist */ | ||
310 | #define ANOMALY_05000161 (__SILICON_REVISION__ < 3) | ||
311 | /* DMEM_CONTROL<12> is not set on Reset */ | ||
312 | #define ANOMALY_05000162 (__SILICON_REVISION__ < 3) | ||
313 | /* SPORT Transmit Data Is Not Gated by External Frame Sync in Certain Conditions */ | ||
314 | #define ANOMALY_05000163 (__SILICON_REVISION__ < 3) | ||
315 | /* DSPID register values incorrect */ | ||
316 | #define ANOMALY_05000172 (__SILICON_REVISION__ < 3) | ||
317 | /* DMA vs Core accesses to external memory */ | ||
318 | #define ANOMALY_05000173 (__SILICON_REVISION__ < 3) | ||
319 | /* PPI does not invert the Driving PPICLK edge in Transmit Modes */ | ||
320 | #define ANOMALY_05000191 (__SILICON_REVISION__ < 3) | ||
321 | /* SSYNC Stalls Processor when Executed from Non-Cacheable Memory */ | ||
322 | #define ANOMALY_05000402 (__SILICON_REVISION__ == 4) | ||
311 | 323 | ||
312 | /* Anomalies that don't exist on this proc */ | 324 | /* Anomalies that don't exist on this proc */ |
313 | #define ANOMALY_05000119 (0) | 325 | #define ANOMALY_05000119 (0) |