[U-Boot] [PATCH 00/12] cmd_sf: Add support for read and write instructions

Jagan Teki jagannadh.teki at gmail.com
Sat Mar 2 09:29:38 CET 2013


Hi All,

On Fri, Jan 11, 2013 at 7:46 AM, Simon Glass <sjg at chromium.org> wrote:
> Hi Jagannadha,
>
> On Mon, Dec 31, 2012 at 3:13 AM, Jagannadha Sutradharudu Teki
> <jagannadh.teki at gmail.com> wrote:
>> All these patches are added a support for read and write instruction
>> for programming/reading SPI flash.
>>
>
> I think this is all great and very useful - since no one else has
> commented I will have a try.
>
>> Read and Write instruction are implemented as a command line
>> arguments for 'sf write' , 'sf read' and 'sf update' commands.
>>
>> Currently I have added below instructions those are commonly available
>> on all flash types.
>
> Maybe you could use flags like -d for dual, -q for quad, -p for page,
> -s for slow, -o for output only. So maybe:
>
> -p > pp - Page Program (existing one)
> -qp > qpp - Quad-input Page Program
> <empty> > afr - Array Fast Read (existing one)
> -s > asr - Array Slow Read
> -do > dofr - Dual Output Fast Read
> -qo > qofr - Quad Output Fast Read
> -d > diofr - Dual IO Fast Read
> -q > qiofr - Quad IO Fast Read
>
> I worry that your scheme would be hard to remember.
>
>
>>
>> I have tested mostly of the instruction on real h/w.
>>
>> This entire implementation will change the current sf framework little bit but
>> I thought these changes are worth to add.
>
> Yes very much so.
>
>>
>> Request for all your comment, so-that I can move forward.
>> Please let me know for any issue regarding this new implementation.
>
> Regards,
> Simon
>
>>
>> Thanks,
>> Jagan.
>>
>> Jagannadha Sutradharudu Teki (12):
>>   cmd_sf: Add wr_inst argument to 'sf write' command
>>   cmd_sf: Add rd_inst argument to 'sf read' command
>>   cmd_sf: Add wr_inst argument to 'sf update' command
>>   cmd_sf: Add rd_inst argument to 'sf update' command
>>   cmd_sf: Define a functions for parsing read and write instructions
>>   cmd_sf: Add QPP(Quad-input Page Program) write instruction support
>>   cmd_sf: Add ASR(Array Slow Read) read instruction support
>>   cmd_sf: Add DOFR(Dual Output Fast Read) read instruction support
>>   cmd_sf: Add QOFR(Quad Output Fast Read) read instruction support
>>   cmd_sf: Add DIOFR(Dual IO Fast Read) read instruction support
>>   cmd_sf: Add QIOFR(Quad IO Fast Read) read instruction support
>>   sf: Pass rd_qeb_req variable as 0 for status and config reg reads
>>
>>  common/cmd_sf.c                      |  198 +++++++++++++++++++++++++++++-----
>>  drivers/mtd/spi/spi_flash.c          |   40 +++++--
>>  drivers/mtd/spi/spi_flash_internal.h |   10 +-
>>  include/spi_flash.h                  |   22 ++--
>>  include/spi_flash_inst.h             |   39 +++++++
>>  5 files changed, 257 insertions(+), 52 deletions(-)
>>  create mode 100644 include/spi_flash_inst.h
>>

Since these changes I have sent long back, I am just re-modified the
framework to
add new features at the same time with backward comparability for
current commands.

Current command setup:
sf write
sf read
sf update

Changed command set: [no changes in the argument count]
sf write     ---  current command
sf write.pp --  same as sf write
sf write.qp -- quad program

sf read   -- current read
sf read.af --- array flast read, same as sf read
sf read.as -- array slow read
sf read.do --- dual out
sf read.qo -- quad out
sf read.dio -- dual io
sf read.qio -- quad io

sf update  -- current update
sf update.pp.af -- write page program, read array fast, same as sf update
sf update.pp.as - write page program, read array slow
sf update.pp.do - write page program, read dual out
sf update.pp.qo - write page program, read quad out
sf update.pp.dio - write page program, read dual io
sf update.pp.qio - write page program, read quad io
sf update.qp.af - write quad program, read array fast
sf update.qp.as - write quad program, read array slow
sf update.qp.do - write quad program, read dual out
sf update.qp.qo - write quad program, read quad out
sf update.qp.dio - write quad program, read dual io
sf update.qp.qio - write quad program, read quad io

Though it seems to be lengthy, but may useful with lot of combinations
from user.
My intention is to use the existing argument count with changes in the
command set.

Request for your inputs.

Thanks,
Jagan.

>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot


More information about the U-Boot mailing list