|
@@ -213,10 +213,18 @@ static void fixup_convert_atmel_pri(struct mtd_info *mtd, void *param)
|
|
if (atmel_pri.Features & 0x02)
|
|
if (atmel_pri.Features & 0x02)
|
|
extp->EraseSuspend = 2;
|
|
extp->EraseSuspend = 2;
|
|
|
|
|
|
- if (atmel_pri.BottomBoot)
|
|
|
|
- extp->TopBottom = 2;
|
|
|
|
- else
|
|
|
|
- extp->TopBottom = 3;
|
|
|
|
|
|
+ /* Some chips got it backwards... */
|
|
|
|
+ if (cfi->id == AT49BV6416) {
|
|
|
|
+ if (atmel_pri.BottomBoot)
|
|
|
|
+ extp->TopBottom = 3;
|
|
|
|
+ else
|
|
|
|
+ extp->TopBottom = 2;
|
|
|
|
+ } else {
|
|
|
|
+ if (atmel_pri.BottomBoot)
|
|
|
|
+ extp->TopBottom = 2;
|
|
|
|
+ else
|
|
|
|
+ extp->TopBottom = 3;
|
|
|
|
+ }
|
|
|
|
|
|
/* burst write mode not supported */
|
|
/* burst write mode not supported */
|
|
cfi->cfiq->BufWriteTimeoutTyp = 0;
|
|
cfi->cfiq->BufWriteTimeoutTyp = 0;
|