1 /*
2 * (C) Copyright 2019 Rockchip Electronics Co., Ltd
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7 #include <common.h>
8 #include <command.h>
9 #include <console.h>
10
do_board_download(void)11 __weak void do_board_download(void)
12 {
13 }
14
do_download(cmd_tbl_t * cmdtp,int flag,int argc,char * const argv[])15 static int do_download(cmd_tbl_t *cmdtp, int flag,
16 int argc, char * const argv[])
17 {
18 disable_ctrlc(1);
19
20 /* Allow board specific download, maybe noreturn */
21 do_board_download();
22
23 /* Generic download */
24 #ifdef CONFIG_CMD_ROCKUSB
25 run_command("rockusb 0 $devtype $devnum", 0);
26 #endif
27 printf("Enter rockusb failed, fallback to bootrom...\n");
28 flushc();
29 run_command("rbrom", 0);
30
31 return 0;
32 }
33
34 U_BOOT_CMD_ALWAYS(
35 download, 1, 1, do_download,
36 "enter rockusb/bootrom download mode", ""
37 );
38