diff options
Diffstat (limited to 'target/linux/adm5120-2.6/files/arch/mips')
| -rw-r--r-- | target/linux/adm5120-2.6/files/arch/mips/adm5120/time.c | 54 | 
1 files changed, 54 insertions, 0 deletions
| diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/time.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/time.c new file mode 100644 index 000000000..edf261e7f --- /dev/null +++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/time.c @@ -0,0 +1,54 @@ +/* + *  $Id$ + * + *  ADM5120 specific hooks for MIPS CPU Counter/Compare timer + * + *  Copyright (C) 2007 OpenWrt.org + *  Copyright (C) 2007 Gabor Juhos <juhosg@freemail.hu> + * + *  This file was based on: arch/mips/gt64120/wrppmc/time.c + *	Original author: Mark.Zhan + *	Copyright (C) 1996, 1997, 2004 by Ralf Baechle + *	Copyright (C) 2006, Wind River System Inc. + * + *  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., 51 Franklin Street, Fifth Floor, + *  Boston, MA  02110-1301, USA. + * + */ + +#include <linux/types.h> +#include <linux/init.h> +#include <linux/interrupt.h> +#include <linux/timex.h> + +#include <asm/irq.h> +#include <asm/cpu.h> +#include <asm/time.h> + +#include <asm/mach-adm5120/adm5120_info.h> +#include <asm/mach-adm5120/adm5120_irq.h> + +void __init adm5120_time_init(void) +{ +	mips_hpt_frequency = adm5120_speed / 2; +} + +void __init plat_timer_setup(struct irqaction *irq) +{ +	clear_c0_status(ST0_BEV); + +	/* Install ISR for CPU Counter interrupt */ +	setup_irq(ADM5120_IRQ_COUNTER, irq); +} | 
