summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGraeme Russ <graeme.russ@gmail.com>2011-07-15 02:18:56 +0000
committerWolfgang Denk <wd@denx.de>2011-07-26 14:52:53 +0200
commite110c4fe44edc34addee4839a1d20c0fbb076ad4 (patch)
tree6e13ac67a9d8d65130816d1acf4838fa684fff02
parent5c8404aff16c2a207a11e1af5843e1009bf9fb01 (diff)
downloadblackbird-obmc-uboot-e110c4fe44edc34addee4839a1d20c0fbb076ad4.tar.gz
blackbird-obmc-uboot-e110c4fe44edc34addee4839a1d20c0fbb076ad4.zip
Timer: Allow reset_timer() only for systems with low resolution timers
-rw-r--r--drivers/block/mg_disk.c2
-rw-r--r--drivers/mtd/cfi_flash.c4
-rw-r--r--include/configs/PCI5441.h1
-rw-r--r--include/configs/PK1C20.h1
-rw-r--r--include/configs/nios2-generic.h1
5 files changed, 9 insertions, 0 deletions
diff --git a/drivers/block/mg_disk.c b/drivers/block/mg_disk.c
index f9e175dcb8..4407006a6f 100644
--- a/drivers/block/mg_disk.c
+++ b/drivers/block/mg_disk.c
@@ -91,7 +91,9 @@ static unsigned int mg_wait (u32 expect, u32 msec)
u32 from, cur, err;
err = MG_ERR_NONE;
+#ifdef CONFIG_SYS_LOW_RES_TIMER
reset_timer();
+#endif
from = get_timer(0);
status = readb(mg_base() + MG_REG_STATUS);
diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
index 929f9a9d73..ac91dfd953 100644
--- a/drivers/mtd/cfi_flash.c
+++ b/drivers/mtd/cfi_flash.c
@@ -573,7 +573,9 @@ static int flash_status_check (flash_info_t * info, flash_sect_t sector,
#endif
/* Wait for command completion */
+#ifdef CONFIG_SYS_LOW_RES_TIMER
reset_timer();
+#endif
start = get_timer (0);
while (flash_is_busy (info, sector)) {
if (get_timer (start) > tout) {
@@ -662,7 +664,9 @@ static int flash_status_poll(flash_info_t *info, void *src, void *dst,
#endif
/* Wait for command completion */
+#ifdef CONFIG_SYS_LOW_RES_TIMER
reset_timer();
+#endif
start = get_timer(0);
while (1) {
switch (info->portwidth) {
diff --git a/include/configs/PCI5441.h b/include/configs/PCI5441.h
index 70775e75fb..ae5bc2efea 100644
--- a/include/configs/PCI5441.h
+++ b/include/configs/PCI5441.h
@@ -118,6 +118,7 @@
* TMRMS represents the desired mecs per tick (msecs per interrupt).
*----------------------------------------------------------------------*/
#define CONFIG_SYS_HZ 1000 /* Always 1000 */
+#define CONFIG_SYS_LOW_RES_TIMER
#define CONFIG_SYS_NIOS_TMRBASE 0x00920860 /* Tick timer base addr */
#define CONFIG_SYS_NIOS_TMRIRQ 3 /* Timer IRQ num */
#define CONFIG_SYS_NIOS_TMRMS 10 /* Desired period (msec)*/
diff --git a/include/configs/PK1C20.h b/include/configs/PK1C20.h
index b466c4b05a..95c30ccde6 100644
--- a/include/configs/PK1C20.h
+++ b/include/configs/PK1C20.h
@@ -128,6 +128,7 @@
* TMRMS represents the desired mecs per tick (msecs per interrupt).
*----------------------------------------------------------------------*/
#define CONFIG_SYS_HZ 1000 /* Always 1000 */
+#define CONFIG_SYS_LOW_RES_TIMER
#define CONFIG_SYS_NIOS_TMRBASE 0x02120820 /* Tick timer base addr */
#define CONFIG_SYS_NIOS_TMRIRQ 3 /* Timer IRQ num */
#define CONFIG_SYS_NIOS_TMRMS 10 /* Desired period */
diff --git a/include/configs/nios2-generic.h b/include/configs/nios2-generic.h
index 53f2084d9f..d57d53cca5 100644
--- a/include/configs/nios2-generic.h
+++ b/include/configs/nios2-generic.h
@@ -52,6 +52,7 @@
/*
* TIMER
*/
+#define CONFIG_SYS_LOW_RES_TIMER
#define CONFIG_SYS_NIOS_TMRBASE CONFIG_SYS_TIMER_BASE
#define CONFIG_SYS_NIOS_TMRIRQ CONFIG_SYS_TIMER_IRQ
#define CONFIG_SYS_HZ 1000 /* Always 1000 */
OpenPOWER on IntegriCloud