1*2e192b24SSimon Glass /* 2*2e192b24SSimon Glass * Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved. 3*2e192b24SSimon Glass * 4*2e192b24SSimon Glass * Inspired by cmd_ext_common.c, cmd_fat.c. 5*2e192b24SSimon Glass * 6*2e192b24SSimon Glass * SPDX-License-Identifier: GPL-2.0 7*2e192b24SSimon Glass */ 8*2e192b24SSimon Glass 9*2e192b24SSimon Glass #include <common.h> 10*2e192b24SSimon Glass #include <command.h> 11*2e192b24SSimon Glass #include <fs.h> 12*2e192b24SSimon Glass 13*2e192b24SSimon Glass static int do_size_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) 14*2e192b24SSimon Glass { 15*2e192b24SSimon Glass return do_size(cmdtp, flag, argc, argv, FS_TYPE_ANY); 16*2e192b24SSimon Glass } 17*2e192b24SSimon Glass 18*2e192b24SSimon Glass U_BOOT_CMD( 19*2e192b24SSimon Glass size, 4, 0, do_size_wrapper, 20*2e192b24SSimon Glass "determine a file's size", 21*2e192b24SSimon Glass "<interface> <dev[:part]> <filename>\n" 22*2e192b24SSimon Glass " - Find file 'filename' from 'dev' on 'interface'\n" 23*2e192b24SSimon Glass " and determine its size." 24*2e192b24SSimon Glass ); 25*2e192b24SSimon Glass 26*2e192b24SSimon Glass static int do_load_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, 27*2e192b24SSimon Glass char * const argv[]) 28*2e192b24SSimon Glass { 29*2e192b24SSimon Glass return do_load(cmdtp, flag, argc, argv, FS_TYPE_ANY); 30*2e192b24SSimon Glass } 31*2e192b24SSimon Glass 32*2e192b24SSimon Glass U_BOOT_CMD( 33*2e192b24SSimon Glass load, 7, 0, do_load_wrapper, 34*2e192b24SSimon Glass "load binary file from a filesystem", 35*2e192b24SSimon Glass "<interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]]\n" 36*2e192b24SSimon Glass " - Load binary file 'filename' from partition 'part' on device\n" 37*2e192b24SSimon Glass " type 'interface' instance 'dev' to address 'addr' in memory.\n" 38*2e192b24SSimon Glass " 'bytes' gives the size to load in bytes.\n" 39*2e192b24SSimon Glass " If 'bytes' is 0 or omitted, the file is read until the end.\n" 40*2e192b24SSimon Glass " 'pos' gives the file byte position to start reading from.\n" 41*2e192b24SSimon Glass " If 'pos' is 0 or omitted, the file is read from the start." 42*2e192b24SSimon Glass ) 43*2e192b24SSimon Glass 44*2e192b24SSimon Glass static int do_save_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, 45*2e192b24SSimon Glass char * const argv[]) 46*2e192b24SSimon Glass { 47*2e192b24SSimon Glass return do_save(cmdtp, flag, argc, argv, FS_TYPE_ANY); 48*2e192b24SSimon Glass } 49*2e192b24SSimon Glass 50*2e192b24SSimon Glass U_BOOT_CMD( 51*2e192b24SSimon Glass save, 7, 0, do_save_wrapper, 52*2e192b24SSimon Glass "save file to a filesystem", 53*2e192b24SSimon Glass "<interface> <dev[:part]> <addr> <filename> bytes [pos]\n" 54*2e192b24SSimon Glass " - Save binary file 'filename' to partition 'part' on device\n" 55*2e192b24SSimon Glass " type 'interface' instance 'dev' from addr 'addr' in memory.\n" 56*2e192b24SSimon Glass " 'bytes' gives the size to save in bytes and is mandatory.\n" 57*2e192b24SSimon Glass " 'pos' gives the file byte position to start writing to.\n" 58*2e192b24SSimon Glass " If 'pos' is 0 or omitted, the file is written from the start." 59*2e192b24SSimon Glass ) 60*2e192b24SSimon Glass 61*2e192b24SSimon Glass static int do_ls_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, 62*2e192b24SSimon Glass char * const argv[]) 63*2e192b24SSimon Glass { 64*2e192b24SSimon Glass return do_ls(cmdtp, flag, argc, argv, FS_TYPE_ANY); 65*2e192b24SSimon Glass } 66*2e192b24SSimon Glass 67*2e192b24SSimon Glass U_BOOT_CMD( 68*2e192b24SSimon Glass ls, 4, 1, do_ls_wrapper, 69*2e192b24SSimon Glass "list files in a directory (default /)", 70*2e192b24SSimon Glass "<interface> [<dev[:part]> [directory]]\n" 71*2e192b24SSimon Glass " - List files in directory 'directory' of partition 'part' on\n" 72*2e192b24SSimon Glass " device type 'interface' instance 'dev'." 73*2e192b24SSimon Glass ) 74*2e192b24SSimon Glass 75*2e192b24SSimon Glass static int do_fstype_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, 76*2e192b24SSimon Glass char * const argv[]) 77*2e192b24SSimon Glass { 78*2e192b24SSimon Glass return do_fs_type(cmdtp, flag, argc, argv); 79*2e192b24SSimon Glass } 80*2e192b24SSimon Glass 81*2e192b24SSimon Glass U_BOOT_CMD( 82*2e192b24SSimon Glass fstype, 4, 1, do_fstype_wrapper, 83*2e192b24SSimon Glass "Look up a filesystem type", 84*2e192b24SSimon Glass "<interface> <dev>:<part>\n" 85*2e192b24SSimon Glass "- print filesystem type\n" 86*2e192b24SSimon Glass "fstype <interface> <dev>:<part> <varname>\n" 87*2e192b24SSimon Glass "- set environment variable to filesystem type\n" 88*2e192b24SSimon Glass ); 89