On 09:48 Thu 22 Nov , 张忠山 wrote: > Signed-off-by: 张忠山 <zzs213@xxxxxxx> > --- > drivers/nor/cfi_flash_amd.c | 22 +++++++++++++--------- > 1 files changed, 13 insertions(+), 9 deletions(-) > > diff --git a/drivers/nor/cfi_flash_amd.c b/drivers/nor/cfi_flash_amd.c > index 45c59b9..8384f46 100644 > --- a/drivers/nor/cfi_flash_amd.c > +++ b/drivers/nor/cfi_flash_amd.c > @@ -62,15 +62,19 @@ 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->device_id == 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); > + 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, > + FLASH_OFFSET_DEVICE_ID2); > + info->device_id2 <<= 8; > + info->device_id2 |= flash_read_uchar (info, > + FLASH_OFFSET_DEVICE_ID3); > + } id2 is present nom matter the bus width Best Regards, J. > } > 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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox