diff options
Diffstat (limited to 'arch/blackfin/mach-bf548/include')
-rw-r--r-- | arch/blackfin/mach-bf548/include/mach/anomaly.h | 44 |
1 files changed, 36 insertions, 8 deletions
diff --git a/arch/blackfin/mach-bf548/include/mach/anomaly.h b/arch/blackfin/mach-bf548/include/mach/anomaly.h index 882e40ccf0d1..c510ae688e28 100644 --- a/arch/blackfin/mach-bf548/include/mach/anomaly.h +++ b/arch/blackfin/mach-bf548/include/mach/anomaly.h | |||
@@ -6,26 +6,31 @@ | |||
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 H, 01/16/2009; ADSP-BF542/BF544/BF547/BF548/BF549 Blackfin Processor Anomaly List | 10 | * - Revision H, 01/16/2009; ADSP-BF542/BF544/BF547/BF548/BF549 Blackfin Processor Anomaly List |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #ifndef _MACH_ANOMALY_H_ | 13 | #ifndef _MACH_ANOMALY_H_ |
14 | #define _MACH_ANOMALY_H_ | 14 | #define _MACH_ANOMALY_H_ |
15 | 15 | ||
16 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported */ | 16 | /* We do not support 0.0 or 0.1 silicon - sorry */ |
17 | #if __SILICON_REVISION__ < 2 | ||
18 | # error will not work on BF548 silicon version 0.0, or 0.1 | ||
19 | #endif | ||
20 | |||
21 | /* Multi-issue instruction with dsp32shiftimm in slot1 and P-reg store in slot 2 not supported */ | ||
17 | #define ANOMALY_05000074 (1) | 22 | #define ANOMALY_05000074 (1) |
18 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ | 23 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ |
19 | #define ANOMALY_05000119 (1) | 24 | #define ANOMALY_05000119 (1) |
20 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ | 25 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ |
21 | #define ANOMALY_05000122 (1) | 26 | #define ANOMALY_05000122 (1) |
22 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ | 27 | /* False Hardware Error from an Access in the Shadow of a Conditional Branch */ |
23 | #define ANOMALY_05000245 (1) | 28 | #define ANOMALY_05000245 (1) |
24 | /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ | 29 | /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ |
25 | #define ANOMALY_05000265 (1) | 30 | #define ANOMALY_05000265 (1) |
26 | /* Certain Data Cache Writethrough Modes Fail for Vddint <= 0.9V */ | 31 | /* Certain Data Cache Writethrough Modes Fail for Vddint <= 0.9V */ |
27 | #define ANOMALY_05000272 (1) | 32 | #define ANOMALY_05000272 (1) |
28 | /* False Hardware Error Exception when ISR context is not restored */ | 33 | /* False Hardware Error Exception When ISR Context Is Not Restored */ |
29 | #define ANOMALY_05000281 (__SILICON_REVISION__ < 1) | 34 | #define ANOMALY_05000281 (__SILICON_REVISION__ < 1) |
30 | /* SSYNCs After Writes To CAN/DMA MMR Registers Are Not Always Handled Correctly */ | 35 | /* SSYNCs After Writes To CAN/DMA MMR Registers Are Not Always Handled Correctly */ |
31 | #define ANOMALY_05000304 (__SILICON_REVISION__ < 1) | 36 | #define ANOMALY_05000304 (__SILICON_REVISION__ < 1) |
@@ -59,7 +64,7 @@ | |||
59 | #define ANOMALY_05000340 (__SILICON_REVISION__ < 1) | 64 | #define ANOMALY_05000340 (__SILICON_REVISION__ < 1) |
60 | /* Boot Host Wait (HWAIT) and Boot Host Wait Alternate (HWAITA) Signals Are Swapped */ | 65 | /* Boot Host Wait (HWAIT) and Boot Host Wait Alternate (HWAITA) Signals Are Swapped */ |
61 | #define ANOMALY_05000344 (__SILICON_REVISION__ < 1) | 66 | #define ANOMALY_05000344 (__SILICON_REVISION__ < 1) |
62 | /* USB Calibration Value Is Not Intialized */ | 67 | /* USB Calibration Value Is Not Initialized */ |
63 | #define ANOMALY_05000346 (__SILICON_REVISION__ < 1) | 68 | #define ANOMALY_05000346 (__SILICON_REVISION__ < 1) |
64 | /* USB Calibration Value to use */ | 69 | /* USB Calibration Value to use */ |
65 | #define ANOMALY_05000346_value 0x5411 | 70 | #define ANOMALY_05000346_value 0x5411 |
@@ -147,11 +152,11 @@ | |||
147 | #define ANOMALY_05000416 (1) | 152 | #define ANOMALY_05000416 (1) |
148 | /* Multichannel SPORT Channel Misalignment Under Specific Configuration */ | 153 | /* Multichannel SPORT Channel Misalignment Under Specific Configuration */ |
149 | #define ANOMALY_05000425 (1) | 154 | #define ANOMALY_05000425 (1) |
150 | /* Speculative Fetches of Indirect-Pointer Instructions Can Cause Spurious Hardware Errors */ | 155 | /* Speculative Fetches of Indirect-Pointer Instructions Can Cause False Hardware Errors */ |
151 | #define ANOMALY_05000426 (1) | 156 | #define ANOMALY_05000426 (1) |
152 | /* CORE_EPPI_PRIO bit and SYS_EPPI_PRIO bit in the HMDMA1_CONTROL register are not functional */ | 157 | /* CORE_EPPI_PRIO bit and SYS_EPPI_PRIO bit in the HMDMA1_CONTROL register are not functional */ |
153 | #define ANOMALY_05000427 (__SILICON_REVISION__ < 2) | 158 | #define ANOMALY_05000427 (__SILICON_REVISION__ < 2) |
154 | /* WB_EDGE Bit in NFC_IRQSTAT Incorrectly Behaves as a Buffer Status Bit Instead of an IRQ Status Bit */ | 159 | /* WB_EDGE Bit in NFC_IRQSTAT Incorrectly Reflects Buffer Status Instead of IRQ Status */ |
155 | #define ANOMALY_05000429 (__SILICON_REVISION__ < 2) | 160 | #define ANOMALY_05000429 (__SILICON_REVISION__ < 2) |
156 | /* Software System Reset Corrupts PLL_LOCKCNT Register */ | 161 | /* Software System Reset Corrupts PLL_LOCKCNT Register */ |
157 | #define ANOMALY_05000430 (__SILICON_REVISION__ >= 2) | 162 | #define ANOMALY_05000430 (__SILICON_REVISION__ >= 2) |
@@ -170,26 +175,49 @@ | |||
170 | /* Reduced Timing Margins on DDR Output Setup and Hold (tDS and tDH) */ | 175 | /* Reduced Timing Margins on DDR Output Setup and Hold (tDS and tDH) */ |
171 | #define ANOMALY_05000449 (__SILICON_REVISION__ == 1) | 176 | #define ANOMALY_05000449 (__SILICON_REVISION__ == 1) |
172 | /* USB DMA Mode 1 Short Packet Data Corruption */ | 177 | /* USB DMA Mode 1 Short Packet Data Corruption */ |
173 | #define ANOMALY_05000450 (1 | 178 | #define ANOMALY_05000450 (1) |
179 | /* USB Receive Interrupt Is Not Generated in DMA Mode 1 */ | ||
180 | #define ANOMALY_05000456 (__SILICON_REVISION__ < 3) | ||
181 | /* False Hardware Error when RETI points to invalid memory */ | ||
182 | #define ANOMALY_05000461 (1) | ||
174 | 183 | ||
175 | /* Anomalies that don't exist on this proc */ | 184 | /* Anomalies that don't exist on this proc */ |
185 | #define ANOMALY_05000099 (0) | ||
186 | #define ANOMALY_05000120 (0) | ||
176 | #define ANOMALY_05000125 (0) | 187 | #define ANOMALY_05000125 (0) |
188 | #define ANOMALY_05000149 (0) | ||
177 | #define ANOMALY_05000158 (0) | 189 | #define ANOMALY_05000158 (0) |
190 | #define ANOMALY_05000171 (0) | ||
191 | #define ANOMALY_05000179 (0) | ||
178 | #define ANOMALY_05000183 (0) | 192 | #define ANOMALY_05000183 (0) |
179 | #define ANOMALY_05000198 (0) | 193 | #define ANOMALY_05000198 (0) |
194 | #define ANOMALY_05000215 (0) | ||
195 | #define ANOMALY_05000220 (0) | ||
196 | #define ANOMALY_05000227 (0) | ||
180 | #define ANOMALY_05000230 (0) | 197 | #define ANOMALY_05000230 (0) |
198 | #define ANOMALY_05000231 (0) | ||
199 | #define ANOMALY_05000233 (0) | ||
200 | #define ANOMALY_05000242 (0) | ||
181 | #define ANOMALY_05000244 (0) | 201 | #define ANOMALY_05000244 (0) |
202 | #define ANOMALY_05000248 (0) | ||
203 | #define ANOMALY_05000250 (0) | ||
204 | #define ANOMALY_05000254 (0) | ||
182 | #define ANOMALY_05000261 (0) | 205 | #define ANOMALY_05000261 (0) |
183 | #define ANOMALY_05000263 (0) | 206 | #define ANOMALY_05000263 (0) |
184 | #define ANOMALY_05000266 (0) | 207 | #define ANOMALY_05000266 (0) |
185 | #define ANOMALY_05000273 (0) | 208 | #define ANOMALY_05000273 (0) |
209 | #define ANOMALY_05000274 (0) | ||
186 | #define ANOMALY_05000278 (0) | 210 | #define ANOMALY_05000278 (0) |
211 | #define ANOMALY_05000287 (0) | ||
212 | #define ANOMALY_05000301 (0) | ||
187 | #define ANOMALY_05000305 (0) | 213 | #define ANOMALY_05000305 (0) |
188 | #define ANOMALY_05000307 (0) | 214 | #define ANOMALY_05000307 (0) |
189 | #define ANOMALY_05000311 (0) | 215 | #define ANOMALY_05000311 (0) |
190 | #define ANOMALY_05000323 (0) | 216 | #define ANOMALY_05000323 (0) |
217 | #define ANOMALY_05000362 (1) | ||
191 | #define ANOMALY_05000363 (0) | 218 | #define ANOMALY_05000363 (0) |
192 | #define ANOMALY_05000380 (0) | 219 | #define ANOMALY_05000380 (0) |
220 | #define ANOMALY_05000400 (0) | ||
193 | #define ANOMALY_05000412 (0) | 221 | #define ANOMALY_05000412 (0) |
194 | #define ANOMALY_05000432 (0) | 222 | #define ANOMALY_05000432 (0) |
195 | #define ANOMALY_05000435 (0) | 223 | #define ANOMALY_05000435 (0) |