static int do_clkmsr(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { int index = 0xff; if (argc == 2) index = simple_strtoul(argv[1], NULL, 10); clk_msr(index); return 0; }
STATIC_PREFIX int run_cmd(char * cmd) { int argc; char * argv[4]={NULL,NULL,NULL,NULL}; char * str; for(argc=0,str=cmd;argc<4;argc++) { while(*str==0x20) str++; if(*str==0) break; if(*str=='"') { argv[argc]=++str; while(*str!='"'&&*str!=0) str++; if(*str==0) break; *str++=0; continue; } argv[argc]=str; while(*str!=0x20&&*str!=0) str++; if(*str==0) { argc++; break; } *str++=0; } if(argc==0) return 1; switch(argv[0][0]) { case 'w': debug_write_reg(argc,argv); break; case 'r': debug_read_reg(argc,argv); break; #if (defined AML_DEBUGROM)||(CONFIG_ENABLE_SPL_MORE_CMD) case 'P': memory_pll_init(argc,argv); break; case 'S': show_setting_addr(argc,argv); break; case 'M': debugrom_ddr_init(argc,argv); break; case 'm': clk_msr(argc,argv); break; case 'B': debugrom_set_start(argc,argv); break; #endif #if (defined AML_DEBUGROM) case 's': debugrom_save_to_spi(argc,argv); break; case 'c': caculate_sum(argc,argv); break; #endif case 'a': start_arc(argc,argv); break; case 't': restart_arm(); break; case 'q': return 0; } return 1; }