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-bf538 | |
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-bf538')
-rw-r--r-- | arch/blackfin/mach-bf538/include/mach/anomaly.h | 60 |
1 files changed, 47 insertions, 13 deletions
diff --git a/arch/blackfin/mach-bf538/include/mach/anomaly.h b/arch/blackfin/mach-bf538/include/mach/anomaly.h index 3a5699827363..175ca9ef7232 100644 --- a/arch/blackfin/mach-bf538/include/mach/anomaly.h +++ b/arch/blackfin/mach-bf538/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 G, 09/18/2008; ADSP-BF538/BF538F Blackfin Processor Anomaly List | 10 | * - Revision G, 09/18/2008; ADSP-BF538/BF538F Blackfin Processor Anomaly List |
11 | * - Revision L, 09/18/2008; ADSP-BF539/BF539F Blackfin Processor Anomaly List | 11 | * - Revision L, 09/18/2008; ADSP-BF539/BF539F Blackfin Processor Anomaly List |
12 | */ | 12 | */ |
@@ -14,17 +14,29 @@ | |||
14 | #ifndef _MACH_ANOMALY_H_ | 14 | #ifndef _MACH_ANOMALY_H_ |
15 | #define _MACH_ANOMALY_H_ | 15 | #define _MACH_ANOMALY_H_ |
16 | 16 | ||
17 | /* We do not support old silicon - sorry */ | ||
17 | #if __SILICON_REVISION__ < 4 | 18 | #if __SILICON_REVISION__ < 4 |
18 | # error will not work on BF538 silicon version 0.0, 0.1, 0.2, or 0.3 | 19 | # error will not work on BF538/BF539 silicon version 0.0, 0.1, 0.2, or 0.3 |
19 | #endif | 20 | #endif |
20 | 21 | ||
21 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported */ | 22 | #if defined(__ADSPBF538__) |
23 | # define ANOMALY_BF538 1 | ||
24 | #else | ||
25 | # define ANOMALY_BF538 0 | ||
26 | #endif | ||
27 | #if defined(__ADSPBF539__) | ||
28 | # define ANOMALY_BF539 1 | ||
29 | #else | ||
30 | # define ANOMALY_BF539 0 | ||
31 | #endif | ||
32 | |||
33 | /* Multi-issue instruction with dsp32shiftimm in slot1 and P-reg store in slot 2 not supported */ | ||
22 | #define ANOMALY_05000074 (1) | 34 | #define ANOMALY_05000074 (1) |
23 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ | 35 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ |
24 | #define ANOMALY_05000119 (1) | 36 | #define ANOMALY_05000119 (1) |
25 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ | 37 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ |
26 | #define ANOMALY_05000122 (1) | 38 | #define ANOMALY_05000122 (1) |
27 | /* 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 */ |
28 | #define ANOMALY_05000166 (1) | 40 | #define ANOMALY_05000166 (1) |
29 | /* PPI_COUNT Cannot Be Programmed to 0 in General Purpose TX or RX Modes */ | 41 | /* PPI_COUNT Cannot Be Programmed to 0 in General Purpose TX or RX Modes */ |
30 | #define ANOMALY_05000179 (1) | 42 | #define ANOMALY_05000179 (1) |
@@ -40,13 +52,13 @@ | |||
40 | #define ANOMALY_05000229 (1) | 52 | #define ANOMALY_05000229 (1) |
41 | /* PPI_FS3 Is Not Driven in 2 or 3 Internal Frame Sync Transmit Modes */ | 53 | /* PPI_FS3 Is Not Driven in 2 or 3 Internal Frame Sync Transmit Modes */ |
42 | #define ANOMALY_05000233 (1) | 54 | #define ANOMALY_05000233 (1) |
43 | /* If i-cache is on, CSYNC/SSYNC/IDLE around Change of Control causes failures */ | 55 | /* If I-Cache Is On, CSYNC/SSYNC/IDLE Around Change of Control Causes Failures */ |
44 | #define ANOMALY_05000244 (__SILICON_REVISION__ < 3) | 56 | #define ANOMALY_05000244 (__SILICON_REVISION__ < 3) |
45 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ | 57 | /* False Hardware Error from an Access in the Shadow of a Conditional Branch */ |
46 | #define ANOMALY_05000245 (1) | 58 | #define ANOMALY_05000245 (1) |
47 | /* Maximum External Clock Speed for Timers */ | 59 | /* Maximum External Clock Speed for Timers */ |
48 | #define ANOMALY_05000253 (1) | 60 | #define ANOMALY_05000253 (1) |
49 | /* DCPLB_FAULT_ADDR MMR register may be corrupted */ | 61 | /* DCPLB_FAULT_ADDR MMR Register May Be Corrupted */ |
50 | #define ANOMALY_05000261 (__SILICON_REVISION__ < 3) | 62 | #define ANOMALY_05000261 (__SILICON_REVISION__ < 3) |
51 | /* High I/O Activity Causes Output Voltage of Internal Voltage Regulator (Vddint) to Decrease */ | 63 | /* High I/O Activity Causes Output Voltage of Internal Voltage Regulator (Vddint) to Decrease */ |
52 | #define ANOMALY_05000270 (__SILICON_REVISION__ < 4) | 64 | #define ANOMALY_05000270 (__SILICON_REVISION__ < 4) |
@@ -58,11 +70,11 @@ | |||
58 | #define ANOMALY_05000277 (__SILICON_REVISION__ < 4) | 70 | #define ANOMALY_05000277 (__SILICON_REVISION__ < 4) |
59 | /* Disabling Peripherals with DMA Running May Cause DMA System Instability */ | 71 | /* Disabling Peripherals with DMA Running May Cause DMA System Instability */ |
60 | #define ANOMALY_05000278 (__SILICON_REVISION__ < 4) | 72 | #define ANOMALY_05000278 (__SILICON_REVISION__ < 4) |
61 | /* False Hardware Error Exception when ISR Context Is Not Restored */ | 73 | /* False Hardware Error Exception When ISR Context Is Not Restored */ |
62 | #define ANOMALY_05000281 (__SILICON_REVISION__ < 4) | 74 | #define ANOMALY_05000281 (__SILICON_REVISION__ < 4) |
63 | /* Memory DMA Corruption with 32-Bit Data and Traffic Control */ | 75 | /* Memory DMA Corruption with 32-Bit Data and Traffic Control */ |
64 | #define ANOMALY_05000282 (__SILICON_REVISION__ < 4) | 76 | #define ANOMALY_05000282 (__SILICON_REVISION__ < 4) |
65 | /* System MMR Write Is Stalled Indefinitely when Killed in a Particular Stage */ | 77 | /* System MMR Write Is Stalled Indefinitely When Killed in a Particular Stage */ |
66 | #define ANOMALY_05000283 (__SILICON_REVISION__ < 4) | 78 | #define ANOMALY_05000283 (__SILICON_REVISION__ < 4) |
67 | /* SPORTs May Receive Bad Data If FIFOs Fill Up */ | 79 | /* SPORTs May Receive Bad Data If FIFOs Fill Up */ |
68 | #define ANOMALY_05000288 (__SILICON_REVISION__ < 4) | 80 | #define ANOMALY_05000288 (__SILICON_REVISION__ < 4) |
@@ -80,14 +92,14 @@ | |||
80 | #define ANOMALY_05000307 (__SILICON_REVISION__ < 4) | 92 | #define ANOMALY_05000307 (__SILICON_REVISION__ < 4) |
81 | /* False Hardware Errors Caused by Fetches at the Boundary of Reserved Memory */ | 93 | /* False Hardware Errors Caused by Fetches at the Boundary of Reserved Memory */ |
82 | #define ANOMALY_05000310 (1) | 94 | #define ANOMALY_05000310 (1) |
83 | /* Errors when SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted */ | 95 | /* Errors When SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted */ |
84 | #define ANOMALY_05000312 (__SILICON_REVISION__ < 5) | 96 | #define ANOMALY_05000312 (__SILICON_REVISION__ < 5) |
85 | /* PPI Is Level-Sensitive on First Transfer */ | 97 | /* PPI Is Level-Sensitive on First Transfer In Single Frame Sync Modes */ |
86 | #define ANOMALY_05000313 (__SILICON_REVISION__ < 4) | 98 | #define ANOMALY_05000313 (__SILICON_REVISION__ < 4) |
87 | /* Killed System MMR Write Completes Erroneously on Next System MMR Access */ | 99 | /* Killed System MMR Write Completes Erroneously On Next System MMR Access */ |
88 | #define ANOMALY_05000315 (__SILICON_REVISION__ < 4) | 100 | #define ANOMALY_05000315 (__SILICON_REVISION__ < 4) |
89 | /* PFx Glitch on Write to FIO_FLAG_D or FIO_FLAG_T */ | 101 | /* PFx Glitch on Write to FIO_FLAG_D or FIO_FLAG_T */ |
90 | #define ANOMALY_05000318 (__SILICON_REVISION__ < 4) | 102 | #define ANOMALY_05000318 (ANOMALY_BF539 && __SILICON_REVISION__ < 4) |
91 | /* Regulator Programming Blocked when Hibernate Wakeup Source Remains Active */ | 103 | /* Regulator Programming Blocked when Hibernate Wakeup Source Remains Active */ |
92 | #define ANOMALY_05000355 (__SILICON_REVISION__ < 5) | 104 | #define ANOMALY_05000355 (__SILICON_REVISION__ < 5) |
93 | /* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */ | 105 | /* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */ |
@@ -114,23 +126,45 @@ | |||
114 | #define ANOMALY_05000436 (__SILICON_REVISION__ > 3) | 126 | #define ANOMALY_05000436 (__SILICON_REVISION__ > 3) |
115 | /* IFLUSH Instruction at End of Hardware Loop Causes Infinite Stall */ | 127 | /* IFLUSH Instruction at End of Hardware Loop Causes Infinite Stall */ |
116 | #define ANOMALY_05000443 (1) | 128 | #define ANOMALY_05000443 (1) |
129 | /* False Hardware Error when RETI points to invalid memory */ | ||
130 | #define ANOMALY_05000461 (1) | ||
117 | 131 | ||
118 | /* Anomalies that don't exist on this proc */ | 132 | /* Anomalies that don't exist on this proc */ |
133 | #define ANOMALY_05000099 (0) | ||
134 | #define ANOMALY_05000120 (0) | ||
135 | #define ANOMALY_05000149 (0) | ||
119 | #define ANOMALY_05000158 (0) | 136 | #define ANOMALY_05000158 (0) |
137 | #define ANOMALY_05000171 (0) | ||
120 | #define ANOMALY_05000198 (0) | 138 | #define ANOMALY_05000198 (0) |
139 | #define ANOMALY_05000215 (0) | ||
140 | #define ANOMALY_05000220 (0) | ||
141 | #define ANOMALY_05000227 (0) | ||
121 | #define ANOMALY_05000230 (0) | 142 | #define ANOMALY_05000230 (0) |
143 | #define ANOMALY_05000231 (0) | ||
144 | #define ANOMALY_05000242 (0) | ||
145 | #define ANOMALY_05000248 (0) | ||
146 | #define ANOMALY_05000250 (0) | ||
147 | #define ANOMALY_05000254 (0) | ||
122 | #define ANOMALY_05000263 (0) | 148 | #define ANOMALY_05000263 (0) |
149 | #define ANOMALY_05000274 (0) | ||
150 | #define ANOMALY_05000287 (0) | ||
123 | #define ANOMALY_05000305 (0) | 151 | #define ANOMALY_05000305 (0) |
124 | #define ANOMALY_05000311 (0) | 152 | #define ANOMALY_05000311 (0) |
125 | #define ANOMALY_05000323 (0) | 153 | #define ANOMALY_05000323 (0) |
126 | #define ANOMALY_05000353 (1) | 154 | #define ANOMALY_05000353 (1) |
155 | #define ANOMALY_05000362 (1) | ||
127 | #define ANOMALY_05000363 (0) | 156 | #define ANOMALY_05000363 (0) |
128 | #define ANOMALY_05000380 (0) | 157 | #define ANOMALY_05000380 (0) |
129 | #define ANOMALY_05000386 (1) | 158 | #define ANOMALY_05000386 (1) |
159 | #define ANOMALY_05000389 (0) | ||
160 | #define ANOMALY_05000400 (0) | ||
130 | #define ANOMALY_05000412 (0) | 161 | #define ANOMALY_05000412 (0) |
162 | #define ANOMALY_05000430 (0) | ||
131 | #define ANOMALY_05000432 (0) | 163 | #define ANOMALY_05000432 (0) |
132 | #define ANOMALY_05000435 (0) | 164 | #define ANOMALY_05000435 (0) |
133 | #define ANOMALY_05000447 (0) | 165 | #define ANOMALY_05000447 (0) |
134 | #define ANOMALY_05000448 (0) | 166 | #define ANOMALY_05000448 (0) |
167 | #define ANOMALY_05000456 (0) | ||
168 | #define ANOMALY_05000450 (0) | ||
135 | 169 | ||
136 | #endif | 170 | #endif |