diff options
Diffstat (limited to 'arch/blackfin/mach-bf533')
-rw-r--r-- | arch/blackfin/mach-bf533/Kconfig | 1 | ||||
-rw-r--r-- | arch/blackfin/mach-bf533/boards/H8606.c | 9 | ||||
-rw-r--r-- | arch/blackfin/mach-bf533/boards/blackstamp.c | 5 | ||||
-rw-r--r-- | arch/blackfin/mach-bf533/boards/cm_bf533.c | 9 | ||||
-rw-r--r-- | arch/blackfin/mach-bf533/boards/ezkit.c | 9 | ||||
-rw-r--r-- | arch/blackfin/mach-bf533/boards/stamp.c | 11 | ||||
-rw-r--r-- | arch/blackfin/mach-bf533/include/mach/anomaly.h | 88 |
7 files changed, 109 insertions, 23 deletions
diff --git a/arch/blackfin/mach-bf533/Kconfig b/arch/blackfin/mach-bf533/Kconfig index 14427de7d77f..4c572443147e 100644 --- a/arch/blackfin/mach-bf533/Kconfig +++ b/arch/blackfin/mach-bf533/Kconfig | |||
@@ -59,6 +59,7 @@ config DMA7_UARTTX | |||
59 | default 10 | 59 | default 10 |
60 | config TIMER0 | 60 | config TIMER0 |
61 | int "TIMER0" | 61 | int "TIMER0" |
62 | default 7 if TICKSOURCE_GPTMR0 | ||
62 | default 8 | 63 | default 8 |
63 | config TIMER1 | 64 | config TIMER1 |
64 | int "TIMER1" | 65 | int "TIMER1" |
diff --git a/arch/blackfin/mach-bf533/boards/H8606.c b/arch/blackfin/mach-bf533/boards/H8606.c index 0c66bf44cfab..38cf8ffd6d74 100644 --- a/arch/blackfin/mach-bf533/boards/H8606.c +++ b/arch/blackfin/mach-bf533/boards/H8606.c | |||
@@ -173,7 +173,7 @@ static struct bfin5xx_spi_chip spi_flash_chip_info = { | |||
173 | }; | 173 | }; |
174 | #endif | 174 | #endif |
175 | 175 | ||
176 | #if defined(CONFIG_SPI_ADC_BF533) || defined(CONFIG_SPI_ADC_BF533_MODULE) | 176 | #if defined(CONFIG_BFIN_SPI_ADC) || defined(CONFIG_BFIN_SPI_ADC_MODULE) |
177 | /* SPI ADC chip */ | 177 | /* SPI ADC chip */ |
178 | static struct bfin5xx_spi_chip spi_adc_chip_info = { | 178 | static struct bfin5xx_spi_chip spi_adc_chip_info = { |
179 | .ctl_reg = 0x1000, | 179 | .ctl_reg = 0x1000, |
@@ -216,7 +216,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
216 | }, | 216 | }, |
217 | #endif | 217 | #endif |
218 | 218 | ||
219 | #if defined(CONFIG_SPI_ADC_BF533) || defined(CONFIG_SPI_ADC_BF533_MODULE) | 219 | #if defined(CONFIG_BFIN_SPI_ADC) || defined(CONFIG_BFIN_SPI_ADC_MODULE) |
220 | { | 220 | { |
221 | .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */ | 221 | .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */ |
222 | .max_speed_hz = 4, /* actual baudrate is SCLK/(2xspeed_hz) */ | 222 | .max_speed_hz = 4, /* actual baudrate is SCLK/(2xspeed_hz) */ |
@@ -266,6 +266,11 @@ static struct resource bfin_spi0_resource[] = { | |||
266 | [1] = { | 266 | [1] = { |
267 | .start = CH_SPI, | 267 | .start = CH_SPI, |
268 | .end = CH_SPI, | 268 | .end = CH_SPI, |
269 | .flags = IORESOURCE_DMA, | ||
270 | }, | ||
271 | [2] = { | ||
272 | .start = IRQ_SPI, | ||
273 | .end = IRQ_SPI, | ||
269 | .flags = IORESOURCE_IRQ, | 274 | .flags = IORESOURCE_IRQ, |
270 | } | 275 | } |
271 | }; | 276 | }; |
diff --git a/arch/blackfin/mach-bf533/boards/blackstamp.c b/arch/blackfin/mach-bf533/boards/blackstamp.c index 0765872a8ada..9ecdc361fa6d 100644 --- a/arch/blackfin/mach-bf533/boards/blackstamp.c +++ b/arch/blackfin/mach-bf533/boards/blackstamp.c | |||
@@ -162,6 +162,11 @@ static struct resource bfin_spi0_resource[] = { | |||
162 | [1] = { | 162 | [1] = { |
163 | .start = CH_SPI, | 163 | .start = CH_SPI, |
164 | .end = CH_SPI, | 164 | .end = CH_SPI, |
165 | .flags = IORESOURCE_DMA, | ||
166 | }, | ||
167 | [2] = { | ||
168 | .start = IRQ_SPI, | ||
169 | .end = IRQ_SPI, | ||
165 | .flags = IORESOURCE_IRQ, | 170 | .flags = IORESOURCE_IRQ, |
166 | } | 171 | } |
167 | }; | 172 | }; |
diff --git a/arch/blackfin/mach-bf533/boards/cm_bf533.c b/arch/blackfin/mach-bf533/boards/cm_bf533.c index e8974878d8c2..1443e92d8b62 100644 --- a/arch/blackfin/mach-bf533/boards/cm_bf533.c +++ b/arch/blackfin/mach-bf533/boards/cm_bf533.c | |||
@@ -82,7 +82,7 @@ static struct bfin5xx_spi_chip spi_flash_chip_info = { | |||
82 | #endif | 82 | #endif |
83 | 83 | ||
84 | /* SPI ADC chip */ | 84 | /* SPI ADC chip */ |
85 | #if defined(CONFIG_SPI_ADC_BF533) || defined(CONFIG_SPI_ADC_BF533_MODULE) | 85 | #if defined(CONFIG_BFIN_SPI_ADC) || defined(CONFIG_BFIN_SPI_ADC_MODULE) |
86 | static struct bfin5xx_spi_chip spi_adc_chip_info = { | 86 | static struct bfin5xx_spi_chip spi_adc_chip_info = { |
87 | .enable_dma = 1, /* use dma transfer with this chip*/ | 87 | .enable_dma = 1, /* use dma transfer with this chip*/ |
88 | .bits_per_word = 16, | 88 | .bits_per_word = 16, |
@@ -117,7 +117,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
117 | }, | 117 | }, |
118 | #endif | 118 | #endif |
119 | 119 | ||
120 | #if defined(CONFIG_SPI_ADC_BF533) || defined(CONFIG_SPI_ADC_BF533_MODULE) | 120 | #if defined(CONFIG_BFIN_SPI_ADC) || defined(CONFIG_BFIN_SPI_ADC_MODULE) |
121 | { | 121 | { |
122 | .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */ | 122 | .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */ |
123 | .max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ */ | 123 | .max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ */ |
@@ -160,6 +160,11 @@ static struct resource bfin_spi0_resource[] = { | |||
160 | [1] = { | 160 | [1] = { |
161 | .start = CH_SPI, | 161 | .start = CH_SPI, |
162 | .end = CH_SPI, | 162 | .end = CH_SPI, |
163 | .flags = IORESOURCE_DMA, | ||
164 | }, | ||
165 | [2] = { | ||
166 | .start = IRQ_SPI, | ||
167 | .end = IRQ_SPI, | ||
163 | .flags = IORESOURCE_IRQ, | 168 | .flags = IORESOURCE_IRQ, |
164 | } | 169 | } |
165 | }; | 170 | }; |
diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c index 08cd0969de47..89a5ec4ca048 100644 --- a/arch/blackfin/mach-bf533/boards/ezkit.c +++ b/arch/blackfin/mach-bf533/boards/ezkit.c | |||
@@ -118,7 +118,7 @@ static struct bfin5xx_spi_chip spi_flash_chip_info = { | |||
118 | }; | 118 | }; |
119 | #endif | 119 | #endif |
120 | 120 | ||
121 | #if defined(CONFIG_SPI_ADC_BF533) || defined(CONFIG_SPI_ADC_BF533_MODULE) | 121 | #if defined(CONFIG_BFIN_SPI_ADC) || defined(CONFIG_BFIN_SPI_ADC_MODULE) |
122 | /* SPI ADC chip */ | 122 | /* SPI ADC chip */ |
123 | static struct bfin5xx_spi_chip spi_adc_chip_info = { | 123 | static struct bfin5xx_spi_chip spi_adc_chip_info = { |
124 | .enable_dma = 1, /* use dma transfer with this chip*/ | 124 | .enable_dma = 1, /* use dma transfer with this chip*/ |
@@ -154,7 +154,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
154 | }, | 154 | }, |
155 | #endif | 155 | #endif |
156 | 156 | ||
157 | #if defined(CONFIG_SPI_ADC_BF533) || defined(CONFIG_SPI_ADC_BF533_MODULE) | 157 | #if defined(CONFIG_BFIN_SPI_ADC) || defined(CONFIG_BFIN_SPI_ADC_MODULE) |
158 | { | 158 | { |
159 | .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */ | 159 | .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */ |
160 | .max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ */ | 160 | .max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ */ |
@@ -196,6 +196,11 @@ static struct resource bfin_spi0_resource[] = { | |||
196 | [1] = { | 196 | [1] = { |
197 | .start = CH_SPI, | 197 | .start = CH_SPI, |
198 | .end = CH_SPI, | 198 | .end = CH_SPI, |
199 | .flags = IORESOURCE_DMA, | ||
200 | }, | ||
201 | [2] = { | ||
202 | .start = IRQ_SPI, | ||
203 | .end = IRQ_SPI, | ||
199 | .flags = IORESOURCE_IRQ, | 204 | .flags = IORESOURCE_IRQ, |
200 | } | 205 | } |
201 | }; | 206 | }; |
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c index db96f33f72e2..a68ade8a3ca2 100644 --- a/arch/blackfin/mach-bf533/boards/stamp.c +++ b/arch/blackfin/mach-bf533/boards/stamp.c | |||
@@ -192,7 +192,7 @@ static struct bfin5xx_spi_chip spi_flash_chip_info = { | |||
192 | }; | 192 | }; |
193 | #endif | 193 | #endif |
194 | 194 | ||
195 | #if defined(CONFIG_SPI_ADC_BF533) || defined(CONFIG_SPI_ADC_BF533_MODULE) | 195 | #if defined(CONFIG_BFIN_SPI_ADC) || defined(CONFIG_BFIN_SPI_ADC_MODULE) |
196 | /* SPI ADC chip */ | 196 | /* SPI ADC chip */ |
197 | static struct bfin5xx_spi_chip spi_adc_chip_info = { | 197 | static struct bfin5xx_spi_chip spi_adc_chip_info = { |
198 | .enable_dma = 1, /* use dma transfer with this chip*/ | 198 | .enable_dma = 1, /* use dma transfer with this chip*/ |
@@ -237,7 +237,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
237 | }, | 237 | }, |
238 | #endif | 238 | #endif |
239 | 239 | ||
240 | #if defined(CONFIG_SPI_ADC_BF533) || defined(CONFIG_SPI_ADC_BF533_MODULE) | 240 | #if defined(CONFIG_BFIN_SPI_ADC) || defined(CONFIG_BFIN_SPI_ADC_MODULE) |
241 | { | 241 | { |
242 | .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */ | 242 | .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */ |
243 | .max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ */ | 243 | .max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ */ |
@@ -299,6 +299,11 @@ static struct resource bfin_spi0_resource[] = { | |||
299 | [1] = { | 299 | [1] = { |
300 | .start = CH_SPI, | 300 | .start = CH_SPI, |
301 | .end = CH_SPI, | 301 | .end = CH_SPI, |
302 | .flags = IORESOURCE_DMA, | ||
303 | }, | ||
304 | [2] = { | ||
305 | .start = IRQ_SPI, | ||
306 | .end = IRQ_SPI, | ||
302 | .flags = IORESOURCE_IRQ, | 307 | .flags = IORESOURCE_IRQ, |
303 | } | 308 | } |
304 | }; | 309 | }; |
@@ -448,7 +453,7 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
448 | .irq = 39, | 453 | .irq = 39, |
449 | }, | 454 | }, |
450 | #endif | 455 | #endif |
451 | #if defined(CONFIG_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) | 456 | #if defined(CONFIG_BFIN_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) |
452 | { | 457 | { |
453 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), | 458 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), |
454 | }, | 459 | }, |
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 |