1 /* 2 * (C) Copyright 2019 Rockchip Electronics Co., Ltd 3 * 4 * SPDX-License-Identifier: GPL-2.0+ 5 */ 6 7 #include "test-rockchip.h" 8 9 #ifdef CONFIG_CMD_GO 10 static int do_test_brom(cmd_tbl_t *cmdtp, int flag, 11 int argc, char *const argv[]) 12 { 13 return run_command("rbrom", 0); 14 } 15 #endif 16 17 #ifdef CONFIG_CMD_FASTBOOT 18 static int do_test_fastboot(cmd_tbl_t *cmdtp, int flag, 19 int argc, char *const argv[]) 20 { 21 return run_command("fastboot usb 0", 0); 22 } 23 #endif 24 25 #ifdef CONFIG_CMD_ROCKUSB 26 static int do_test_rockusb(cmd_tbl_t *cmdtp, int flag, 27 int argc, char *const argv[]) 28 { 29 return run_command("rockusb 0 ${devtype} ${devnum}", 0); 30 } 31 #endif 32 33 #ifdef CONFIG_CMD_NET 34 static int do_test_tftp(cmd_tbl_t *cmdtp, int flag, 35 int argc, char *const argv[]) 36 { 37 char load_cmd[64]; 38 char serverip_cmd[64]; 39 int ret = 0; 40 41 if (argc != 3) 42 return CMD_RET_USAGE; 43 44 snprintf(serverip_cmd, 64, "env set serverip %s", argv[1]); 45 snprintf(load_cmd, 64, "tftp %s", argv[2]); 46 ret |= run_command(serverip_cmd, 0); 47 ret |= run_command("dhcp", 0); 48 ret |= run_command(load_cmd, 0); 49 50 if (ret) 51 ut_err("tftp: failed to download file\n"); 52 53 return ret; 54 } 55 #endif 56 57 static cmd_tbl_t sub_cmd[] = { 58 #ifdef CONFIG_CMD_GO 59 UNIT_CMD_ATTR_DEFINE(brom, 0, CMD_FLG_NORETURN), 60 #endif 61 #ifdef CONFIG_CMD_FASTBOOT 62 UNIT_CMD_ATTR_DEFINE(fastboot, 0, CMD_FLG_NORETURN), 63 #endif 64 #ifdef CONFIG_CMD_ROCKUSB 65 UNIT_CMD_ATTR_DEFINE(rockusb, 0, CMD_FLG_NORETURN), 66 #endif 67 #ifdef CONFIG_CMD_NET 68 UNIT_CMD_ATTR_DEFINE(tftp, 0, CMD_FLG_NORETURN), 69 #endif 70 }; 71 72 static const char sub_cmd_help[] = 73 #ifdef CONFIG_CMD_GO 74 " [n] rktest brom - test bootrom, enter download mode\n" 75 #endif 76 #ifdef CONFIG_CMD_FASTBOOT 77 " [n] rktest fastboot - test fastboot, enter download mode\n" 78 #endif 79 #ifdef CONFIG_CMD_ROCKUSB 80 " [n] rktest rockusb - test rockusb, enter download mode\n" 81 #endif 82 #ifdef CONFIG_CMD_NET 83 " [.] rktest tftp [serverip] [file] - test tftp download\n" 84 #endif 85 ; 86 87 const struct cmd_group cmd_grp_download = { 88 .id = TEST_ID_DOWNLOAD, 89 .help = sub_cmd_help, 90 .cmd = sub_cmd, 91 .cmd_n = ARRAY_SIZE(sub_cmd), 92 }; 93