diff options
Diffstat (limited to 'arch/blackfin/mach-bf533')
-rw-r--r-- | arch/blackfin/mach-bf533/boards/ezkit.c | 106 | ||||
-rw-r--r-- | arch/blackfin/mach-bf533/boards/stamp.c | 2 | ||||
-rw-r--r-- | arch/blackfin/mach-bf533/include/mach/anomaly.h | 78 | ||||
-rw-r--r-- | arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h | 2 | ||||
-rw-r--r-- | arch/blackfin/mach-bf533/include/mach/blackfin.h | 1 | ||||
-rw-r--r-- | arch/blackfin/mach-bf533/include/mach/mem_map.h | 56 |
6 files changed, 158 insertions, 87 deletions
diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c index 89a5ec4ca048..4e3e511bf146 100644 --- a/arch/blackfin/mach-bf533/boards/ezkit.c +++ b/arch/blackfin/mach-bf533/boards/ezkit.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <linux/platform_device.h> | 32 | #include <linux/platform_device.h> |
33 | #include <linux/mtd/mtd.h> | 33 | #include <linux/mtd/mtd.h> |
34 | #include <linux/mtd/partitions.h> | 34 | #include <linux/mtd/partitions.h> |
35 | #include <linux/mtd/plat-ram.h> | ||
35 | #include <linux/spi/spi.h> | 36 | #include <linux/spi/spi.h> |
36 | #include <linux/spi/flash.h> | 37 | #include <linux/spi/flash.h> |
37 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | 38 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) |
@@ -86,6 +87,101 @@ static struct platform_device smc91x_device = { | |||
86 | }; | 87 | }; |
87 | #endif | 88 | #endif |
88 | 89 | ||
90 | #if defined(CONFIG_MTD_PSD4256G) || defined(CONFIG_MTD_PSD4256G_MODULE) | ||
91 | static const char *map_probes[] = { | ||
92 | "stm_flash", | ||
93 | NULL, | ||
94 | }; | ||
95 | |||
96 | static struct platdata_mtd_ram stm_pri_data_a = { | ||
97 | .mapname = "Flash A Primary", | ||
98 | .map_probes = map_probes, | ||
99 | .bankwidth = 2, | ||
100 | }; | ||
101 | |||
102 | static struct resource stm_pri_resource_a = { | ||
103 | .start = 0x20000000, | ||
104 | .end = 0x200fffff, | ||
105 | .flags = IORESOURCE_MEM, | ||
106 | }; | ||
107 | |||
108 | static struct platform_device stm_pri_device_a = { | ||
109 | .name = "mtd-ram", | ||
110 | .id = 0, | ||
111 | .dev = { | ||
112 | .platform_data = &stm_pri_data_a, | ||
113 | }, | ||
114 | .num_resources = 1, | ||
115 | .resource = &stm_pri_resource_a, | ||
116 | }; | ||
117 | |||
118 | static struct platdata_mtd_ram stm_pri_data_b = { | ||
119 | .mapname = "Flash B Primary", | ||
120 | .map_probes = map_probes, | ||
121 | .bankwidth = 2, | ||
122 | }; | ||
123 | |||
124 | static struct resource stm_pri_resource_b = { | ||
125 | .start = 0x20100000, | ||
126 | .end = 0x201fffff, | ||
127 | .flags = IORESOURCE_MEM, | ||
128 | }; | ||
129 | |||
130 | static struct platform_device stm_pri_device_b = { | ||
131 | .name = "mtd-ram", | ||
132 | .id = 4, | ||
133 | .dev = { | ||
134 | .platform_data = &stm_pri_data_b, | ||
135 | }, | ||
136 | .num_resources = 1, | ||
137 | .resource = &stm_pri_resource_b, | ||
138 | }; | ||
139 | #endif | ||
140 | |||
141 | #if defined(CONFIG_MTD_PLATRAM) || defined(CONFIG_MTD_PLATRAM_MODULE) | ||
142 | static struct platdata_mtd_ram sram_data_a = { | ||
143 | .mapname = "Flash A SRAM", | ||
144 | .bankwidth = 2, | ||
145 | }; | ||
146 | |||
147 | static struct resource sram_resource_a = { | ||
148 | .start = 0x20240000, | ||
149 | .end = 0x2024ffff, | ||
150 | .flags = IORESOURCE_MEM, | ||
151 | }; | ||
152 | |||
153 | static struct platform_device sram_device_a = { | ||
154 | .name = "mtd-ram", | ||
155 | .id = 8, | ||
156 | .dev = { | ||
157 | .platform_data = &sram_data_a, | ||
158 | }, | ||
159 | .num_resources = 1, | ||
160 | .resource = &sram_resource_a, | ||
161 | }; | ||
162 | |||
163 | static struct platdata_mtd_ram sram_data_b = { | ||
164 | .mapname = "Flash B SRAM", | ||
165 | .bankwidth = 2, | ||
166 | }; | ||
167 | |||
168 | static struct resource sram_resource_b = { | ||
169 | .start = 0x202c0000, | ||
170 | .end = 0x202cffff, | ||
171 | .flags = IORESOURCE_MEM, | ||
172 | }; | ||
173 | |||
174 | static struct platform_device sram_device_b = { | ||
175 | .name = "mtd-ram", | ||
176 | .id = 9, | ||
177 | .dev = { | ||
178 | .platform_data = &sram_data_b, | ||
179 | }, | ||
180 | .num_resources = 1, | ||
181 | .resource = &sram_resource_b, | ||
182 | }; | ||
183 | #endif | ||
184 | |||
89 | #if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE) | 185 | #if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE) |
90 | static struct mtd_partition bfin_spi_flash_partitions[] = { | 186 | static struct mtd_partition bfin_spi_flash_partitions[] = { |
91 | { | 187 | { |
@@ -357,6 +453,16 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
357 | 453 | ||
358 | &bfin_dpmc, | 454 | &bfin_dpmc, |
359 | 455 | ||
456 | #if defined(CONFIG_MTD_PSD4256G) || defined(CONFIG_MTD_PSD4256G_MODULE) | ||
457 | &stm_pri_device_a, | ||
458 | &stm_pri_device_b, | ||
459 | #endif | ||
460 | |||
461 | #if defined(CONFIG_MTD_PLATRAM) || defined(CONFIG_MTD_PLATRAM_MODULE) | ||
462 | &sram_device_a, | ||
463 | &sram_device_b, | ||
464 | #endif | ||
465 | |||
360 | #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) | 466 | #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) |
361 | &smc91x_device, | 467 | &smc91x_device, |
362 | #endif | 468 | #endif |
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c index a68ade8a3ca2..3d743ccaff6a 100644 --- a/arch/blackfin/mach-bf533/boards/stamp.c +++ b/arch/blackfin/mach-bf533/boards/stamp.c | |||
@@ -453,7 +453,7 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
453 | .irq = 39, | 453 | .irq = 39, |
454 | }, | 454 | }, |
455 | #endif | 455 | #endif |
456 | #if defined(CONFIG_BFIN_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) | 456 | #if defined(CONFIG_BFIN_TWI_LCD) || defined(CONFIG_BFIN_TWI_LCD_MODULE) |
457 | { | 457 | { |
458 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), | 458 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), |
459 | }, | 459 | }, |
diff --git a/arch/blackfin/mach-bf533/include/mach/anomaly.h b/arch/blackfin/mach-bf533/include/mach/anomaly.h index 31145b509e20..cd83db2fb1a1 100644 --- a/arch/blackfin/mach-bf533/include/mach/anomaly.h +++ b/arch/blackfin/mach-bf533/include/mach/anomaly.h | |||
@@ -34,7 +34,7 @@ | |||
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 slot2 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) |
@@ -46,7 +46,7 @@ | |||
46 | #define ANOMALY_05000122 (1) | 46 | #define ANOMALY_05000122 (1) |
47 | /* Instruction DMA Can Cause Data Cache Fills to Fail (Boot Implications) */ | 47 | /* Instruction DMA Can Cause Data Cache Fills to Fail (Boot Implications) */ |
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 SPORTs on while External Frame Sync Is Active May Corrupt Data */ | 51 | /* Turning SPORTs on while External Frame Sync Is Active May Corrupt Data */ |
52 | #define ANOMALY_05000167 (1) | 52 | #define ANOMALY_05000167 (1) |
@@ -56,13 +56,13 @@ | |||
56 | #define ANOMALY_05000180 (1) | 56 | #define ANOMALY_05000180 (1) |
57 | /* Timer Pin Limitations for PPI TX Modes with External Frame Syncs */ | 57 | /* Timer Pin Limitations for PPI TX Modes with External Frame Syncs */ |
58 | #define ANOMALY_05000183 (__SILICON_REVISION__ < 4) | 58 | #define ANOMALY_05000183 (__SILICON_REVISION__ < 4) |
59 | /* False Protection Exceptions */ | 59 | /* False Protection Exceptions when Speculative Fetch Is Cancelled */ |
60 | #define ANOMALY_05000189 (__SILICON_REVISION__ < 4) | 60 | #define ANOMALY_05000189 (__SILICON_REVISION__ < 4) |
61 | /* False I/O Pin Interrupts on Edge-Sensitive Inputs When Polarity Setting Is Changed */ | 61 | /* False I/O Pin Interrupts on Edge-Sensitive Inputs When Polarity Setting Is Changed */ |
62 | #define ANOMALY_05000193 (__SILICON_REVISION__ < 4) | 62 | #define ANOMALY_05000193 (__SILICON_REVISION__ < 4) |
63 | /* Restarting SPORT in Specific Modes May Cause Data Corruption */ | 63 | /* Restarting SPORT in Specific Modes May Cause Data Corruption */ |
64 | #define ANOMALY_05000194 (__SILICON_REVISION__ < 4) | 64 | #define ANOMALY_05000194 (__SILICON_REVISION__ < 4) |
65 | /* Failing MMR Accesses When Stalled by Preceding Memory Read */ | 65 | /* Failing MMR Accesses when Preceding Memory Read Stalls */ |
66 | #define ANOMALY_05000198 (__SILICON_REVISION__ < 5) | 66 | #define ANOMALY_05000198 (__SILICON_REVISION__ < 5) |
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) |
@@ -74,7 +74,7 @@ | |||
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 */ |
76 | #define ANOMALY_05000203 (__SILICON_REVISION__ < 4) | 76 | #define ANOMALY_05000203 (__SILICON_REVISION__ < 4) |
77 | /* Incorrect data read with write-through cache and allocate cache lines on reads only mode */ | 77 | /* Incorrect Data Read with Writethrough "Allocate Cache Lines on Reads Only" Cache Mode */ |
78 | #define ANOMALY_05000204 (__SILICON_REVISION__ < 4 && ANOMALY_BF533) | 78 | #define ANOMALY_05000204 (__SILICON_REVISION__ < 4 && ANOMALY_BF533) |
79 | /* Recovery from "Brown-Out" Condition */ | 79 | /* Recovery from "Brown-Out" Condition */ |
80 | #define ANOMALY_05000207 (__SILICON_REVISION__ < 4) | 80 | #define ANOMALY_05000207 (__SILICON_REVISION__ < 4) |
@@ -106,7 +106,7 @@ | |||
106 | #define ANOMALY_05000244 (__SILICON_REVISION__ < 5) | 106 | #define ANOMALY_05000244 (__SILICON_REVISION__ < 5) |
107 | /* False 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 False Hardware Errors */ |
110 | #define ANOMALY_05000246 (__SILICON_REVISION__ < 5) | 110 | #define ANOMALY_05000246 (__SILICON_REVISION__ < 5) |
111 | /* Incorrect Bit Shift of Data Word in Multichannel (TDM) Mode in Certain Conditions */ | 111 | /* Incorrect Bit Shift of Data Word in Multichannel (TDM) Mode in Certain Conditions */ |
112 | #define ANOMALY_05000250 (__SILICON_REVISION__ == 4) | 112 | #define ANOMALY_05000250 (__SILICON_REVISION__ == 4) |
@@ -148,21 +148,21 @@ | |||
148 | #define ANOMALY_05000277 (__SILICON_REVISION__ < 6) | 148 | #define ANOMALY_05000277 (__SILICON_REVISION__ < 6) |
149 | /* Disabling Peripherals with DMA Running May Cause DMA System Instability */ | 149 | /* Disabling Peripherals with DMA Running May Cause DMA System Instability */ |
150 | #define ANOMALY_05000278 (__SILICON_REVISION__ < 6) | 150 | #define ANOMALY_05000278 (__SILICON_REVISION__ < 6) |
151 | /* False Hardware Error Exception When ISR Context Is Not Restored */ | 151 | /* False Hardware Error Exception when ISR Context Is Not Restored */ |
152 | #define ANOMALY_05000281 (__SILICON_REVISION__ < 6) | 152 | #define ANOMALY_05000281 (__SILICON_REVISION__ < 6) |
153 | /* Memory DMA Corruption with 32-Bit Data and Traffic Control */ | 153 | /* Memory DMA Corruption with 32-Bit Data and Traffic Control */ |
154 | #define ANOMALY_05000282 (__SILICON_REVISION__ < 6) | 154 | #define ANOMALY_05000282 (__SILICON_REVISION__ < 6) |
155 | /* System MMR Write Is Stalled Indefinitely When Killed in a Particular Stage */ | 155 | /* System MMR Write Is Stalled Indefinitely when Killed in a Particular Stage */ |
156 | #define ANOMALY_05000283 (__SILICON_REVISION__ < 6) | 156 | #define ANOMALY_05000283 (__SILICON_REVISION__ < 6) |
157 | /* SPORTs May Receive Bad Data If FIFOs Fill Up */ | 157 | /* SPORTs May Receive Bad Data If FIFOs Fill Up */ |
158 | #define ANOMALY_05000288 (__SILICON_REVISION__ < 6) | 158 | #define ANOMALY_05000288 (__SILICON_REVISION__ < 6) |
159 | /* Memory-To-Memory DMA Source/Destination Descriptors Must Be in Same Memory Space */ | 159 | /* Memory-To-Memory DMA Source/Destination Descriptors Must Be in Same Memory Space */ |
160 | #define ANOMALY_05000301 (__SILICON_REVISION__ < 6) | 160 | #define ANOMALY_05000301 (__SILICON_REVISION__ < 6) |
161 | /* SSYNCs After Writes To DMA MMR Registers May Not Be Handled Correctly */ | 161 | /* SSYNCs after Writes to DMA MMR Registers May Not Be Handled Correctly */ |
162 | #define ANOMALY_05000302 (__SILICON_REVISION__ < 5) | 162 | #define ANOMALY_05000302 (__SILICON_REVISION__ < 5) |
163 | /* SPORT_HYS Bit in PLL_CTL Register Is Not Functional */ | 163 | /* SPORT_HYS Bit in PLL_CTL Register Is Not Functional */ |
164 | #define ANOMALY_05000305 (__SILICON_REVISION__ < 5) | 164 | #define ANOMALY_05000305 (__SILICON_REVISION__ < 5) |
165 | /* New Feature: Additional PPI Frame Sync Sampling Options (Not Available On Older Silicon) */ | 165 | /* ALT_TIMING Bit in PPI_CONTROL Register Is Not Functional */ |
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) /* note: brokenness is noted in documentation, not anomaly sheet */ | 168 | #define ANOMALY_05000307 (1) /* note: brokenness is noted in documentation, not anomaly sheet */ |
@@ -170,11 +170,11 @@ | |||
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 In Single Frame Sync Modes */ | 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) |
179 | /* Internal Voltage Regulator Values of 1.05V, 1.10V and 1.15V Not Allowed for LQFP Packages */ | 179 | /* Internal Voltage Regulator Values of 1.05V, 1.10V and 1.15V Not Allowed for LQFP Packages */ |
180 | #define ANOMALY_05000319 ((ANOMALY_BF531 || ANOMALY_BF532) && __SILICON_REVISION__ < 6) | 180 | #define ANOMALY_05000319 ((ANOMALY_BF531 || ANOMALY_BF532) && __SILICON_REVISION__ < 6) |
@@ -200,7 +200,7 @@ | |||
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 */ | 203 | /* False Hardware Error when RETI Points to Invalid Memory */ |
204 | #define ANOMALY_05000461 (1) | 204 | #define ANOMALY_05000461 (1) |
205 | 205 | ||
206 | /* 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 |
@@ -215,17 +215,17 @@ | |||
215 | #define ANOMALY_05000070 (__SILICON_REVISION__ < 2) | 215 | #define ANOMALY_05000070 (__SILICON_REVISION__ < 2) |
216 | /* Writing FIO_DIR can corrupt a programmable flag's data */ | 216 | /* Writing FIO_DIR can corrupt a programmable flag's data */ |
217 | #define ANOMALY_05000079 (__SILICON_REVISION__ < 2) | 217 | #define ANOMALY_05000079 (__SILICON_REVISION__ < 2) |
218 | /* Timer Auto-Baud Mode requires the UART clock to be enabled */ | 218 | /* Timer Auto-Baud Mode requires the UART clock to be enabled. */ |
219 | #define ANOMALY_05000086 (__SILICON_REVISION__ < 2) | 219 | #define ANOMALY_05000086 (__SILICON_REVISION__ < 2) |
220 | /* Internal Clocking Modes on SPORT0 not supported */ | 220 | /* Internal Clocking Modes on SPORT0 not supported */ |
221 | #define ANOMALY_05000088 (__SILICON_REVISION__ < 2) | 221 | #define ANOMALY_05000088 (__SILICON_REVISION__ < 2) |
222 | /* Internal voltage regulator does not wake up from an RTC wakeup */ | 222 | /* Internal voltage regulator does not wake up from an RTC wakeup */ |
223 | #define ANOMALY_05000092 (__SILICON_REVISION__ < 2) | 223 | #define ANOMALY_05000092 (__SILICON_REVISION__ < 2) |
224 | /* The IFLUSH instruction must be preceded by a CSYNC instruction */ | 224 | /* The IFLUSH Instruction Must Be Preceded by a CSYNC Instruction */ |
225 | #define ANOMALY_05000093 (__SILICON_REVISION__ < 2) | 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 */ | 226 | /* Vectoring to instruction that is being filled into the i-cache may cause erroneous behavior */ |
227 | #define ANOMALY_05000095 (__SILICON_REVISION__ < 2) | 227 | #define ANOMALY_05000095 (__SILICON_REVISION__ < 2) |
228 | /* PREFETCH, FLUSH, and FLUSHINV must be followed by a CSYNC */ | 228 | /* PREFETCH, FLUSH, and FLUSHINV Instructions Must Be Followed by a CSYNC Instruction */ |
229 | #define ANOMALY_05000096 (__SILICON_REVISION__ < 2) | 229 | #define ANOMALY_05000096 (__SILICON_REVISION__ < 2) |
230 | /* Performance Monitor 0 and 1 are swapped when monitoring memory events */ | 230 | /* Performance Monitor 0 and 1 are swapped when monitoring memory events */ |
231 | #define ANOMALY_05000097 (__SILICON_REVISION__ < 2) | 231 | #define ANOMALY_05000097 (__SILICON_REVISION__ < 2) |
@@ -235,45 +235,45 @@ | |||
235 | #define ANOMALY_05000100 (__SILICON_REVISION__ < 2) | 235 | #define ANOMALY_05000100 (__SILICON_REVISION__ < 2) |
236 | /* Reading X_MODIFY or Y_MODIFY while DMA channel is active */ | 236 | /* Reading X_MODIFY or Y_MODIFY while DMA channel is active */ |
237 | #define ANOMALY_05000101 (__SILICON_REVISION__ < 2) | 237 | #define ANOMALY_05000101 (__SILICON_REVISION__ < 2) |
238 | /* Descriptor-based MemDMA may lock up with 32-bit transfers or if transfers span 64KB buffers */ | 238 | /* Descriptor MemDMA may lock up with 32-bit transfers or if transfers span 64KB buffers */ |
239 | #define ANOMALY_05000102 (__SILICON_REVISION__ < 2) | 239 | #define ANOMALY_05000102 (__SILICON_REVISION__ < 2) |
240 | /* Incorrect value written to the cycle counters */ | 240 | /* Incorrect Value Written to the Cycle Counters */ |
241 | #define ANOMALY_05000103 (__SILICON_REVISION__ < 2) | 241 | #define ANOMALY_05000103 (__SILICON_REVISION__ < 2) |
242 | /* Stores to L1 Data memory incorrect when a specific sequence is followed */ | 242 | /* Stores to L1 Data Memory Incorrect when a Specific Sequence Is Followed */ |
243 | #define ANOMALY_05000104 (__SILICON_REVISION__ < 2) | 243 | #define ANOMALY_05000104 (__SILICON_REVISION__ < 2) |
244 | /* Programmable Flag (PF3) functionality not supported in all PPI modes */ | 244 | /* Programmable Flag (PF3) functionality not supported in all PPI modes */ |
245 | #define ANOMALY_05000106 (__SILICON_REVISION__ < 2) | 245 | #define ANOMALY_05000106 (__SILICON_REVISION__ < 2) |
246 | /* Data store can be lost when targeting a cache line fill */ | 246 | /* Data store can be lost when targeting a cache line fill */ |
247 | #define ANOMALY_05000107 (__SILICON_REVISION__ < 2) | 247 | #define ANOMALY_05000107 (__SILICON_REVISION__ < 2) |
248 | /* Reserved bits in SYSCFG register not set at power on */ | 248 | /* Reserved Bits in SYSCFG Register Not Set at Power-On */ |
249 | #define ANOMALY_05000109 (__SILICON_REVISION__ < 3) | 249 | #define ANOMALY_05000109 (__SILICON_REVISION__ < 3) |
250 | /* Infinite Core Stall */ | 250 | /* Infinite Core Stall */ |
251 | #define ANOMALY_05000114 (__SILICON_REVISION__ < 2) | 251 | #define ANOMALY_05000114 (__SILICON_REVISION__ < 2) |
252 | /* PPI_FSx may glitch when generated by the on chip Timers */ | 252 | /* PPI_FSx may glitch when generated by the on chip Timers. */ |
253 | #define ANOMALY_05000115 (__SILICON_REVISION__ < 2) | 253 | #define ANOMALY_05000115 (__SILICON_REVISION__ < 2) |
254 | /* Trace Buffers may record discontinuities into emulation mode and/or exception, NMI, reset handlers */ | 254 | /* Trace Buffers May Contain Errors in Emulation Mode and/or Exception, NMI, Reset Handlers */ |
255 | #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 */ | 256 | /* DTEST registers allow access to Data Cache when DTEST_COMMAND< 14 >= 0 */ |
257 | #define ANOMALY_05000117 (__SILICON_REVISION__ < 2) | 257 | #define ANOMALY_05000117 (__SILICON_REVISION__ < 2) |
258 | /* Booting from an 8-bit or 24-bit Addressable SPI device is not supported */ | 258 | /* Booting from an 8-bit or 24-bit Addressable SPI device is not supported */ |
259 | #define ANOMALY_05000118 (__SILICON_REVISION__ < 2) | 259 | #define ANOMALY_05000118 (__SILICON_REVISION__ < 2) |
260 | /* 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 */ |
261 | #define ANOMALY_05000123 (__SILICON_REVISION__ < 3) | 261 | #define ANOMALY_05000123 (__SILICON_REVISION__ < 3) |
262 | /* 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 */ |
263 | #define ANOMALY_05000124 (__SILICON_REVISION__ < 3) | 263 | #define ANOMALY_05000124 (__SILICON_REVISION__ < 3) |
264 | /* Erroneous exception when enabling cache */ | 264 | /* Erroneous Exception when Enabling Cache */ |
265 | #define ANOMALY_05000125 (__SILICON_REVISION__ < 3) | 265 | #define ANOMALY_05000125 (__SILICON_REVISION__ < 3) |
266 | /* SPI clock polarity and phase bits incorrect during booting */ | 266 | /* SPI clock polarity and phase bits incorrect during booting */ |
267 | #define ANOMALY_05000126 (__SILICON_REVISION__ < 3) | 267 | #define ANOMALY_05000126 (__SILICON_REVISION__ < 3) |
268 | /* DMEM_CONTROL is not set on Reset */ | 268 | /* DMEM_CONTROL<12> Is Not Set on Reset */ |
269 | #define ANOMALY_05000137 (__SILICON_REVISION__ < 3) | 269 | #define ANOMALY_05000137 (__SILICON_REVISION__ < 3) |
270 | /* 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 */ |
271 | #define ANOMALY_05000138 (__SILICON_REVISION__ == 2) | 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 */ | 272 | /* TIMERx_CONFIG[5] must be set for PPI in GP output mode with internal Frame Syncs */ |
273 | #define ANOMALY_05000139 (__SILICON_REVISION__ < 2) | 273 | #define ANOMALY_05000139 (__SILICON_REVISION__ < 2) |
274 | /* Allowing the SPORT RX FIFO to fill will cause an overflow */ | 274 | /* Allowing the SPORT RX FIFO to fill will cause an overflow */ |
275 | #define ANOMALY_05000140 (__SILICON_REVISION__ < 3) | 275 | #define ANOMALY_05000140 (__SILICON_REVISION__ < 3) |
276 | /* An Infinite Stall occurs with a particular sequence of consecutive dual dag events */ | 276 | /* Infinite Stall may occur with a particular sequence of consecutive dual dag events */ |
277 | #define ANOMALY_05000141 (__SILICON_REVISION__ < 3) | 277 | #define ANOMALY_05000141 (__SILICON_REVISION__ < 3) |
278 | /* Interrupts may be lost when a programmable input flag is configured to be edge sensitive */ | 278 | /* Interrupts may be lost when a programmable input flag is configured to be edge sensitive */ |
279 | #define ANOMALY_05000142 (__SILICON_REVISION__ < 3) | 279 | #define ANOMALY_05000142 (__SILICON_REVISION__ < 3) |
@@ -287,7 +287,7 @@ | |||
287 | #define ANOMALY_05000146 (__SILICON_REVISION__ < 3) | 287 | #define ANOMALY_05000146 (__SILICON_REVISION__ < 3) |
288 | /* Source MDMA descriptor may stop with a DMA Error near beginning of descriptor fetch */ | 288 | /* Source MDMA descriptor may stop with a DMA Error near beginning of descriptor fetch */ |
289 | #define ANOMALY_05000147 (__SILICON_REVISION__ < 3) | 289 | #define ANOMALY_05000147 (__SILICON_REVISION__ < 3) |
290 | /* When booting from a 16-bit asynchronous memory device, the upper 8-bits of each word must be 0x00 */ | 290 | /* When booting from 16-bit asynchronous memory, the upper 8 bits of each word must be 0x00 */ |
291 | #define ANOMALY_05000148 (__SILICON_REVISION__ < 3) | 291 | #define ANOMALY_05000148 (__SILICON_REVISION__ < 3) |
292 | /* Frame Delay in SPORT Multichannel Mode */ | 292 | /* Frame Delay in SPORT Multichannel Mode */ |
293 | #define ANOMALY_05000153 (__SILICON_REVISION__ < 3) | 293 | #define ANOMALY_05000153 (__SILICON_REVISION__ < 3) |
@@ -295,13 +295,13 @@ | |||
295 | #define ANOMALY_05000154 (__SILICON_REVISION__ < 3) | 295 | #define ANOMALY_05000154 (__SILICON_REVISION__ < 3) |
296 | /* 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 */ |
297 | #define ANOMALY_05000155 (__SILICON_REVISION__ < 3) | 297 | #define ANOMALY_05000155 (__SILICON_REVISION__ < 3) |
298 | /* Killed 32-bit MMR write leads to 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 */ |
299 | #define ANOMALY_05000157 (__SILICON_REVISION__ < 3) | 299 | #define ANOMALY_05000157 (__SILICON_REVISION__ < 3) |
300 | /* 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 */ |
301 | #define ANOMALY_05000163 (__SILICON_REVISION__ < 3) | 301 | #define ANOMALY_05000163 (__SILICON_REVISION__ < 3) |
302 | /* SDRAM auto-refresh and subsequent Power Ups */ | 302 | /* Undefined Behavior when Power-Up Sequence Is Issued to SDRAM during Auto-Refresh */ |
303 | #define ANOMALY_05000168 (__SILICON_REVISION__ < 3) | 303 | #define ANOMALY_05000168 (__SILICON_REVISION__ < 3) |
304 | /* DATA CPLB page miss can result in lost write-through cache data writes */ | 304 | /* DATA CPLB Page Miss Can Result in Lost Write-Through Data Cache Writes */ |
305 | #define ANOMALY_05000169 (__SILICON_REVISION__ < 3) | 305 | #define ANOMALY_05000169 (__SILICON_REVISION__ < 3) |
306 | /* DMA vs Core accesses to external memory */ | 306 | /* DMA vs Core accesses to external memory */ |
307 | #define ANOMALY_05000173 (__SILICON_REVISION__ < 3) | 307 | #define ANOMALY_05000173 (__SILICON_REVISION__ < 3) |
@@ -309,15 +309,15 @@ | |||
309 | #define ANOMALY_05000174 (__SILICON_REVISION__ < 3) | 309 | #define ANOMALY_05000174 (__SILICON_REVISION__ < 3) |
310 | /* Overlapping Sequencer and Memory Stalls */ | 310 | /* Overlapping Sequencer and Memory Stalls */ |
311 | #define ANOMALY_05000175 (__SILICON_REVISION__ < 3) | 311 | #define ANOMALY_05000175 (__SILICON_REVISION__ < 3) |
312 | /* Multiplication of (-1) by (-1) followed by an accumulator saturation */ | 312 | /* Overflow Bit Asserted when Multiplication of -1 by -1 Followed by Accumulator Saturation */ |
313 | #define ANOMALY_05000176 (__SILICON_REVISION__ < 3) | 313 | #define ANOMALY_05000176 (__SILICON_REVISION__ < 3) |
314 | /* Disabling the PPI resets the PPI configuration registers */ | 314 | /* Disabling the PPI Resets the PPI Configuration Registers */ |
315 | #define ANOMALY_05000181 (__SILICON_REVISION__ < 3) | 315 | #define ANOMALY_05000181 (__SILICON_REVISION__ < 3) |
316 | /* PPI TX Mode with 2 External Frame Syncs */ | 316 | /* Early PPI Transmit when FS1 Asserts before FS2 in TX Mode with 2 External Frame Syncs */ |
317 | #define ANOMALY_05000185 (__SILICON_REVISION__ < 3) | 317 | #define ANOMALY_05000185 (__SILICON_REVISION__ < 3) |
318 | /* PPI does not invert the Driving PPICLK edge in Transmit Modes */ | 318 | /* PPI does not invert the Driving PPICLK edge in Transmit Modes */ |
319 | #define ANOMALY_05000191 (__SILICON_REVISION__ < 3) | 319 | #define ANOMALY_05000191 (__SILICON_REVISION__ < 3) |
320 | /* In PPI Transmit Modes with External Frame Syncs POLC */ | 320 | /* In PPI Transmit Modes with External Frame Syncs POLC bit must be set to 1 */ |
321 | #define ANOMALY_05000192 (__SILICON_REVISION__ < 3) | 321 | #define ANOMALY_05000192 (__SILICON_REVISION__ < 3) |
322 | /* Internal Voltage Regulator may not start up */ | 322 | /* Internal Voltage Regulator may not start up */ |
323 | #define ANOMALY_05000206 (__SILICON_REVISION__ < 3) | 323 | #define ANOMALY_05000206 (__SILICON_REVISION__ < 3) |
@@ -326,6 +326,7 @@ | |||
326 | #define ANOMALY_05000120 (0) | 326 | #define ANOMALY_05000120 (0) |
327 | #define ANOMALY_05000149 (0) | 327 | #define ANOMALY_05000149 (0) |
328 | #define ANOMALY_05000171 (0) | 328 | #define ANOMALY_05000171 (0) |
329 | #define ANOMALY_05000182 (0) | ||
329 | #define ANOMALY_05000220 (0) | 330 | #define ANOMALY_05000220 (0) |
330 | #define ANOMALY_05000248 (0) | 331 | #define ANOMALY_05000248 (0) |
331 | #define ANOMALY_05000266 (0) | 332 | #define ANOMALY_05000266 (0) |
@@ -334,6 +335,7 @@ | |||
334 | #define ANOMALY_05000323 (0) | 335 | #define ANOMALY_05000323 (0) |
335 | #define ANOMALY_05000353 (1) | 336 | #define ANOMALY_05000353 (1) |
336 | #define ANOMALY_05000362 (1) | 337 | #define ANOMALY_05000362 (1) |
338 | #define ANOMALY_05000364 (0) | ||
337 | #define ANOMALY_05000380 (0) | 339 | #define ANOMALY_05000380 (0) |
338 | #define ANOMALY_05000386 (1) | 340 | #define ANOMALY_05000386 (1) |
339 | #define ANOMALY_05000389 (0) | 341 | #define ANOMALY_05000389 (0) |
@@ -345,5 +347,7 @@ | |||
345 | #define ANOMALY_05000448 (0) | 347 | #define ANOMALY_05000448 (0) |
346 | #define ANOMALY_05000456 (0) | 348 | #define ANOMALY_05000456 (0) |
347 | #define ANOMALY_05000450 (0) | 349 | #define ANOMALY_05000450 (0) |
350 | #define ANOMALY_05000465 (0) | ||
351 | #define ANOMALY_05000467 (0) | ||
348 | 352 | ||
349 | #endif | 353 | #endif |
diff --git a/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h b/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h index a3789d7ccf8c..4062e24e759b 100644 --- a/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h +++ b/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h | |||
@@ -53,7 +53,7 @@ | |||
53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) | 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) |
54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) | 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) |
55 | 55 | ||
56 | #define UART_GET_CTS(x) (!gpio_get_value(x->cts_pin)) | 56 | #define UART_GET_CTS(x) gpio_get_value(x->cts_pin) |
57 | #define UART_DISABLE_RTS(x) gpio_set_value(x->rts_pin, 1) | 57 | #define UART_DISABLE_RTS(x) gpio_set_value(x->rts_pin, 1) |
58 | #define UART_ENABLE_RTS(x) gpio_set_value(x->rts_pin, 0) | 58 | #define UART_ENABLE_RTS(x) gpio_set_value(x->rts_pin, 0) |
59 | #define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v) | 59 | #define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v) |
diff --git a/arch/blackfin/mach-bf533/include/mach/blackfin.h b/arch/blackfin/mach-bf533/include/mach/blackfin.h index 045184f81a29..39aa175f19f5 100644 --- a/arch/blackfin/mach-bf533/include/mach/blackfin.h +++ b/arch/blackfin/mach-bf533/include/mach/blackfin.h | |||
@@ -34,7 +34,6 @@ | |||
34 | #define BF533_FAMILY | 34 | #define BF533_FAMILY |
35 | 35 | ||
36 | #include "bf533.h" | 36 | #include "bf533.h" |
37 | #include "mem_map.h" | ||
38 | #include "defBF532.h" | 37 | #include "defBF532.h" |
39 | #include "anomaly.h" | 38 | #include "anomaly.h" |
40 | 39 | ||
diff --git a/arch/blackfin/mach-bf533/include/mach/mem_map.h b/arch/blackfin/mach-bf533/include/mach/mem_map.h index fc33b7cb9937..197af1a398ac 100644 --- a/arch/blackfin/mach-bf533/include/mach/mem_map.h +++ b/arch/blackfin/mach-bf533/include/mach/mem_map.h | |||
@@ -1,38 +1,16 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf533/mem_map.h | 2 | * BF533 memory map |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2004-2009 Analog Devices Inc. |
7 | * Description: | 5 | * Licensed under the GPL-2 or later. |
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 6 | */ |
30 | 7 | ||
31 | #ifndef _MEM_MAP_533_H_ | 8 | #ifndef __BFIN_MACH_MEM_MAP_H__ |
32 | #define _MEM_MAP_533_H_ | 9 | #define __BFIN_MACH_MEM_MAP_H__ |
33 | 10 | ||
34 | #define COREMMR_BASE 0xFFE00000 /* Core MMRs */ | 11 | #ifndef __BFIN_MEM_MAP_H__ |
35 | #define SYSMMR_BASE 0xFFC00000 /* System MMRs */ | 12 | # error "do not include mach/mem_map.h directly -- use asm/mem_map.h" |
13 | #endif | ||
36 | 14 | ||
37 | /* Async Memory Banks */ | 15 | /* Async Memory Banks */ |
38 | #define ASYNC_BANK3_BASE 0x20300000 /* Async Bank 3 */ | 16 | #define ASYNC_BANK3_BASE 0x20300000 /* Async Bank 3 */ |
@@ -158,20 +136,4 @@ | |||
158 | 136 | ||
159 | #endif | 137 | #endif |
160 | 138 | ||
161 | /* Level 2 Memory - none */ | 139 | #endif |
162 | |||
163 | #define L2_START 0 | ||
164 | #define L2_LENGTH 0 | ||
165 | |||
166 | /* Scratch Pad Memory */ | ||
167 | |||
168 | #define L1_SCRATCH_START 0xFFB00000 | ||
169 | #define L1_SCRATCH_LENGTH 0x1000 | ||
170 | |||
171 | #define GET_PDA_SAFE(preg) \ | ||
172 | preg.l = _cpu_pda; \ | ||
173 | preg.h = _cpu_pda; | ||
174 | |||
175 | #define GET_PDA(preg, dreg) GET_PDA_SAFE(preg) | ||
176 | |||
177 | #endif /* _MEM_MAP_533_H_ */ | ||