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

Simon Glass sjg at chromium.org
Thu Nov 15 23:23:52 CET 2012


Hi Luka,

On Sat, Nov 3, 2012 at 1:22 AM, Luka Perkov <uboot at lukaperkov.net> wrote:
> 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.

Done

>
>>               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.

I don't actually see any spaces on that line.

>
>> +     "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

Regards,
Simon


More information about the U-Boot mailing list