blob: 31c0ac4cd66a457db1cdf42ece0973df8751c1bf [file] [log] [blame]
Santosh Shilimkar39e1d4c2009-04-28 20:52:00 +05301/*
2 * The MPU local timer source file. In OMAP4, both cortex-a9 cores have
3 * own timer in it's MPU domain. These timers will be driving the
4 * linux kernel SMP tick framework when active. These timers are not
5 * part of the wake up domain.
6 *
7 * Copyright (C) 2009 Texas Instruments, Inc.
8 *
9 * Author:
10 * Santosh Shilimkar <santosh.shilimkar@ti.com>
11 *
12 * This file is based on arm realview smp platform file.
13 * Copyright (C) 2002 ARM Ltd.
14 *
15 * This program is free software; you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License version 2 as
17 * published by the Free Software Foundation.
18 */
19#include <linux/init.h>
20#include <linux/smp.h>
21#include <linux/clockchips.h>
22#include <asm/irq.h>
23#include <asm/smp_twd.h>
24#include <asm/localtimer.h>
25
26/*
27 * Setup the local clock events for a CPU.
28 */
Santosh Shilimkaraf90f102011-02-23 18:53:15 +010029int __cpuinit local_timer_setup(struct clock_event_device *evt)
Santosh Shilimkar39e1d4c2009-04-28 20:52:00 +053030{
Santosh Shilimkar07787a82011-02-22 09:57:47 +010031 /* Local timers are not supprted on OMAP4430 ES1.0 */
32 if (omap_rev() == OMAP4430_REV_ES1_0)
33 return -ENXIO;
34
Santosh Shilimkar5772ca72010-02-18 03:14:12 +053035 evt->irq = OMAP44XX_IRQ_LOCALTIMER;
Santosh Shilimkar39e1d4c2009-04-28 20:52:00 +053036 twd_timer_setup(evt);
Santosh Shilimkaraf90f102011-02-23 18:53:15 +010037 return 0;
Santosh Shilimkar39e1d4c2009-04-28 20:52:00 +053038}
39