1 /* 2 * (C) Copyright 2002 3 * Sysgo Real-Time Solutions, GmbH <www.elinos.com> 4 * Marius Groeger <mgroeger@sysgo.de> 5 * 6 * (C) Copyright 2002 7 * Sysgo Real-Time Solutions, GmbH <www.elinos.com> 8 * Alex Zuepke <azu@sysgo.de> 9 * 10 * See file CREDITS for list of people who contributed to this 11 * project. 12 * 13 * This program is free software; you can redistribute it and/or 14 * modify it under the terms of the GNU General Public License as 15 * published by the Free Software Foundation; either version 2 of 16 * the License, or (at your option) any later version. 17 * 18 * This program is distributed in the hope that it will be useful, 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 * GNU General Public License for more details. 22 * 23 * You should have received a copy of the GNU General Public License 24 * along with this program; if not, write to the Free Software 25 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 26 * MA 02111-1307 USA 27 */ 28 29 #include <common.h> 30 #include <clps7111.h> 31 #include <asm/proc-armv/ptrace.h> 32 #include <asm/hardware.h> 33 34 /* we always count down the max. */ 35 #define TIMER_LOAD_VAL 0xffff 36 /* macro to read the 16 bit timer */ 37 #define READ_TIMER (IO_TC1D & 0xffff) 38 39 #ifdef CONFIG_USE_IRQ 40 void do_irq (struct pt_regs *pt_regs) 41 { 42 #if defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR) 43 /* No do_irq() for IntegratorAP/CM720T as yet */ 44 #else 45 #error do_irq() not defined for this CPU type 46 #endif 47 } 48 #endif 49 50 #if defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR) 51 /* Use IntegratorAP routines in board/integratorap.c */ 52 #else 53 54 static ulong timestamp; 55 static ulong lastdec; 56 57 int timer_init (void) 58 { 59 #if defined(CONFIG_TEGRA) 60 /* No timer routines for tegra as yet */ 61 lastdec = 0; 62 #else 63 #error No timer_init() defined for this CPU type 64 #endif 65 timestamp = 0; 66 67 return (0); 68 } 69 70 #endif /* ! IntegratorAP */ 71 72 /* 73 * timer without interrupts 74 */ 75 76 77 #if defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR) 78 /* No timer routines for IntegratorAP/CM720T as yet */ 79 #elif defined(CONFIG_TEGRA) 80 /* No timer routines for tegra as yet */ 81 #else 82 #error Timer routines not defined for this CPU type 83 #endif 84