mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 06:00:43 +00:00
CFI: Add geometry reversal for STMicro M29W320ET
Added flash_fixup_stm to fix geometry reversal on STMicro M29W320ET flash chip. Modeled after flash_fixup_amd, this patch handles the geometry reversal or erase sectors that exist for ST Micro (now Numonyx) M29W320ET flash. Since I cannot test all STM's chips, the detection is implemented as narrow as possible for now. Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
0f8e851e89
commit
e8eac43718
1 changed files with 17 additions and 0 deletions
|
@ -1808,6 +1808,20 @@ static void flash_fixup_atmel(flash_info_t *info, struct cfi_qry *qry)
|
||||||
cfi_reverse_geometry(qry);
|
cfi_reverse_geometry(qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void flash_fixup_stm(flash_info_t *info, struct cfi_qry *qry)
|
||||||
|
{
|
||||||
|
/* check if flash geometry needs reversal */
|
||||||
|
if (qry->num_erase_regions > 1) {
|
||||||
|
/* reverse geometry if top boot part */
|
||||||
|
if (info->cfi_version < 0x3131) {
|
||||||
|
/* CFI < 1.1, guess by device id (only M29W320ET now) */
|
||||||
|
if (info->device_id == 0x2256) {
|
||||||
|
cfi_reverse_geometry(qry);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following code cannot be run from FLASH!
|
* The following code cannot be run from FLASH!
|
||||||
*
|
*
|
||||||
|
@ -1881,6 +1895,9 @@ ulong flash_get_size (ulong base, int banknum)
|
||||||
case 0x001f:
|
case 0x001f:
|
||||||
flash_fixup_atmel(info, &qry);
|
flash_fixup_atmel(info, &qry);
|
||||||
break;
|
break;
|
||||||
|
case 0x0020:
|
||||||
|
flash_fixup_stm(info, &qry);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
debug ("manufacturer is %d\n", info->vendor);
|
debug ("manufacturer is %d\n", info->vendor);
|
||||||
|
|
Loading…
Reference in a new issue