blob: 29cb2eb34363683d1bbc2ac6d587523de7b460a2 [file] [log] [blame]
john stultz8d016ef2006-06-26 00:25:09 -07001/*
2 * i8253.c 8253/PIT functions
3 *
4 */
5#include <linux/spinlock.h>
6#include <linux/jiffies.h>
7#include <linux/sysdev.h>
8#include <linux/module.h>
9#include <linux/init.h>
10
11#include <asm/smp.h>
12#include <asm/delay.h>
13#include <asm/i8253.h>
14#include <asm/io.h>
15
16#include "io_ports.h"
17
18DEFINE_SPINLOCK(i8253_lock);
19EXPORT_SYMBOL(i8253_lock);
20
21void setup_pit_timer(void)
22{
23 unsigned long flags;
24
25 spin_lock_irqsave(&i8253_lock, flags);
26 outb_p(0x34,PIT_MODE); /* binary, mode 2, LSB/MSB, ch 0 */
27 udelay(10);
28 outb_p(LATCH & 0xff , PIT_CH0); /* LSB */
29 udelay(10);
30 outb(LATCH >> 8 , PIT_CH0); /* MSB */
31 spin_unlock_irqrestore(&i8253_lock, flags);
32}