Message ID | 1351902453-27956-3-git-send-email-sjg@chromium.org |
---|---|
State | Superseded, archived |
Delegated to: | Tom Rini |
Headers | show |
Hi Simon, On Fri, Nov 02, 2012 at 05:27:18PM -0700, Simon Glass wrote: > From: Anton Staaf <robotboy@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@chromium.org> > Signed-off-by: Simon Glass <sjg@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@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
Dear Simon Glass, In message <1351902453-27956-3-git-send-email-sjg@chromium.org> you wrote: > From: Anton Staaf <robotboy@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 What exactly is this good for? Also, are there any boards where CONFIG_SYS_HZ is NOT set? [Which are these?] Best regards, Wolfgang Denk
Hi Wolfgang, On Sat, Nov 3, 2012 at 8:24 AM, Wolfgang Denk <wd@denx.de> wrote: > Dear Simon Glass, > > In message <1351902453-27956-3-git-send-email-sjg@chromium.org> you wrote: >> From: Anton Staaf <robotboy@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 > > What exactly is this good for? Just for displaying the current time value and sys_hz. If you don't think it is useful, please say so and we will drop it. > > Also, are there any boards where CONFIG_SYS_HZ is NOT set? [Which are > these?] There are a few: (for f in 01_of_04_g59852d03_Merge-branch-\'master/*/autoconf.mk; do if ! grep -q CONFIG_SYS_HZ $f; then echo $f; fi; done) | awk -F/ '{print $2}' M52277EVB M52277EVB_stmicro M53017EVB M54418TWR M54418TWR_nand_mii M54418TWR_nand_rmii M54418TWR_nand_rmii_lowfreq M54418TWR_serial_mii M54418TWR_serial_rmii Regards, Simon > > Best regards, > > Wolfgang Denk > > -- > DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de > Earth -- mother of the most beautiful women in the universe. > -- Apollo, "Who Mourns for Adonais?" stardate 3468.1
Hi Luka, On Sat, Nov 3, 2012 at 1:22 AM, Luka Perkov <uboot@lukaperkov.net> wrote: > Hi Simon, > > On Fri, Nov 02, 2012 at 05:27:18PM -0700, Simon Glass wrote: >> From: Anton Staaf <robotboy@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@chromium.org> >> Signed-off-by: Simon Glass <sjg@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@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
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 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@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, + "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 */