mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 18:35:42 +01:00 
			
		
		
		
	arm946es: remove non used timer
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
This commit is contained in:
		
				
					committed by
					
						 Wolfgang Denk
						Wolfgang Denk
					
				
			
			
				
	
			
			
			
						parent
						
							f1d944e30e
						
					
				
				
					commit
					c20e28f49a
				
			| @@ -26,7 +26,8 @@ include $(TOPDIR)/config.mk | ||||
| LIB	= $(obj)lib$(CPU).a | ||||
|  | ||||
| START	= start.o | ||||
| COBJS	= interrupts.o cpu.o | ||||
|  | ||||
| COBJS	= cpu.o | ||||
|  | ||||
| SRCS	:= $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c) | ||||
| OBJS	:= $(addprefix $(obj),$(COBJS) $(SOBJS)) | ||||
|   | ||||
| @@ -1,158 +0,0 @@ | ||||
| /* | ||||
|  * (C) Copyright 2003 | ||||
|  * Texas Instruments <www.ti.com> | ||||
|  * | ||||
|  * (C) Copyright 2002 | ||||
|  * Sysgo Real-Time Solutions, GmbH <www.elinos.com> | ||||
|  * Marius Groeger <mgroeger@sysgo.de> | ||||
|  * | ||||
|  * (C) Copyright 2002 | ||||
|  * Sysgo Real-Time Solutions, GmbH <www.elinos.com> | ||||
|  * Alex Zuepke <azu@sysgo.de> | ||||
|  * | ||||
|  * (C) Copyright 2002-2004 | ||||
|  * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> | ||||
|  * | ||||
|  * (C) Copyright 2004 | ||||
|  * Philippe Robin, ARM Ltd. <philippe.robin@arm.com> | ||||
|  * | ||||
|  * 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 | ||||
|  */ | ||||
|  | ||||
| #include <common.h> | ||||
| #include <arm946es.h> | ||||
|  | ||||
| #define TIMER_LOAD_VAL 0xffffffff | ||||
| extern void reset_cpu(ulong addr); | ||||
|  | ||||
| #ifdef CONFIG_INTEGRATOR | ||||
| 	/* Timer functionality supplied by Integrator board (AP or CP) */ | ||||
| #else | ||||
|  | ||||
| static ulong timestamp; | ||||
| static ulong lastdec; | ||||
|  | ||||
| /* nothing really to do with interrupts, just starts up a counter. */ | ||||
| int interrupt_init (void) | ||||
| { | ||||
| 	/* init the timestamp and lastdec value */ | ||||
| 	reset_timer_masked(); | ||||
|  | ||||
| 	return (0); | ||||
| } | ||||
|  | ||||
| /* | ||||
|  * timer without interrupts | ||||
|  */ | ||||
|  | ||||
| void reset_timer (void) | ||||
| { | ||||
| 	reset_timer_masked (); | ||||
| } | ||||
|  | ||||
| ulong get_timer (ulong base) | ||||
| { | ||||
| 	return get_timer_masked () - base; | ||||
| } | ||||
|  | ||||
| void set_timer (ulong t) | ||||
| { | ||||
| 	timestamp = t; | ||||
| } | ||||
|  | ||||
| /* delay x useconds AND perserve advance timstamp value */ | ||||
| void udelay(unsigned long usec) | ||||
| { | ||||
| 	udelay_masked(usec); | ||||
| } | ||||
|  | ||||
| void reset_timer_masked (void) | ||||
| { | ||||
| 	/* reset time */ | ||||
| 	lastdec = READ_TIMER;  /* capure current decrementer value time */ | ||||
| 	timestamp = 0;         /* start "advancing" time stamp from 0 */ | ||||
| } | ||||
|  | ||||
| ulong get_timer_raw (void) | ||||
| { | ||||
| 	ulong now = READ_TIMER;		/* current tick value */ | ||||
|  | ||||
| 	if (lastdec >= now) {		/* normal mode (non roll) */ | ||||
| 		/* normal mode */ | ||||
| 		timestamp += lastdec - now; /* move stamp fordward with absoulte diff ticks */ | ||||
| 	} else {			/* we have overflow of the count down timer */ | ||||
| 		/* nts = ts + ld + (TLV - now) | ||||
| 		 * ts=old stamp, ld=time that passed before passing through -1 | ||||
| 		 * (TLV-now) amount of time after passing though -1 | ||||
| 		 * nts = new "advancing time stamp"...it could also roll and cause problems. | ||||
| 		 */ | ||||
| 		timestamp += lastdec + TIMER_LOAD_VAL - now; | ||||
| 	} | ||||
| 	lastdec = now; | ||||
|  | ||||
| 	return timestamp; | ||||
| } | ||||
|  | ||||
| ulong get_timer_masked (void) | ||||
| { | ||||
| 	return get_timer_raw() / TIMER_LOAD_VAL; | ||||
| } | ||||
|  | ||||
| /* waits specified delay value and resets timestamp */ | ||||
| void udelay_masked (unsigned long usec) | ||||
| { | ||||
| 	ulong tmo; | ||||
|  | ||||
| 	if(usec >= 1000){               /* if "big" number, spread normalization to seconds */ | ||||
| 		tmo = usec / 1000;      /* start to normalize for usec to ticks per sec */ | ||||
| 		tmo *= CONFIG_SYS_HZ_CLOCK;    /* find number of "ticks" to wait to achieve target */ | ||||
| 		tmo /= 1000;            /* finish normalize. */ | ||||
| 	}else{                          /* else small number, don't kill it prior to HZ multiply */ | ||||
| 		tmo = usec * CONFIG_SYS_HZ_CLOCK; | ||||
| 		tmo /= (1000*1000); | ||||
| 	} | ||||
|  | ||||
| 	reset_timer_masked ();	/* set "advancing" timestamp to 0, set lastdec vaule */ | ||||
|  | ||||
| 	while (get_timer_raw () < tmo) /* wait for time stamp to overtake tick number.*/ | ||||
| 		/*NOP*/; | ||||
| } | ||||
|  | ||||
| /* | ||||
|  * This function is derived from PowerPC code (read timebase as long long). | ||||
|  * On ARM it just returns the timer value. | ||||
|  */ | ||||
| unsigned long long get_ticks(void) | ||||
| { | ||||
| 	return get_timer(0); | ||||
| } | ||||
|  | ||||
| /* | ||||
|  * This function is derived from PowerPC code (timebase clock frequency). | ||||
|  * On ARM it returns the number of timer ticks per second. | ||||
|  */ | ||||
| ulong get_tbclk (void) | ||||
| { | ||||
| 	ulong tbclk; | ||||
|  | ||||
| 	tbclk = CONFIG_SYS_HZ; | ||||
| 	return tbclk; | ||||
| } | ||||
|  | ||||
| #endif /* CONFIG_INTEGRATOR */ | ||||
		Reference in New Issue
	
	Block a user