uboot/common/cmd_yaffs2.c
<<
>>
Prefs
   1#include <common.h>
   2
   3#include <config.h>
   4#include <command.h>
   5
   6#ifdef  YAFFS2_DEBUG
   7#define PRINTF(fmt,args...) printf (fmt ,##args)
   8#else
   9#define PRINTF(fmt,args...)
  10#endif
  11
  12extern void cmd_yaffs_mount(char *mp);
  13extern void cmd_yaffs_umount(char *mp);
  14extern void cmd_yaffs_read_file(char *fn);
  15extern void cmd_yaffs_write_file(char *fn,char bval,int sizeOfFile);
  16extern void cmd_yaffs_ls(const char *mountpt, int longlist);
  17extern void cmd_yaffs_mwrite_file(char *fn, char *addr, int size);
  18extern void cmd_yaffs_mread_file(char *fn, char *addr);
  19extern void cmd_yaffs_mkdir(const char *dir);
  20extern void cmd_yaffs_rmdir(const char *dir);
  21extern void cmd_yaffs_rm(const char *path);
  22extern void cmd_yaffs_mv(const char *oldPath, const char *newPath);
  23
  24extern int yaffs_DumpDevStruct(const char *path);
  25
  26
  27int do_ymount (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  28{
  29    char *mtpoint = argv[1];
  30    cmd_yaffs_mount(mtpoint);
  31
  32    return(0);
  33}
  34
  35int do_yumount (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  36{
  37    char *mtpoint = argv[1];
  38    cmd_yaffs_umount(mtpoint);
  39
  40    return(0);
  41}
  42
  43int do_yls (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  44{
  45    char *dirname = argv[argc-1];
  46
  47    cmd_yaffs_ls(dirname, (argc>2)?1:0);
  48
  49    return(0);
  50}
  51
  52int do_yrd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  53{
  54    char *filename = argv[1];
  55    printf ("Reading file %s ", filename);
  56
  57    cmd_yaffs_read_file(filename);
  58
  59    printf ("done\n");
  60    return(0);
  61}
  62
  63int do_ywr (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  64{
  65    char *filename = argv[1];
  66    ulong value = simple_strtoul(argv[2], NULL, 16);
  67    ulong numValues = simple_strtoul(argv[3], NULL, 16);
  68
  69    printf ("Writing value (%x) %x times to %s... ", value, numValues, filename);
  70
  71    cmd_yaffs_write_file(filename,value,numValues);
  72
  73    printf ("done\n");
  74    return(0);
  75}
  76
  77int do_yrdm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  78{
  79    char *filename = argv[1];
  80    ulong addr = simple_strtoul(argv[2], NULL, 16);
  81
  82    cmd_yaffs_mread_file(filename, (char *)addr);
  83
  84    return(0);
  85}
  86
  87int do_ywrm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  88{
  89    char *filename = argv[1];
  90    ulong addr = simple_strtoul(argv[2], NULL, 16);
  91    ulong size = simple_strtoul(argv[3], NULL, 16);
  92
  93    cmd_yaffs_mwrite_file(filename, (char *)addr, size);
  94
  95    return(0);
  96}
  97
  98int do_ymkdir (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  99{
 100    char *dirname = argv[1];
 101
 102    cmd_yaffs_mkdir(dirname);
 103
 104    return(0);
 105}
 106
 107int do_yrmdir (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 108{
 109    char *dirname = argv[1];
 110
 111    cmd_yaffs_rmdir(dirname);
 112
 113    return(0);
 114}
 115
 116int do_yrm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 117{
 118    char *path = argv[1];
 119
 120    cmd_yaffs_rm(path);
 121
 122    return(0);
 123}
 124
 125int do_ymv (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 126{
 127    char *oldPath = argv[1];
 128    char *newPath = argv[2];
 129
 130    cmd_yaffs_mv(newPath, oldPath);
 131
 132    return(0);
 133}
 134
 135int do_ydump (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 136{
 137    char *dirname = argv[1];
 138    if (yaffs_DumpDevStruct(dirname) != 0)
 139        printf("yaffs_DumpDevStruct returning error when dumping path: , %s\n", dirname);
 140    return 0;
 141}
 142
 143U_BOOT_CMD(
 144    ymount, 3,  0,  do_ymount,
 145    "mount yaffs",
 146    ""
 147);
 148
 149U_BOOT_CMD(
 150    yumount, 3,  0,  do_yumount,
 151    "unmount yaffs",
 152    ""
 153);
 154
 155U_BOOT_CMD(
 156    yls,    4,  0,  do_yls,
 157    "yaffs ls",
 158    "[-l] name"
 159);
 160
 161U_BOOT_CMD(
 162    yrd,    2,  0,  do_yrd,
 163    "read file from yaffs",
 164    "filename"
 165);
 166
 167U_BOOT_CMD(
 168    ywr,    4,  0,  do_ywr,
 169    "write file to yaffs",
 170    "filename value num_vlues"
 171);
 172
 173U_BOOT_CMD(
 174    yrdm,   3,  0,  do_yrdm,
 175    "read file to memory from yaffs",
 176    "filename offset"
 177);
 178
 179U_BOOT_CMD(
 180    ywrm,   4,  0,  do_ywrm,
 181    "write file from memory to yaffs",
 182    "filename offset size"
 183);
 184
 185U_BOOT_CMD(
 186    ymkdir, 2,  0,  do_ymkdir,
 187    "YAFFS mkdir",
 188    "dirname"
 189);
 190
 191U_BOOT_CMD(
 192    yrmdir, 2,  0,  do_yrmdir,
 193    "YAFFS rmdir",
 194    "dirname"
 195);
 196
 197U_BOOT_CMD(
 198    yrm,    2,  0,  do_yrm,
 199    "YAFFS rm",
 200    "path"
 201);
 202
 203U_BOOT_CMD(
 204    ymv,    4,  0,  do_ymv,
 205    "YAFFS mv",
 206    "oldPath newPath"
 207);
 208
 209U_BOOT_CMD(
 210    ydump,  2,  0,  do_ydump,
 211    "YAFFS device struct",
 212    "dirname"
 213);
 214