mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-27 12:57:13 +00:00
mtd, cfi: read AMD 3-byte (expanded) device ids on 16bit devices
tested on the a4m072 board with a S29GL512P flash. flinfo without this patch Bank # 1: CFI conformant flash (16 x 16) Size: 32 MB in 256 Sectors AMD Standard command set, Manufacturer ID: 0x01, Device ID: 0x227E Erase timeout: 16384 ms, write timeout: 2 ms Buffer write timeout: 5 ms, buffer size: 32 bytes [...] flinfo with this patch Bank # 1: CFI conformant flash (16 x 16) Size: 32 MB in 256 Sectors AMD Standard command set, Manufacturer ID: 0x01, Device ID: 0x227E2301 Erase timeout: 16384 ms, write timeout: 2 ms Buffer write timeout: 5 ms, buffer size: 32 bytes [...] Signed-off-by: Heiko Schocher <hs@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
6a011ce851
commit
5b448adb4b
1 changed files with 11 additions and 2 deletions
|
@ -1202,8 +1202,9 @@ void flash_print_info (flash_info_t * info)
|
||||||
info->manufacturer_id);
|
info->manufacturer_id);
|
||||||
printf (info->chipwidth == FLASH_CFI_16BIT ? "%04X" : "%02X",
|
printf (info->chipwidth == FLASH_CFI_16BIT ? "%04X" : "%02X",
|
||||||
info->device_id);
|
info->device_id);
|
||||||
if (info->device_id == 0x7E) {
|
if ((info->device_id & 0xff) == 0x7E) {
|
||||||
printf("%04X", info->device_id2);
|
printf(info->chipwidth == FLASH_CFI_16BIT ? "%04X" : "%02X",
|
||||||
|
info->device_id2);
|
||||||
}
|
}
|
||||||
printf ("\n Erase timeout: %ld ms, write timeout: %ld ms\n",
|
printf ("\n Erase timeout: %ld ms, write timeout: %ld ms\n",
|
||||||
info->erase_blk_tout,
|
info->erase_blk_tout,
|
||||||
|
@ -1599,6 +1600,14 @@ static void cmdset_amd_read_jedec_ids(flash_info_t *info)
|
||||||
case FLASH_CFI_16BIT:
|
case FLASH_CFI_16BIT:
|
||||||
info->device_id = flash_read_word (info,
|
info->device_id = flash_read_word (info,
|
||||||
FLASH_OFFSET_DEVICE_ID);
|
FLASH_OFFSET_DEVICE_ID);
|
||||||
|
if ((info->device_id & 0xff) == 0x7E) {
|
||||||
|
/* AMD 3-byte (expanded) device ids */
|
||||||
|
info->device_id2 = flash_read_uchar (info,
|
||||||
|
FLASH_OFFSET_DEVICE_ID2);
|
||||||
|
info->device_id2 <<= 8;
|
||||||
|
info->device_id2 |= flash_read_uchar (info,
|
||||||
|
FLASH_OFFSET_DEVICE_ID3);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Reference in a new issue