[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