blob: 426e064062a0322ed4a21fe29096869fdcf71cce [file] [log] [blame]
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001/*
2 * File: include/asm-blackfin/mach-bf518/anomaly.h
3 * Bugs: Enter bugs at http://blackfin.uclinux.org/
4 *
Mike Frysingerc18e99c2009-03-04 17:36:49 +08005 * Copyright (C) 2004-2009 Analog Devices Inc.
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08006 * Licensed under the GPL-2 or later.
7 */
8
Mike Frysingera4136472009-05-08 07:40:25 +00009/* This file should be up to date with:
Mike Frysingera200ad22009-06-13 06:37:14 -040010 * - Revision C, 06/12/2009; ADSP-BF512/BF514/BF516/BF518 Blackfin Processor Anomaly List
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080011 */
12
Mike Frysingera4136472009-05-08 07:40:25 +000013/* We plan on not supporting 0.0 silicon, but 0.1 isn't out yet - sorry */
14#if __SILICON_REVISION__ < 0
15# error will not work on BF518 silicon version
16#endif
17
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080018#ifndef _MACH_ANOMALY_H_
19#define _MACH_ANOMALY_H_
20
Mike Frysingera200ad22009-06-13 06:37:14 -040021/* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported */
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080022#define ANOMALY_05000074 (1)
23/* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */
24#define ANOMALY_05000122 (1)
25/* False Hardware Error from an Access in the Shadow of a Conditional Branch */
26#define ANOMALY_05000245 (1)
Mike Frysingerc18e99c2009-03-04 17:36:49 +080027/* Incorrect Timer Pulse Width in Single-Shot PWM_OUT Mode with External Clock */
28#define ANOMALY_05000254 (1)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080029/* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */
30#define ANOMALY_05000265 (1)
31/* False Hardware Errors Caused by Fetches at the Boundary of Reserved Memory */
32#define ANOMALY_05000310 (1)
33/* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */
34#define ANOMALY_05000366 (1)
35/* Lockbox SESR Firmware Does Not Save/Restore Full Context */
36#define ANOMALY_05000405 (1)
37/* Lockbox Firmware Memory Cleanup Routine Does not Clear Registers */
38#define ANOMALY_05000408 (1)
39/* Speculative Fetches Can Cause Undesired External FIFO Operations */
40#define ANOMALY_05000416 (1)
41/* TWI Fall Time (Tof) May Violate the Minimum I2C Specification */
42#define ANOMALY_05000421 (1)
43/* TWI Input Capacitance (Ci) May Violate the Maximum I2C Specification */
44#define ANOMALY_05000422 (1)
45/* Speculative Fetches of Indirect-Pointer Instructions Can Cause False Hardware Errors */
46#define ANOMALY_05000426 (1)
47/* Software System Reset Corrupts PLL_LOCKCNT Register */
Mike Frysingera200ad22009-06-13 06:37:14 -040048#define ANOMALY_05000430 (__SILICON_REVISION__ < 1)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080049/* Incorrect Use of Stack in Lockbox Firmware During Authentication */
50#define ANOMALY_05000431 (1)
51/* Certain SIC Registers are not Reset After Soft or Core Double Fault Reset */
Mike Frysingera200ad22009-06-13 06:37:14 -040052#define ANOMALY_05000435 (__SILICON_REVISION__ < 1)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080053/* PORTx_DRIVE and PORTx_HYSTERESIS Registers Read Back Incorrect Values */
Mike Frysingera200ad22009-06-13 06:37:14 -040054#define ANOMALY_05000438 (__SILICON_REVISION__ < 1)
Mike Frysingera4136472009-05-08 07:40:25 +000055/* Preboot Cannot be Used to Alter the PLL_DIV Register */
Mike Frysingera200ad22009-06-13 06:37:14 -040056#define ANOMALY_05000439 (__SILICON_REVISION__ < 1)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080057/* bfrom_SysControl() Cannot be Used to Write the PLL_DIV Register */
Mike Frysingera200ad22009-06-13 06:37:14 -040058#define ANOMALY_05000440 (__SILICON_REVISION__ < 1)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080059/* IFLUSH Instruction at End of Hardware Loop Causes Infinite Stall */
60#define ANOMALY_05000443 (1)
61/* Incorrect L1 Instruction Bank B Memory Map Location */
Mike Frysingera200ad22009-06-13 06:37:14 -040062#define ANOMALY_05000444 (__SILICON_REVISION__ < 1)
Mike Frysingerc18e99c2009-03-04 17:36:49 +080063/* Incorrect Default Hysteresis Setting for RESET, NMI, and BMODE Signals */
Mike Frysingera200ad22009-06-13 06:37:14 -040064#define ANOMALY_05000452 (__SILICON_REVISION__ < 1)
Mike Frysingerc18e99c2009-03-04 17:36:49 +080065/* PWM_TRIPB Signal Not Available on PG10 */
Mike Frysingera200ad22009-06-13 06:37:14 -040066#define ANOMALY_05000453 (__SILICON_REVISION__ < 1)
Mike Frysingerc18e99c2009-03-04 17:36:49 +080067/* PPI_FS3 is Driven One Half Cycle Later Than PPI Data */
Mike Frysingera200ad22009-06-13 06:37:14 -040068#define ANOMALY_05000455 (__SILICON_REVISION__ < 1)
69/* False Hardware Error when RETI Points to Invalid Memory */
Mike Frysingera4136472009-05-08 07:40:25 +000070#define ANOMALY_05000461 (1)
Mike Frysingera200ad22009-06-13 06:37:14 -040071/* Synchronization Problem at Startup May Cause SPORT Transmit Channels to Misalign */
72#define ANOMALY_05000462 (1)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080073
74/* Anomalies that don't exist on this proc */
Mike Frysingera4136472009-05-08 07:40:25 +000075#define ANOMALY_05000099 (0)
76#define ANOMALY_05000119 (0)
77#define ANOMALY_05000120 (0)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080078#define ANOMALY_05000125 (0)
Mike Frysingera4136472009-05-08 07:40:25 +000079#define ANOMALY_05000149 (0)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080080#define ANOMALY_05000158 (0)
Mike Frysingera4136472009-05-08 07:40:25 +000081#define ANOMALY_05000171 (0)
82#define ANOMALY_05000179 (0)
Mike Frysingera200ad22009-06-13 06:37:14 -040083#define ANOMALY_05000182 (0)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080084#define ANOMALY_05000183 (0)
85#define ANOMALY_05000198 (0)
Mike Frysingera200ad22009-06-13 06:37:14 -040086#define ANOMALY_05000202 (0)
Mike Frysingera4136472009-05-08 07:40:25 +000087#define ANOMALY_05000215 (0)
88#define ANOMALY_05000220 (0)
89#define ANOMALY_05000227 (0)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080090#define ANOMALY_05000230 (0)
Mike Frysingera4136472009-05-08 07:40:25 +000091#define ANOMALY_05000231 (0)
92#define ANOMALY_05000233 (0)
Mike Frysingera200ad22009-06-13 06:37:14 -040093#define ANOMALY_05000234 (0)
Mike Frysingera4136472009-05-08 07:40:25 +000094#define ANOMALY_05000242 (0)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080095#define ANOMALY_05000244 (0)
Mike Frysingera4136472009-05-08 07:40:25 +000096#define ANOMALY_05000248 (0)
97#define ANOMALY_05000250 (0)
Mike Frysingera200ad22009-06-13 06:37:14 -040098#define ANOMALY_05000257 (0)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080099#define ANOMALY_05000261 (0)
100#define ANOMALY_05000263 (0)
101#define ANOMALY_05000266 (0)
102#define ANOMALY_05000273 (0)
Mike Frysingera4136472009-05-08 07:40:25 +0000103#define ANOMALY_05000274 (0)
Mike Frysingeree554be2009-03-03 16:52:55 +0800104#define ANOMALY_05000278 (0)
Mike Frysingera200ad22009-06-13 06:37:14 -0400105#define ANOMALY_05000281 (0)
106#define ANOMALY_05000283 (0)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800107#define ANOMALY_05000285 (0)
Mike Frysingera4136472009-05-08 07:40:25 +0000108#define ANOMALY_05000287 (0)
109#define ANOMALY_05000301 (0)
Mike Frysingerc18e99c2009-03-04 17:36:49 +0800110#define ANOMALY_05000305 (0)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800111#define ANOMALY_05000307 (0)
112#define ANOMALY_05000311 (0)
113#define ANOMALY_05000312 (0)
Mike Frysingera200ad22009-06-13 06:37:14 -0400114#define ANOMALY_05000315 (0)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800115#define ANOMALY_05000323 (0)
116#define ANOMALY_05000353 (0)
Mike Frysingera200ad22009-06-13 06:37:14 -0400117#define ANOMALY_05000357 (0)
Mike Frysingera4136472009-05-08 07:40:25 +0000118#define ANOMALY_05000362 (1)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800119#define ANOMALY_05000363 (0)
Mike Frysingera200ad22009-06-13 06:37:14 -0400120#define ANOMALY_05000371 (0)
Mike Frysingeree554be2009-03-03 16:52:55 +0800121#define ANOMALY_05000380 (0)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800122#define ANOMALY_05000386 (0)
Mike Frysingera4136472009-05-08 07:40:25 +0000123#define ANOMALY_05000389 (0)
124#define ANOMALY_05000400 (0)
Mike Frysinger6651ece2009-01-07 23:14:38 +0800125#define ANOMALY_05000412 (0)
126#define ANOMALY_05000432 (0)
Mike Frysinger7dbc3f62009-03-06 00:20:49 +0800127#define ANOMALY_05000447 (0)
128#define ANOMALY_05000448 (0)
Mike Frysingera4136472009-05-08 07:40:25 +0000129#define ANOMALY_05000456 (0)
130#define ANOMALY_05000450 (0)
Mike Frysingera200ad22009-06-13 06:37:14 -0400131#define ANOMALY_05000465 (0)
132#define ANOMALY_05000467 (0)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800133
134#endif