#include #include #include #include #include #include #include char *source_cmd = "nvtload"; static int do_nvt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { char cmd_buf[256] = {0}; int cmd_ret; if((strncmp(argv[0], "nvtload", 7) == 0)) { if (argc < 3) { printf("usage: [bytes]\n"); return 1; } run_command("usb start", 0); if (argv[3] != NULL) { sprintf(cmd_buf,"fatload usb 0:auto %s %s %s", argv[1], argv[2], argv[3]); } else { sprintf(cmd_buf,"fatload usb 0:auto %s %s", argv[1], argv[2]); } cmd_ret = run_command(cmd_buf, 0); if (cmd_ret != 0) return 1; } #ifdef CONFIG_FAT_WRITE else if((strncmp(argv[0], "nvtwrite", 8) == 0)) { if (argc != 4) { printf("usage: \n"); return 1; } run_command("usb start", 0); sprintf(cmd_buf,"fatwrite usb 0:auto %s %s %s", argv[1], argv[2], argv[3]); cmd_ret = run_command(cmd_buf, 0); if (cmd_ret != 0) return 1; } #endif /*End of CONFIG_FAT_WRITE*/ return 0; } U_BOOT_CMD( nvtload, 6, 1, do_nvt, "batch for usb, fatls and fatload commands", " - load binary file from a dos filesystem" " [bytes]\n" " - load binary file 'filename' from 'dev' on 'interface'\n" " to address 'addr' from dos filesystem" ); #ifdef CONFIG_FAT_WRITE U_BOOT_CMD( nvtwrite, 6, 1, do_nvt, "batch for usb, fatls and fatwrite commands", " - write binary file to a dos filesystem" " [bytes]\n" " - write binary file 'filename' to 'dev' on 'interface'\n" " to address 'addr' to dos filesystem" ); #endif int nvt_in_empty_burner_mode(void) { int ret = 0; unsigned int bootstrap; bootstrap = (*(volatile unsigned int *)(0xFC040210)) & 0xFF; if(bootstrap == 0x000000A0 || bootstrap == 0xB0 || bootstrap == 0x000000C0) ret = 1; else ret = 0; return ret; }