blob: 487d50c7db39fd9b7dc8743f802c81c08a7ec015 [file] [log] [blame]
Ralf Baechle334955e2011-06-01 19:04:57 +01001/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
Ralf Baechlecb2455a2011-06-01 19:04:58 +01005 *
6 * Machine specific IO port address definition for generic.
7 * Written by Osamu Tomita <tomita@cinet.co.jp>
Ralf Baechle334955e2011-06-01 19:04:57 +01008 */
9#ifndef __LINUX_I8253_H
10#define __LINUX_I8253_H
11
Ralf Baechle49cf3f22011-06-01 19:05:07 +010012#include <linux/param.h>
Ralf Baechlecb2455a2011-06-01 19:04:58 +010013#include <linux/spinlock.h>
Ralf Baechle49cf3f22011-06-01 19:05:07 +010014#include <linux/timex.h>
Ralf Baechle334955e2011-06-01 19:04:57 +010015
Ralf Baechlecb2455a2011-06-01 19:04:58 +010016/* i8253A PIT registers */
17#define PIT_MODE 0x43
18#define PIT_CH0 0x40
19#define PIT_CH2 0x42
20
Ralf Baechle49cf3f22011-06-01 19:05:07 +010021#define PIT_LATCH ((PIT_TICK_RATE + HZ/2) / HZ)
22
Ralf Baechlecb2455a2011-06-01 19:04:58 +010023#define inb_pit inb_p
24#define outb_pit outb_p
25
26extern raw_spinlock_t i8253_lock;
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000027extern struct clock_event_device i8253_clockevent;
28extern void clockevent_i8253_init(bool oneshot);
Ralf Baechlecb2455a2011-06-01 19:04:58 +010029
Ralf Baechle85049272011-06-01 19:05:08 +010030extern void setup_pit_timer(void);
31
Ralf Baechle334955e2011-06-01 19:04:57 +010032#endif /* __LINUX_I8253_H */