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
do_test_brom(cmd_tbl_t * cmdtp,int flag,int argc,char * const argv[])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
do_test_fastboot(cmd_tbl_t * cmdtp,int flag,int argc,char * const argv[])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
do_test_rockusb(cmd_tbl_t * cmdtp,int flag,int argc,char * const argv[])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
do_test_tftp(cmd_tbl_t * cmdtp,int flag,int argc,char * const argv[])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