
Hi All,
Any suggestions please.
Thanks, Jagan.
On Sat, Mar 2, 2013 at 1:59 PM, Jagan Teki jagannadh.teki@gmail.com wrote:
Hi All,
On Fri, Jan 11, 2013 at 7:46 AM, Simon Glass sjg@chromium.org wrote:
Hi Jagannadha,
On Mon, Dec 31, 2012 at 3:13 AM, Jagannadha Sutradharudu Teki jagannadh.teki@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@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot