public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] Add Yaffs2 image writing support.
@ 2010-01-10 17:38 Li Wenhao
  2010-03-11 22:41 ` Wolfgang Denk
  2010-04-09 20:43 ` Wolfgang Denk
  0 siblings, 2 replies; 5+ messages in thread
From: Li Wenhao @ 2010-01-10 17:38 UTC (permalink / raw)
  To: u-boot


Signed-off-by: Li Wenhao <liwenhao.g@gmail.com>
---
 common/cmd_nand.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/common/cmd_nand.c b/common/cmd_nand.c
index 075a8af..38c6480 100644
--- a/common/cmd_nand.c
+++ b/common/cmd_nand.c
@@ -390,6 +390,27 @@ int do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 				ret = nand->read_oob(nand, off, &ops);
 			else
 				ret = nand->write_oob(nand, off, &ops);
+		} else if (!strcmp(s, ".yaffs2") && !read) {
+			mtd_oob_ops_t ops = {
+				.mode = MTD_OOB_AUTO,
+				.len = 2048,	/* page size */
+				.ooblen = 64,	/* spare size */
+			};
+
+			ulong page = 0;
+			ulong block_size = ops.len + ops.ooblen;
+			while (page * block_size < size) {
+				ops.datbuf = addr + page * block_size;
+				ops.oobbuf = ops.datbuf + ops.len;
+
+				ret = nand->write_oob(nand, 
+						      off + page * ops.len,
+						      &ops);
+
+				if (ret) break;
+
+				page++;
+			}
 		} else {
 			printf("Unknown nand command suffix '%s'.\n", s);
 			return 1;
-- 
1.6.3.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-04-10 12:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-10 17:38 [U-Boot] [PATCH] Add Yaffs2 image writing support Li Wenhao
2010-03-11 22:41 ` Wolfgang Denk
2010-03-11 23:14   ` Scott Wood
2010-04-09 20:43 ` Wolfgang Denk
2010-04-10 12:27   ` Wenhao Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox