2009-04-28 23:22:00 +08:00
|
|
|
/*
|
|
|
|
* The MPU local timer source file. In OMAP4, both cortex-a9 cores have
|
|
|
|
* own timer in it's MPU domain. These timers will be driving the
|
|
|
|
* linux kernel SMP tick framework when active. These timers are not
|
|
|
|
* part of the wake up domain.
|
|
|
|
*
|
|
|
|
* Copyright (C) 2009 Texas Instruments, Inc.
|
|
|
|
*
|
|
|
|
* Author:
|
|
|
|
* Santosh Shilimkar <santosh.shilimkar@ti.com>
|
|
|
|
*
|
|
|
|
* This file is based on arm realview smp platform file.
|
|
|
|
* Copyright (C) 2002 ARM Ltd.
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
|
|
* published by the Free Software Foundation.
|
|
|
|
*/
|
|
|
|
#include <linux/init.h>
|
|
|
|
#include <linux/smp.h>
|
|
|
|
#include <linux/clockchips.h>
|
|
|
|
#include <asm/irq.h>
|
|
|
|
#include <asm/smp_twd.h>
|
|
|
|
#include <asm/localtimer.h>
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Setup the local clock events for a CPU.
|
|
|
|
*/
|
2011-02-24 01:53:15 +08:00
|
|
|
int __cpuinit local_timer_setup(struct clock_event_device *evt)
|
2009-04-28 23:22:00 +08:00
|
|
|
{
|
2011-02-22 16:57:47 +08:00
|
|
|
/* Local timers are not supprted on OMAP4430 ES1.0 */
|
|
|
|
if (omap_rev() == OMAP4430_REV_ES1_0)
|
|
|
|
return -ENXIO;
|
|
|
|
|
2010-02-18 05:44:12 +08:00
|
|
|
evt->irq = OMAP44XX_IRQ_LOCALTIMER;
|
2009-04-28 23:22:00 +08:00
|
|
|
twd_timer_setup(evt);
|
2011-02-24 01:53:15 +08:00
|
|
|
return 0;
|
2009-04-28 23:22:00 +08:00
|
|
|
}
|
|
|
|
|