[U-Boot] [PATCH 4/5] sf: Update SST25* flash params of supported read commands

Bin Meng bmeng.cn at gmail.com
Wed Oct 29 07:23:43 CET 2014


Hi Jagan,

On Wed, Oct 29, 2014 at 2:16 PM, Jagan Teki <jagannadh.teki at gmail.com> wrote:
> Hi Bin,
>
> This looks odd to me - supporting array slow without support on fast read.
> Please check the datasheets, and as per as my knowledge/experience it
> should support both.

It is not the flash but the controller only supports array slow read.
Yes, odd controller indeed, but supporting fast read needs a dummy
cycle which I believe requires the controller to know this fact.

> Note: I have tested SST25WF080 with fast read couple of times.

It's no surprise. The spi controller you tested should support both
fast read and slow read.

>>> See below code for more understanding:
>>> /* Look for the fastest read cmd */
>>> cmd = fls(params->e_rd_cmd & flash->spi->op_mode_rx);
>>> if (cmd) {
>>>           cmd = spi_read_cmds_array[cmd - 1];
>>>           flash->read_cmd = cmd;
>>> } else {
>>>            /* Go for default supported read cmd */
>>>            flash->read_cmd = CMD_READ_ARRAY_FAST;
>>> }
>>
>> Yes, I understand the logic here as well. That's why I asked in my
>> previous email
>>
>>> +ARRAY_FAST              = 1 << 5,
>>
>> Whether this one (fast array read) should become 1 << 5. Also I
>> started to question whether it is OK to group these command together
>> like below
>>
>> #define RD_EXTN (ARRAY_SLOW | DUAL_OUTPUT_FAST | DUAL_IO_FAST)
>> #define RD_FULL (RD_EXTN | QUAD_OUTPUT_FAST | QUAD_IO_FAST)
>>
>> Again I need cross check flash datasheets.
>
> Please do - for all [if possible]
>

OK, will do in v2 patch. Thanks for the comments.

Regards,
Bin


More information about the U-Boot mailing list