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 /arch/blackfin | |
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>
Diffstat (limited to 'arch/blackfin')
-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 | ||