[U-Boot] [PATCH v3 2/9] sf: Update Atmel flash params

Bin Meng bmeng.cn at gmail.com
Mon Jan 12 04:32:43 CET 2015


Hi Bo,

On Fri, Jan 9, 2015 at 5:27 PM, Bo Shen <voice.shen at atmel.com> wrote:
> Hi Meng,
>
>
> On 12/10/2014 08:51 PM, Bin Meng wrote:
>>
>> Update flash sector size to 4KiB as long as flash supports sector
>> erase (20h) command. Correct AT25DF321 JEDEC ID and bulk erase
>> command to 50h instead of D8h. Also add AT25DF321A params per
>> datasheet.
>>
>> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
>> ---
>>
>>   drivers/mtd/spi/sf_internal.h |  5 +++++
>>   drivers/mtd/spi/sf_params.c   | 17 +++++++++--------
>>   drivers/mtd/spi/sf_probe.c    |  4 ++++
>>   3 files changed, 18 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/mtd/spi/sf_internal.h b/drivers/mtd/spi/sf_internal.h
>> index 785f7a9..8010fc5 100644
>> --- a/drivers/mtd/spi/sf_internal.h
>> +++ b/drivers/mtd/spi/sf_internal.h
>> @@ -106,6 +106,11 @@ enum {
>>   #define SPI_FLASH_PAGE_ERASE_TIMEOUT          (5 * CONFIG_SYS_HZ)
>>   #define SPI_FLASH_SECTOR_ERASE_TIMEOUT        (10 * CONFIG_SYS_HZ)
>>
>> +/* Atmel specific */
>> +#ifdef CONFIG_SPI_FLASH_ATMEL
>> +# define CMD_ATMEL_BLK_ERASE   0x50
>> +#endif
>> +
>>   /* SST specific */
>>   #ifdef CONFIG_SPI_FLASH_SST
>>   # define CMD_SST_BP           0x02    /* Byte Program */
>> diff --git a/drivers/mtd/spi/sf_params.c b/drivers/mtd/spi/sf_params.c
>> index 5482700..cc4cd60 100644
>> --- a/drivers/mtd/spi/sf_params.c
>> +++ b/drivers/mtd/spi/sf_params.c
>> @@ -15,14 +15,15 @@
>>   /* SPI/QSPI flash device params structure */
>>   const struct spi_flash_params spi_flash_params_table[] = {
>>   #ifdef CONFIG_SPI_FLASH_ATMEL         /* ATMEL */
>> -       {"AT45DB011D",     0x1f2200, 0x0,       64 * 1024,     4, RD_NORM,
>> SECT_4K},
>> -       {"AT45DB021D",     0x1f2300, 0x0,       64 * 1024,     8, RD_NORM,
>> SECT_4K},
>> -       {"AT45DB041D",     0x1f2400, 0x0,       64 * 1024,     8, RD_NORM,
>> SECT_4K},
>> -       {"AT45DB081D",     0x1f2500, 0x0,       64 * 1024,    16, RD_NORM,
>> SECT_4K},
>> -       {"AT45DB161D",     0x1f2600, 0x0,       64 * 1024,    32, RD_NORM,
>> SECT_4K},
>> -       {"AT45DB321D",     0x1f2700, 0x0,       64 * 1024,    64, RD_NORM,
>> SECT_4K},
>> -       {"AT45DB641D",     0x1f2800, 0x0,       64 * 1024,   128, RD_NORM,
>> SECT_4K},
>> -       {"AT25DF321",      0x1f4701, 0x0,       64 * 1024,    64, RD_NORM,
>> SECT_4K},
>> +       {"AT45DB011D",     0x1f2200, 0x0,        2 * 1024,    64, RD_NORM,
>> 0},
>> +       {"AT45DB021D",     0x1f2300, 0x0,        2 * 1024,   128, RD_NORM,
>> 0},
>> +       {"AT45DB041D",     0x1f2400, 0x0,        2 * 1024,   256, RD_NORM,
>> 0},
>> +       {"AT45DB081D",     0x1f2500, 0x0,        2 * 1024,   512, RD_NORM,
>> 0},
>> +       {"AT45DB161D",     0x1f2600, 0x0,        4 * 1024,   512, RD_NORM,
>> 0},
>> +       {"AT45DB321D",     0x1f2700, 0x0,        4 * 1024,  1024, RD_NORM,
>> 0},
>
>
> In datasheet, the id is 0x1f2701. Doc number is: 3597Q-DFLASH-6/11. I can
> not find any new datasheet.
>
> And I test on at91sam9m10g45ek board, it also read as this ID (0x1f2701).
>
> So, if you plan to send new version, can you help add this ID? If not, maybe
> follow up patch will be better.
>

Yes, I do plan to send a new version. However I am still waiting for
Jagan's testing results of this patch series. I checked the AT45DB321D
datasheet, the flash ID is indeed 0x1f2701. So the original value on
the params table is wrong. I will fix this in the v4 patch.

[snip]

Regards,
Bin


More information about the U-Boot mailing list