From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alessandro Rubini Date: Tue, 29 Sep 2009 07:22:00 +0200 Subject: [U-Boot] [PATCH] Nomadik: fix reset_timer() Message-ID: <20090929052200.GA19722@mail.gnudd.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de From: Alessandro Rubini The timer decrements and READ_TIMER() negates the value read. Writing 0 in reset_timer() is this wrong, as a readback before 400us will read back 0 and will report 1780 seconds, so nand operations did timeout. This patch writes ~0 in reset_timer to prevent this. Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Cc: Jean-Christophe PLAGNIOL-VILLARD --- cpu/arm926ejs/nomadik/timer.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cpu/arm926ejs/nomadik/timer.c b/cpu/arm926ejs/nomadik/timer.c index 16067c9..2115b71 100644 --- a/cpu/arm926ejs/nomadik/timer.c +++ b/cpu/arm926ejs/nomadik/timer.c @@ -46,10 +46,10 @@ int timer_init(void) return 0; } -/* Restart counting from 0 */ +/* Restart counting from ~0 (can't be 0, since READ_TIMER negates) */ void reset_timer(void) { - writel(0, CONFIG_SYS_TIMERBASE + MTU_LR(0)); /* Immediate effect */ + writel(~0, CONFIG_SYS_TIMERBASE + MTU_LR(0)); /* Immediate effect */ } /* Return how many HZ passed since "base" */ -- 1.5.6.5