diff options
| author | Graf Yang <graf.yang@analog.com> | 2009-07-01 00:08:01 -0400 |
|---|---|---|
| committer | Mike Frysinger <vapier@gentoo.org> | 2009-07-16 01:52:28 -0400 |
| commit | 10a5ecd03f9f5c374f954cf50a4f85d73f8ce338 (patch) | |
| tree | f91fbb17f4f77202c84d0ccef673f42b15ded2d1 | |
| parent | 532f07ca04c6f8ab0555b00cf5d42dc6f72b802f (diff) | |
Blackfin: update handling of anomaly 364 (wrong rev id in BF527-0.1)
This anomaly only applies to the BF527-0.1, not the BF526-0.1, and not any
other revision of the BF527. So make sure we don't go returning 0xffff
for other cases.
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
| -rw-r--r-- | arch/blackfin/include/asm/processor.h | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/arch/blackfin/include/asm/processor.h b/arch/blackfin/include/asm/processor.h index d0be99be8308..a36ad8dac068 100644 --- a/arch/blackfin/include/asm/processor.h +++ b/arch/blackfin/include/asm/processor.h | |||
| @@ -105,23 +105,16 @@ static inline uint32_t __pure bfin_revid(void) | |||
| 105 | /* Always use CHIPID, to work around ANOMALY_05000234 */ | 105 | /* Always use CHIPID, to work around ANOMALY_05000234 */ |
| 106 | uint32_t revid = (bfin_read_CHIPID() & CHIPID_VERSION) >> 28; | 106 | uint32_t revid = (bfin_read_CHIPID() & CHIPID_VERSION) >> 28; |
| 107 | 107 | ||
| 108 | #ifdef CONFIG_BF52x | 108 | #ifdef _BOOTROM_GET_DXE_ADDRESS_TWI |
| 109 | /* ANOMALY_05000357 | 109 | /* |
| 110 | * ANOMALY_05000364 | ||
| 110 | * Incorrect Revision Number in DSPID Register | 111 | * Incorrect Revision Number in DSPID Register |
| 111 | */ | 112 | */ |
| 112 | if (revid == 0) | 113 | if (ANOMALY_05000364 && |
| 113 | switch (bfin_read16(_BOOTROM_GET_DXE_ADDRESS_TWI)) { | 114 | bfin_read16(_BOOTROM_GET_DXE_ADDRESS_TWI) == 0x2796) |
| 114 | case 0x0010: | 115 | revid = 1; |
| 115 | revid = 0; | ||
| 116 | break; | ||
| 117 | case 0x2796: | ||
| 118 | revid = 1; | ||
| 119 | break; | ||
| 120 | default: | ||
| 121 | revid = 0xFFFF; | ||
| 122 | break; | ||
| 123 | } | ||
| 124 | #endif | 116 | #endif |
| 117 | |||
| 125 | return revid; | 118 | return revid; |
| 126 | } | 119 | } |
| 127 | 120 | ||
