diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-05-08 03:40:25 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-06-12 06:03:47 -0400 |
commit | a413647bb5bbe5414cd68332ff77588db09d10be (patch) | |
tree | 8fb1f6194c41437f5466d4d544a87951bcd15be3 /arch/blackfin/mach-bf533 | |
parent | 648882d940a1f84cbf11418ae6e405ef42a66855 (diff) |
Blackfin: pull updated anomaly lists from toolchain
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/mach-bf533')
-rw-r--r-- | arch/blackfin/mach-bf533/include/mach/anomaly.h | 88 |
1 files changed, 74 insertions, 14 deletions
diff --git a/arch/blackfin/mach-bf533/include/mach/anomaly.h b/arch/blackfin/mach-bf533/include/mach/anomaly.h index 1cf893e2e55b..31145b509e20 100644 --- a/arch/blackfin/mach-bf533/include/mach/anomaly.h +++ b/arch/blackfin/mach-bf533/include/mach/anomaly.h | |||
@@ -6,7 +6,7 @@ | |||
6 | * Licensed under the GPL-2 or later. | 6 | * Licensed under the GPL-2 or later. |
7 | */ | 7 | */ |
8 | 8 | ||
9 | /* This file shoule be up to date with: | 9 | /* This file should be up to date with: |
10 | * - Revision E, 09/18/2008; ADSP-BF531/BF532/BF533 Blackfin Processor Anomaly List | 10 | * - Revision E, 09/18/2008; ADSP-BF531/BF532/BF533 Blackfin Processor Anomaly List |
11 | */ | 11 | */ |
12 | 12 | ||
@@ -34,12 +34,12 @@ | |||
34 | # define ANOMALY_BF533 0 | 34 | # define ANOMALY_BF533 0 |
35 | #endif | 35 | #endif |
36 | 36 | ||
37 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot 2 Not Supported */ | 37 | /* Multi-issue instruction with dsp32shiftimm in slot1 and P-reg store in slot 2 not supported */ |
38 | #define ANOMALY_05000074 (1) | 38 | #define ANOMALY_05000074 (1) |
39 | /* UART Line Status Register (UART_LSR) Bits Are Not Updated at the Same Time */ | 39 | /* UART Line Status Register (UART_LSR) Bits Are Not Updated at the Same Time */ |
40 | #define ANOMALY_05000099 (__SILICON_REVISION__ < 5) | 40 | #define ANOMALY_05000099 (__SILICON_REVISION__ < 5) |
41 | /* Watchpoint Status Register (WPSTAT) Bits Are Set on Every Corresponding Match */ | 41 | /* Watchpoint Status Register (WPSTAT) Bits Are Set on Every Corresponding Match */ |
42 | #define ANOMALY_05000105 (1) | 42 | #define ANOMALY_05000105 (__SILICON_REVISION__ > 2) |
43 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ | 43 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ |
44 | #define ANOMALY_05000119 (1) | 44 | #define ANOMALY_05000119 (1) |
45 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ | 45 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ |
@@ -48,7 +48,7 @@ | |||
48 | #define ANOMALY_05000158 (__SILICON_REVISION__ < 5) | 48 | #define ANOMALY_05000158 (__SILICON_REVISION__ < 5) |
49 | /* PPI Data Lengths Between 8 and 16 Do Not Zero Out Upper Bits */ | 49 | /* PPI Data Lengths Between 8 and 16 Do Not Zero Out Upper Bits */ |
50 | #define ANOMALY_05000166 (1) | 50 | #define ANOMALY_05000166 (1) |
51 | /* Turning Serial Ports on with External Frame Syncs */ | 51 | /* Turning SPORTs on while External Frame Sync Is Active May Corrupt Data */ |
52 | #define ANOMALY_05000167 (1) | 52 | #define ANOMALY_05000167 (1) |
53 | /* PPI_COUNT Cannot Be Programmed to 0 in General Purpose TX or RX Modes */ | 53 | /* PPI_COUNT Cannot Be Programmed to 0 in General Purpose TX or RX Modes */ |
54 | #define ANOMALY_05000179 (__SILICON_REVISION__ < 5) | 54 | #define ANOMALY_05000179 (__SILICON_REVISION__ < 5) |
@@ -67,9 +67,9 @@ | |||
67 | /* Current DMA Address Shows Wrong Value During Carry Fix */ | 67 | /* Current DMA Address Shows Wrong Value During Carry Fix */ |
68 | #define ANOMALY_05000199 (__SILICON_REVISION__ < 4) | 68 | #define ANOMALY_05000199 (__SILICON_REVISION__ < 4) |
69 | /* SPORT TFS and DT Are Incorrectly Driven During Inactive Channels in Certain Conditions */ | 69 | /* SPORT TFS and DT Are Incorrectly Driven During Inactive Channels in Certain Conditions */ |
70 | #define ANOMALY_05000200 (__SILICON_REVISION__ < 5) | 70 | #define ANOMALY_05000200 (__SILICON_REVISION__ == 3 || __SILICON_REVISION__ == 4) |
71 | /* Receive Frame Sync Not Ignored During Active Frames in SPORT Multi-Channel Mode */ | 71 | /* Receive Frame Sync Not Ignored During Active Frames in SPORT Multi-Channel Mode */ |
72 | #define ANOMALY_05000201 (__SILICON_REVISION__ < 4) | 72 | #define ANOMALY_05000201 (__SILICON_REVISION__ == 3) |
73 | /* Possible Infinite Stall with Specific Dual-DAG Situation */ | 73 | /* Possible Infinite Stall with Specific Dual-DAG Situation */ |
74 | #define ANOMALY_05000202 (__SILICON_REVISION__ < 5) | 74 | #define ANOMALY_05000202 (__SILICON_REVISION__ < 5) |
75 | /* Specific Sequence That Can Cause DMA Error or DMA Stopping */ | 75 | /* Specific Sequence That Can Cause DMA Error or DMA Stopping */ |
@@ -104,7 +104,7 @@ | |||
104 | #define ANOMALY_05000242 (__SILICON_REVISION__ < 5) | 104 | #define ANOMALY_05000242 (__SILICON_REVISION__ < 5) |
105 | /* If I-Cache Is On, CSYNC/SSYNC/IDLE Around Change of Control Causes Failures */ | 105 | /* If I-Cache Is On, CSYNC/SSYNC/IDLE Around Change of Control Causes Failures */ |
106 | #define ANOMALY_05000244 (__SILICON_REVISION__ < 5) | 106 | #define ANOMALY_05000244 (__SILICON_REVISION__ < 5) |
107 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ | 107 | /* False Hardware Error from an Access in the Shadow of a Conditional Branch */ |
108 | #define ANOMALY_05000245 (1) | 108 | #define ANOMALY_05000245 (1) |
109 | /* Data CPLBs Should Prevent Spurious Hardware Errors */ | 109 | /* Data CPLBs Should Prevent Spurious Hardware Errors */ |
110 | #define ANOMALY_05000246 (__SILICON_REVISION__ < 5) | 110 | #define ANOMALY_05000246 (__SILICON_REVISION__ < 5) |
@@ -137,7 +137,7 @@ | |||
137 | /* High I/O Activity Causes Output Voltage of Internal Voltage Regulator (Vddint) to Decrease */ | 137 | /* High I/O Activity Causes Output Voltage of Internal Voltage Regulator (Vddint) to Decrease */ |
138 | #define ANOMALY_05000270 (__SILICON_REVISION__ < 5) | 138 | #define ANOMALY_05000270 (__SILICON_REVISION__ < 5) |
139 | /* Spontaneous Reset of Internal Voltage Regulator */ | 139 | /* Spontaneous Reset of Internal Voltage Regulator */ |
140 | #define ANOMALY_05000271 (__SILICON_REVISION__ < 4) | 140 | #define ANOMALY_05000271 (__SILICON_REVISION__ == 3) |
141 | /* Certain Data Cache Writethrough Modes Fail for Vddint <= 0.9V */ | 141 | /* Certain Data Cache Writethrough Modes Fail for Vddint <= 0.9V */ |
142 | #define ANOMALY_05000272 (1) | 142 | #define ANOMALY_05000272 (1) |
143 | /* Writes to Synchronous SDRAM Memory May Be Lost */ | 143 | /* Writes to Synchronous SDRAM Memory May Be Lost */ |
@@ -165,14 +165,14 @@ | |||
165 | /* New Feature: Additional PPI Frame Sync Sampling Options (Not Available On Older Silicon) */ | 165 | /* New Feature: Additional PPI Frame Sync Sampling Options (Not Available On Older Silicon) */ |
166 | #define ANOMALY_05000306 (__SILICON_REVISION__ < 5) | 166 | #define ANOMALY_05000306 (__SILICON_REVISION__ < 5) |
167 | /* SCKELOW Bit Does Not Maintain State Through Hibernate */ | 167 | /* SCKELOW Bit Does Not Maintain State Through Hibernate */ |
168 | #define ANOMALY_05000307 (1) | 168 | #define ANOMALY_05000307 (1) /* note: brokenness is noted in documentation, not anomaly sheet */ |
169 | /* False Hardware Errors Caused by Fetches at the Boundary of Reserved Memory */ | 169 | /* False Hardware Errors Caused by Fetches at the Boundary of Reserved Memory */ |
170 | #define ANOMALY_05000310 (1) | 170 | #define ANOMALY_05000310 (1) |
171 | /* Erroneous Flag (GPIO) Pin Operations under Specific Sequences */ | 171 | /* Erroneous Flag (GPIO) Pin Operations under Specific Sequences */ |
172 | #define ANOMALY_05000311 (__SILICON_REVISION__ < 6) | 172 | #define ANOMALY_05000311 (__SILICON_REVISION__ < 6) |
173 | /* Errors When SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted */ | 173 | /* Errors When SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted */ |
174 | #define ANOMALY_05000312 (__SILICON_REVISION__ < 6) | 174 | #define ANOMALY_05000312 (__SILICON_REVISION__ < 6) |
175 | /* PPI Is Level-Sensitive on First Transfer */ | 175 | /* PPI Is Level-Sensitive on First Transfer In Single Frame Sync Modes */ |
176 | #define ANOMALY_05000313 (__SILICON_REVISION__ < 6) | 176 | #define ANOMALY_05000313 (__SILICON_REVISION__ < 6) |
177 | /* Killed System MMR Write Completes Erroneously On Next System MMR Access */ | 177 | /* Killed System MMR Write Completes Erroneously On Next System MMR Access */ |
178 | #define ANOMALY_05000315 (__SILICON_REVISION__ < 6) | 178 | #define ANOMALY_05000315 (__SILICON_REVISION__ < 6) |
@@ -200,17 +200,63 @@ | |||
200 | #define ANOMALY_05000426 (1) | 200 | #define ANOMALY_05000426 (1) |
201 | /* IFLUSH Instruction at End of Hardware Loop Causes Infinite Stall */ | 201 | /* IFLUSH Instruction at End of Hardware Loop Causes Infinite Stall */ |
202 | #define ANOMALY_05000443 (1) | 202 | #define ANOMALY_05000443 (1) |
203 | /* False Hardware Error when RETI points to invalid memory */ | ||
204 | #define ANOMALY_05000461 (1) | ||
203 | 205 | ||
204 | /* These anomalies have been "phased" out of analog.com anomaly sheets and are | 206 | /* These anomalies have been "phased" out of analog.com anomaly sheets and are |
205 | * here to show running on older silicon just isn't feasible. | 207 | * here to show running on older silicon just isn't feasible. |
206 | */ | 208 | */ |
207 | 209 | ||
210 | /* Internal voltage regulator can't be modified via register writes */ | ||
211 | #define ANOMALY_05000066 (__SILICON_REVISION__ < 2) | ||
208 | /* Watchpoints (Hardware Breakpoints) are not supported */ | 212 | /* Watchpoints (Hardware Breakpoints) are not supported */ |
209 | #define ANOMALY_05000067 (__SILICON_REVISION__ < 3) | 213 | #define ANOMALY_05000067 (__SILICON_REVISION__ < 3) |
214 | /* SDRAM PSSE bit cannot be set again after SDRAM Powerup */ | ||
215 | #define ANOMALY_05000070 (__SILICON_REVISION__ < 2) | ||
216 | /* Writing FIO_DIR can corrupt a programmable flag's data */ | ||
217 | #define ANOMALY_05000079 (__SILICON_REVISION__ < 2) | ||
218 | /* Timer Auto-Baud Mode requires the UART clock to be enabled */ | ||
219 | #define ANOMALY_05000086 (__SILICON_REVISION__ < 2) | ||
220 | /* Internal Clocking Modes on SPORT0 not supported */ | ||
221 | #define ANOMALY_05000088 (__SILICON_REVISION__ < 2) | ||
222 | /* Internal voltage regulator does not wake up from an RTC wakeup */ | ||
223 | #define ANOMALY_05000092 (__SILICON_REVISION__ < 2) | ||
224 | /* The IFLUSH instruction must be preceded by a CSYNC instruction */ | ||
225 | #define ANOMALY_05000093 (__SILICON_REVISION__ < 2) | ||
226 | /* Vectoring to an instruction that is presently being filled into the instruction cache may cause erroneous behavior */ | ||
227 | #define ANOMALY_05000095 (__SILICON_REVISION__ < 2) | ||
228 | /* PREFETCH, FLUSH, and FLUSHINV must be followed by a CSYNC */ | ||
229 | #define ANOMALY_05000096 (__SILICON_REVISION__ < 2) | ||
230 | /* Performance Monitor 0 and 1 are swapped when monitoring memory events */ | ||
231 | #define ANOMALY_05000097 (__SILICON_REVISION__ < 2) | ||
232 | /* 32-bit SPORT DMA will be word reversed */ | ||
233 | #define ANOMALY_05000098 (__SILICON_REVISION__ < 2) | ||
234 | /* Incorrect status in the UART_IIR register */ | ||
235 | #define ANOMALY_05000100 (__SILICON_REVISION__ < 2) | ||
236 | /* Reading X_MODIFY or Y_MODIFY while DMA channel is active */ | ||
237 | #define ANOMALY_05000101 (__SILICON_REVISION__ < 2) | ||
238 | /* Descriptor-based MemDMA may lock up with 32-bit transfers or if transfers span 64KB buffers */ | ||
239 | #define ANOMALY_05000102 (__SILICON_REVISION__ < 2) | ||
240 | /* Incorrect value written to the cycle counters */ | ||
241 | #define ANOMALY_05000103 (__SILICON_REVISION__ < 2) | ||
242 | /* Stores to L1 Data memory incorrect when a specific sequence is followed */ | ||
243 | #define ANOMALY_05000104 (__SILICON_REVISION__ < 2) | ||
244 | /* Programmable Flag (PF3) functionality not supported in all PPI modes */ | ||
245 | #define ANOMALY_05000106 (__SILICON_REVISION__ < 2) | ||
246 | /* Data store can be lost when targeting a cache line fill */ | ||
247 | #define ANOMALY_05000107 (__SILICON_REVISION__ < 2) | ||
210 | /* Reserved bits in SYSCFG register not set at power on */ | 248 | /* Reserved bits in SYSCFG register not set at power on */ |
211 | #define ANOMALY_05000109 (__SILICON_REVISION__ < 3) | 249 | #define ANOMALY_05000109 (__SILICON_REVISION__ < 3) |
250 | /* Infinite Core Stall */ | ||
251 | #define ANOMALY_05000114 (__SILICON_REVISION__ < 2) | ||
252 | /* PPI_FSx may glitch when generated by the on chip Timers */ | ||
253 | #define ANOMALY_05000115 (__SILICON_REVISION__ < 2) | ||
212 | /* Trace Buffers may record discontinuities into emulation mode and/or exception, NMI, reset handlers */ | 254 | /* Trace Buffers may record discontinuities into emulation mode and/or exception, NMI, reset handlers */ |
213 | #define ANOMALY_05000116 (__SILICON_REVISION__ < 3) | 255 | #define ANOMALY_05000116 (__SILICON_REVISION__ < 3) |
256 | /* DTEST registers allow access to Data Cache when DTEST_COMMAND< 14 >= 0 */ | ||
257 | #define ANOMALY_05000117 (__SILICON_REVISION__ < 2) | ||
258 | /* Booting from an 8-bit or 24-bit Addressable SPI device is not supported */ | ||
259 | #define ANOMALY_05000118 (__SILICON_REVISION__ < 2) | ||
214 | /* DTEST_COMMAND initiated memory access may be incorrect if data cache or DMA is active */ | 260 | /* DTEST_COMMAND initiated memory access may be incorrect if data cache or DMA is active */ |
215 | #define ANOMALY_05000123 (__SILICON_REVISION__ < 3) | 261 | #define ANOMALY_05000123 (__SILICON_REVISION__ < 3) |
216 | /* DMA Lock-up at CCLK to SCLK ratios of 4:1, 2:1, or 1:1 */ | 262 | /* DMA Lock-up at CCLK to SCLK ratios of 4:1, 2:1, or 1:1 */ |
@@ -222,7 +268,9 @@ | |||
222 | /* DMEM_CONTROL is not set on Reset */ | 268 | /* DMEM_CONTROL is not set on Reset */ |
223 | #define ANOMALY_05000137 (__SILICON_REVISION__ < 3) | 269 | #define ANOMALY_05000137 (__SILICON_REVISION__ < 3) |
224 | /* SPI boot will not complete if there is a zero fill block in the loader file */ | 270 | /* SPI boot will not complete if there is a zero fill block in the loader file */ |
225 | #define ANOMALY_05000138 (__SILICON_REVISION__ < 3) | 271 | #define ANOMALY_05000138 (__SILICON_REVISION__ == 2) |
272 | /* Timerx_Config must be set for using the PPI in GP output mode with internal Frame Syncs */ | ||
273 | #define ANOMALY_05000139 (__SILICON_REVISION__ < 2) | ||
226 | /* Allowing the SPORT RX FIFO to fill will cause an overflow */ | 274 | /* Allowing the SPORT RX FIFO to fill will cause an overflow */ |
227 | #define ANOMALY_05000140 (__SILICON_REVISION__ < 3) | 275 | #define ANOMALY_05000140 (__SILICON_REVISION__ < 3) |
228 | /* An Infinite Stall occurs with a particular sequence of consecutive dual dag events */ | 276 | /* An Infinite Stall occurs with a particular sequence of consecutive dual dag events */ |
@@ -237,17 +285,17 @@ | |||
237 | #define ANOMALY_05000145 (__SILICON_REVISION__ < 3) | 285 | #define ANOMALY_05000145 (__SILICON_REVISION__ < 3) |
238 | /* MDMA may lose the first few words of a descriptor chain */ | 286 | /* MDMA may lose the first few words of a descriptor chain */ |
239 | #define ANOMALY_05000146 (__SILICON_REVISION__ < 3) | 287 | #define ANOMALY_05000146 (__SILICON_REVISION__ < 3) |
240 | /* The source MDMA descriptor may stop with a DMA Error */ | 288 | /* Source MDMA descriptor may stop with a DMA Error near beginning of descriptor fetch */ |
241 | #define ANOMALY_05000147 (__SILICON_REVISION__ < 3) | 289 | #define ANOMALY_05000147 (__SILICON_REVISION__ < 3) |
242 | /* When booting from a 16-bit asynchronous memory device, the upper 8-bits of each word must be 0x00 */ | 290 | /* When booting from a 16-bit asynchronous memory device, the upper 8-bits of each word must be 0x00 */ |
243 | #define ANOMALY_05000148 (__SILICON_REVISION__ < 3) | 291 | #define ANOMALY_05000148 (__SILICON_REVISION__ < 3) |
244 | /* Frame Delay in SPORT Multichannel Mode */ | 292 | /* Frame Delay in SPORT Multichannel Mode */ |
245 | #define ANOMALY_05000153 (__SILICON_REVISION__ < 3) | 293 | #define ANOMALY_05000153 (__SILICON_REVISION__ < 3) |
246 | /* SPORT TFS signal is active in Multi-channel mode outside of valid channels */ | 294 | /* SPORT TFS signal stays active in multichannel mode outside of valid channels */ |
247 | #define ANOMALY_05000154 (__SILICON_REVISION__ < 3) | 295 | #define ANOMALY_05000154 (__SILICON_REVISION__ < 3) |
248 | /* Timer1 can not be used for PWMOUT mode when a certain PPI mode is in use */ | 296 | /* Timer1 can not be used for PWMOUT mode when a certain PPI mode is in use */ |
249 | #define ANOMALY_05000155 (__SILICON_REVISION__ < 3) | 297 | #define ANOMALY_05000155 (__SILICON_REVISION__ < 3) |
250 | /* A killed 32-bit System MMR write will lead to the next system MMR access thinking it should be 32-bit. */ | 298 | /* Killed 32-bit MMR write leads to next system MMR access thinking it should be 32-bit */ |
251 | #define ANOMALY_05000157 (__SILICON_REVISION__ < 3) | 299 | #define ANOMALY_05000157 (__SILICON_REVISION__ < 3) |
252 | /* SPORT transmit data is not gated by external frame sync in certain conditions */ | 300 | /* SPORT transmit data is not gated by external frame sync in certain conditions */ |
253 | #define ANOMALY_05000163 (__SILICON_REVISION__ < 3) | 301 | #define ANOMALY_05000163 (__SILICON_REVISION__ < 3) |
@@ -275,15 +323,27 @@ | |||
275 | #define ANOMALY_05000206 (__SILICON_REVISION__ < 3) | 323 | #define ANOMALY_05000206 (__SILICON_REVISION__ < 3) |
276 | 324 | ||
277 | /* Anomalies that don't exist on this proc */ | 325 | /* Anomalies that don't exist on this proc */ |
326 | #define ANOMALY_05000120 (0) | ||
327 | #define ANOMALY_05000149 (0) | ||
328 | #define ANOMALY_05000171 (0) | ||
329 | #define ANOMALY_05000220 (0) | ||
330 | #define ANOMALY_05000248 (0) | ||
278 | #define ANOMALY_05000266 (0) | 331 | #define ANOMALY_05000266 (0) |
332 | #define ANOMALY_05000274 (0) | ||
333 | #define ANOMALY_05000287 (0) | ||
279 | #define ANOMALY_05000323 (0) | 334 | #define ANOMALY_05000323 (0) |
280 | #define ANOMALY_05000353 (1) | 335 | #define ANOMALY_05000353 (1) |
336 | #define ANOMALY_05000362 (1) | ||
281 | #define ANOMALY_05000380 (0) | 337 | #define ANOMALY_05000380 (0) |
282 | #define ANOMALY_05000386 (1) | 338 | #define ANOMALY_05000386 (1) |
339 | #define ANOMALY_05000389 (0) | ||
283 | #define ANOMALY_05000412 (0) | 340 | #define ANOMALY_05000412 (0) |
341 | #define ANOMALY_05000430 (0) | ||
284 | #define ANOMALY_05000432 (0) | 342 | #define ANOMALY_05000432 (0) |
285 | #define ANOMALY_05000435 (0) | 343 | #define ANOMALY_05000435 (0) |
286 | #define ANOMALY_05000447 (0) | 344 | #define ANOMALY_05000447 (0) |
287 | #define ANOMALY_05000448 (0) | 345 | #define ANOMALY_05000448 (0) |
346 | #define ANOMALY_05000456 (0) | ||
347 | #define ANOMALY_05000450 (0) | ||
288 | 348 | ||
289 | #endif | 349 | #endif |