mtd, cfi: read AMD 3-byte (expanded) device ids on 16bit devices
PATCH 1/1 mtd, cfi: read AMD 3-byte (expanded) device ids on 16bit devices
--- drivers/mtd/cfi_flash.c | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-)
drivers/mtd/cfi_flash.c +11 -2
@@ -1202,8 +1202,9 @@ void flash_print_info (flash_info_t * info) info->manufacturer_id);printf (info->chipwidth ==FLASH_CFI_16BIT ?"%04X" :"%02X" , info->device_id); -if (info->device_id ==0x7E ) { -printf ("%04X" , info->device_id2); +if ((info->device_id &0xff ) ==0x7E ) { +printf (info->chipwidth ==FLASH_CFI_16BIT ?"%04X" :"%02X" , + info->device_id2); } printf ("\n Erase timeout: %ld ms, write timeout: %ld ms\n", info->erase_blk_tout,
@@ -1599,6 +1600,14 @@ static void cmdset_amd_read_jedec_ids(flash_info_t *info)case FLASH_CFI_16BIT : info->device_id =flash_read_word (info,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 ;default :break ;
Signature · 1 line
1.7.4
PATCH 1/1 mtd, cfi: read AMD 3-byte (expanded) device ids on 16bit devices
Hi Heiko,
could you please add an "flinfo" example, with and without this patch? So that we can better see, which problem is fixed. And which device this is needed for/tested on?
Thanks.
Cheers,
Stefan
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de
PATCH v2 1/1 mtd, cfi: read AMD 3-byte (expanded) device ids on 16bit devices
In reply to Heiko Schochertested 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
[...]
---
changes for v2:
- added flinfo output in commit message
drivers/mtd/cfi_flash.c | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-)
drivers/mtd/cfi_flash.c +11 -2
@@ -1202,8 +1202,9 @@ void flash_print_info (flash_info_t * info) info->manufacturer_id);printf (info->chipwidth ==FLASH_CFI_16BIT ?"%04X" :"%02X" , info->device_id); -if (info->device_id ==0x7E ) { -printf ("%04X" , info->device_id2); +if ((info->device_id &0xff ) ==0x7E ) { +printf (info->chipwidth ==FLASH_CFI_16BIT ?"%04X" :"%02X" , + info->device_id2); } printf ("\n Erase timeout: %ld ms, write timeout: %ld ms\n", info->erase_blk_tout,
@@ -1599,6 +1600,14 @@ static void cmdset_amd_read_jedec_ids(flash_info_t *info)case FLASH_CFI_16BIT : info->device_id =flash_read_word (info,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 ;default :break ;
Signature · 1 line
1.7.4
PATCH v2 1/1 mtd, cfi: read AMD 3-byte (expanded) device ids on 16bit devices
Quoted 9 lines · On Monday 11 April 2011 14:16:19 Heiko Schocher wrote:
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:0x227EErase timeout: 16384 ms, write timeout: 2 ms
Buffer write timeout: 5 ms, buffer size: 32 bytes
[...]
Quoted 6 lines
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:0x227E2301Erase timeout: 16384 ms, write timeout: 2 ms
Buffer write timeout: 5 ms, buffer size: 32 bytes
[...]
Applied to u-boot-cfi-flash/master. Thanks.
Cheers,
Stefan
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de