diff options
| -rw-r--r-- | README | 3 | ||||
| -rw-r--r-- | common/cmd_misc.c | 27 | 
2 files changed, 29 insertions, 1 deletions
| @@ -858,7 +858,8 @@ The following options need to be configured:  		CONFIG_CMD_SPI		* SPI serial bus support  		CONFIG_CMD_TFTPSRV	* TFTP transfer in server mode  		CONFIG_CMD_TFTPPUT	* TFTP put command (upload) -		CONFIG_CMD_TIME		* run command and report execution time +		CONFIG_CMD_TIME		* run command and report execution time (ARM specific) +		CONFIG_CMD_TIMER	* access to the system tick timer  		CONFIG_CMD_USB		* USB support  		CONFIG_CMD_CDP		* Cisco Discover Protocol support  		CONFIG_CMD_MFSL		* Microblaze FSL support diff --git a/common/cmd_misc.c b/common/cmd_misc.c index 973b1c208..3b47a0c09 100644 --- a/common/cmd_misc.c +++ b/common/cmd_misc.c @@ -53,3 +53,30 @@ U_BOOT_CMD(  	"N\n"  	"    - delay execution for N seconds (N is _decimal_ !!!)"  ); + +#ifdef CONFIG_CMD_TIMER +static int do_timer(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +{ +	static ulong start; + +	if (argc != 2) +		return CMD_RET_USAGE; + +	if (!strcmp(argv[1], "start")) +		start = get_timer(0); + +	if (!strcmp(argv[1], "get")) { +		ulong msecs = get_timer(start) * 1000 / CONFIG_SYS_HZ; +		printf("%ld.%03d\n", msecs / 1000, (int)(msecs % 1000)); +	} + +	return 0; +} + +U_BOOT_CMD( +	timer,    2,    1,     do_timer, +	"access the system timer", +	"start - Reset the timer reference.\n" +	"timer get   - Print the time since 'start'." +); +#endif |