Signed-off-by: 张忠山 <zzs213@xxxxxxx> --- drivers/nor/cfi_flash_amd.c | 7 +++++-- drivers/nor/cfi_flash_intel.c | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/nor/cfi_flash_amd.c b/drivers/nor/cfi_flash_amd.c index 45c59b9..3ab4be0 100644 --- a/drivers/nor/cfi_flash_amd.c +++ b/drivers/nor/cfi_flash_amd.c @@ -62,8 +62,11 @@ static void amd_read_jedec_ids (struct flash_info *info) udelay(1000); /* some flash are slow to respond */ info->manufacturer_id = jedec_read_mfr(info); - info->device_id = flash_read_uchar (info, - FLASH_OFFSET_DEVICE_ID); + if(info->chipwidth == FLASH_CFI_BY16) + info->device_id = flash_read16(flash_make_addr(info, 0, FLASH_OFFSET_DEVICE_ID)); + else + info->device_id = flash_read_uchar (info, + FLASH_OFFSET_DEVICE_ID); if (info->device_id == 0x7E) { /* AMD 3-byte (expanded) device ids */ info->device_id2 = flash_read_uchar (info, diff --git a/drivers/nor/cfi_flash_intel.c b/drivers/nor/cfi_flash_intel.c index 32e581a..75dc5a8 100644 --- a/drivers/nor/cfi_flash_intel.c +++ b/drivers/nor/cfi_flash_intel.c @@ -19,8 +19,11 @@ static void intel_read_jedec_ids (struct flash_info *info) udelay(1000); /* some flash are slow to respond */ info->manufacturer_id = jedec_read_mfr(info); - info->device_id = flash_read_uchar (info, - FLASH_OFFSET_DEVICE_ID); + if(info->chipwidth == FLASH_CFI_BY16) + info->device_id = flash_read16(flash_make_addr(info, 0, FLASH_OFFSET_DEVICE_ID)); + else + info->device_id = flash_read_uchar (info, + FLASH_OFFSET_DEVICE_ID); flash_write_cmd(info, 0, 0, info->cmd_reset); } -- 1.7.4.4 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox