1334955efSRalf Baechle /* 2334955efSRalf Baechle * This file is subject to the terms and conditions of the GNU General Public 3334955efSRalf Baechle * License. See the file "COPYING" in the main directory of this archive 4334955efSRalf Baechle * for more details. 5cb2455aaSRalf Baechle * 6cb2455aaSRalf Baechle * Machine specific IO port address definition for generic. 7cb2455aaSRalf Baechle * Written by Osamu Tomita <[email protected]> 8334955efSRalf Baechle */ 9334955efSRalf Baechle #ifndef __LINUX_I8253_H 10334955efSRalf Baechle #define __LINUX_I8253_H 11334955efSRalf Baechle 1249cf3f29SRalf Baechle #include <linux/param.h> 13cb2455aaSRalf Baechle #include <linux/spinlock.h> 1449cf3f29SRalf Baechle #include <linux/timex.h> 15334955efSRalf Baechle 16cb2455aaSRalf Baechle /* i8253A PIT registers */ 17cb2455aaSRalf Baechle #define PIT_MODE 0x43 18cb2455aaSRalf Baechle #define PIT_CH0 0x40 19cb2455aaSRalf Baechle #define PIT_CH2 0x42 20cb2455aaSRalf Baechle 2149cf3f29SRalf Baechle #define PIT_LATCH ((PIT_TICK_RATE + HZ/2) / HZ) 2249cf3f29SRalf Baechle 23cb2455aaSRalf Baechle extern raw_spinlock_t i8253_lock; 24e6220bdcSThomas Gleixner extern struct clock_event_device i8253_clockevent; 25e6220bdcSThomas Gleixner extern void clockevent_i8253_init(bool oneshot); 26*70e6b7d9SDavid Woodhouse extern void clockevent_i8253_disable(void); 27cb2455aaSRalf Baechle 2885049276SRalf Baechle extern void setup_pit_timer(void); 2985049276SRalf Baechle 30334955efSRalf Baechle #endif /* __LINUX_I8253_H */ 31