[U-Boot] [PATCH 02/17] Add gettime command

Luka Perkov uboot at lukaperkov.net
Sat Nov 3 09:22:16 CET 2012


Hi Simon,

On Fri, Nov 02, 2012 at 05:27:18PM -0700, Simon Glass wrote:
> From: Anton Staaf <robotboy at chromium.org>
> 
> Gettime returns the current timer value.  If CONFIG_SYS_HZ is defined
> then the timer value is also converted to seconds.
> 
> Tegra20 (SeaBoard) # gettime
> Timer val: 7754
> Seconds : 7
> Remainder : 754
> sys_hz = 1000
> 
> Signed-off-by: Anton Staaf <robotboy at chromium.org>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>  README                   |    1 +
>  common/Makefile          |    1 +
>  common/cmd_gettime.c     |   56 ++++++++++++++++++++++++++++++++++++++++++++++
>  include/config_cmd_all.h |    1 +
>  4 files changed, 59 insertions(+), 0 deletions(-)
>  create mode 100644 common/cmd_gettime.c
> 
> diff --git a/README b/README
> index 22fd6b7..a080225 100644
> --- a/README
> +++ b/README
> @@ -815,6 +815,7 @@ The following options need to be configured:
>  		CONFIG_CMD_FDOS		* Dos diskette Support
>  		CONFIG_CMD_FLASH	  flinfo, erase, protect
>  		CONFIG_CMD_FPGA		  FPGA device initialization support
> +		CONFIG_CMD_GETTIME     * Get time since boot

Here should be TABs instead of spaces.

>  		CONFIG_CMD_GO		* the 'go' command (exec code)
>  		CONFIG_CMD_GREPENV	* search environment
>  		CONFIG_CMD_HWFLOW	* RTS/CTS hw flow control
> diff --git a/common/Makefile b/common/Makefile
> index 9e43322..0fb79ed 100644
> --- a/common/Makefile
> +++ b/common/Makefile
> @@ -100,6 +100,7 @@ ifdef CONFIG_FPGA
>  COBJS-$(CONFIG_CMD_FPGA) += cmd_fpga.o
>  endif
>  COBJS-$(CONFIG_CMD_FS_GENERIC) += cmd_fs.o
> +COBJS-$(CONFIG_CMD_GETTIME) += cmd_gettime.o
>  COBJS-$(CONFIG_CMD_GPIO) += cmd_gpio.o
>  COBJS-$(CONFIG_CMD_I2C) += cmd_i2c.o
>  COBJS-$(CONFIG_CMD_IDE) += cmd_ide.o
> diff --git a/common/cmd_gettime.c b/common/cmd_gettime.c
> new file mode 100644
> index 0000000..d7d36a9
> --- /dev/null
> +++ b/common/cmd_gettime.c
> @@ -0,0 +1,56 @@
> +/*
> + * Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
> + *
> + * Copyright (c) 2009, Code Aurora Forum. All rights reserved.
> + *
> + * (C) Copyright 2001
> + * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +/*
> + * Get Timer overflows after 2^32 / CONFIG_SYS_HZ (32Khz) = 131072 sec
> + */
> +#include <common.h>
> +#include <command.h>
> +
> +static int do_gettime(cmd_tbl_t *cmdtp, int flag, int argc,
> +		      char * const argv[])
> +{
> +	unsigned long int val = get_timer(0);
> +
> +#ifdef CONFIG_SYS_HZ
> +	printf("Timer val: %lu\n", val);
> +	printf("Seconds : %lu\n", val / CONFIG_SYS_HZ);
> +	printf("Remainder : %lu\n", val % CONFIG_SYS_HZ);
> +	printf("sys_hz = %lu\n", (unsigned long int)CONFIG_SYS_HZ);
> +#else
> +	printf("CONFIG_SYS_HZ not defined");
> +	printf("Timer Val %lu", val);
> +#endif
> +
> +	return 0;
> +}
> +
> +U_BOOT_CMD(
> +	gettime,	1,	1,	do_gettime,

I would put here spaces instead of TABs.

> +	"get timer val elapsed,\n",
> +	"get time elapsed from uboot start\n"
> +);
> diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h
> index f434cd0..b87967e 100644
> --- a/include/config_cmd_all.h
> +++ b/include/config_cmd_all.h
> @@ -40,6 +40,7 @@
>  #define CONFIG_CMD_FDOS		/* Floppy DOS support		*/
>  #define CONFIG_CMD_FLASH	/* flinfo, erase, protect	*/
>  #define CONFIG_CMD_FPGA		/* FPGA configuration Support	*/
> +#define CONFIG_CMD_GETTIME	/* Get time since boot         */
>  #define CONFIG_CMD_HWFLOW	/* RTS/CTS hw flow control	*/
>  #define CONFIG_CMD_I2C		/* I2C serial bus support	*/
>  #define CONFIG_CMD_IDE		/* IDE harddisk support		*/
> -- 
> 1.7.7.3

Luka


More information about the U-Boot mailing list