2 * Modified by Charles Manning by adding ydevconfig command.
12 #define PRINTF(fmt,args...) printf (fmt ,##args)
14 #define PRINTF(fmt,args...) do { } while(0)
17 extern void cmd_yaffs_devconfig(char *mp, int flash_dev, int start_block, int end_block);
18 extern void cmd_yaffs_mount(char *mp);
19 extern void cmd_yaffs_umount(char *mp);
20 extern void cmd_yaffs_read_file(char *fn);
21 extern void cmd_yaffs_write_file(char *fn,char bval,int sizeOfFile);
22 extern void cmd_yaffs_ls(const char *mountpt, int longlist);
23 extern void cmd_yaffs_mwrite_file(char *fn, char *addr, int size);
24 extern void cmd_yaffs_mread_file(char *fn, char *addr);
25 extern void cmd_yaffs_mkdir(const char *dir);
26 extern void cmd_yaffs_rmdir(const char *dir);
27 extern void cmd_yaffs_rm(const char *path);
28 extern void cmd_yaffs_mv(const char *oldPath, const char *newPath);
30 extern int yaffs_dump_dev(const char *path);
33 /* ydevconfig mount_pt mtd_dev_num start_block end_block */
34 int do_ydevconfig (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
42 printf("Bad arguments: ydevconfig mount_pt mtd_dev start_block end_block\n");
47 mtd_dev = simple_strtol(argv[2], NULL, 16);
48 start_block = simple_strtol(argv[3], NULL, 16);
49 end_block = simple_strtol(argv[4], NULL, 16);
51 printf("Configure yaffs2 mount point %s on nand device %d from block %x to block %x\n",
52 mtpoint, mtd_dev, start_block, end_block);
54 cmd_yaffs_devconfig(mtpoint, mtd_dev, start_block, end_block);
59 int do_ymount (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
64 printf("Bad arguments: ymount mount_pt\n");
69 printf("Mounting yaffs2 mount point %s\n",mtpoint);
71 cmd_yaffs_mount(mtpoint);
76 int do_yumount (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
81 printf("Bad arguments: yumount mount_pt\n");
86 printf("Unmounting yaffs2 mount point %s\n",mtpoint);
87 cmd_yaffs_umount(mtpoint);
92 int do_yls (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
96 if(argc < 2 || argc > 3 ||
97 (argc == 3 && strcmp(argv[1],"-l"))) {
98 printf("Bad arguments: yls [-l] dir\n");
102 dirname = argv[argc-1];
104 cmd_yaffs_ls(dirname, (argc>2)?1:0);
109 int do_yrd (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
114 printf("Bad arguments: yrd file_name\n");
120 printf ("Reading file %s ", filename);
122 cmd_yaffs_read_file(filename);
128 int do_ywr (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
135 printf("Bad arguments: ywr file_name value n_values\n");
140 value = simple_strtoul(argv[2], NULL, 16);
141 numValues = simple_strtoul(argv[3], NULL, 16);
143 printf ("Writing value (%lx) %lx times to %s... ", value, numValues, filename);
145 cmd_yaffs_write_file(filename,value,numValues);
151 int do_yrdm (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
157 printf("Bad arguments: yrdm file_name addr\n");
162 addr = simple_strtoul(argv[2], NULL, 16);
164 cmd_yaffs_mread_file(filename, (char *)addr);
169 int do_ywrm (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
176 printf("Bad arguments: ywrm file_name addr size\n");
181 addr = simple_strtoul(argv[2], NULL, 16);
182 size = simple_strtoul(argv[3], NULL, 16);
184 cmd_yaffs_mwrite_file(filename, (char *)addr, size);
189 int do_ymkdir (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
194 printf("Bad arguments: ymkdir dir_name\n");
199 cmd_yaffs_mkdir(dirname);
204 int do_yrmdir (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
209 printf("Bad arguments: yrmdir dir_name\n");
214 cmd_yaffs_rmdir(dirname);
219 int do_yrm (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
224 printf("Bad arguments: yrm name\n");
235 int do_ymv (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
241 printf("Bad arguments: ymv old_path new_path\n");
248 cmd_yaffs_mv(newPath, oldPath);
254 ydevconfig, 5, 0, do_ydevconfig,
255 "configure yaffs mount point",
256 "ydevconfig mtpoint mtd_id start_block end_block configures a yaffs2 mount point"
260 ymount, 2, 0, do_ymount,
262 "ymount mtpoint mounts a yaffs2 mount point"
267 yumount, 2, 0, do_yumount,
269 "yunmount mtpoint unmounts a yaffs2 mount point"
280 "read file from yaffs",
281 "yrd path read file from yaffs"
286 "write file to yaffs",
287 "ywr filename value num_vlues write values to yaffs file"
292 "read file to memory from yaffs",
293 "yrdm filename offset reads yaffs file into memory"
298 "write file from memory to yaffs",
299 "ywrm filename offset size writes memory to yaffs file"
303 ymkdir, 2, 0, do_ymkdir,
305 "ymkdir dir create a yaffs directory"
309 yrmdir, 2, 0, do_yrmdir,
311 "yrmdir dirname removes a yaffs directory"
317 "yrm path removes a yaffs file"
323 "ymv old_path new_path moves/rename files within a yaffs mount point"