int do_sdc_burn(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { int rcode = 0; const char* sdc_cfg_file = argv[1]; if (argc < 2 ) { return CMD_RET_USAGE; } if ( !aml_check_is_ready_for_sdc_produce() ) { DWN_DBG("Not ready\n"); return __LINE__; } optimus_work_mode_set(OPTIMUS_WORK_MODE_SDC_UPDATE); show_logo_to_report_burning();//indicate enter flow of burning! when 'run update' if (optimus_led_open(LED_TYPE_PWM)) { DWN_ERR("Fail to open led for burn\n"); return __LINE__; } optimus_led_show_in_process_of_burning(); rcode = optimus_burn_package_in_sdmmc(sdc_cfg_file); return rcode; }
int do_v2_usbtool (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { int rc = 0; unsigned timeout = (2 <= argc) ? simple_strtoul(argv[1], NULL, 0) : 0; //if get burning tool identify command in pcToolWaitTime, then auto jump into burning mode unsigned pcToolWaitTime = (3 <= argc) ? simple_strtoul(argv[2], NULL, 0) : 0; optimus_work_mode_set(OPTIMUS_WORK_MODE_USB_UPDATE); setenv(_ENV_TIME_OUT_TO_AUTO_BURN, pcToolWaitTime ? argv[2] : ""); rc = v2_usbburning(timeout); /*close_usb_phy_clock(0);*/ return rc; }