1#ifndef _ASM_IA64_KEYBOARD_H
2#define _ASM_IA64_KEYBOARD_H
3
4/*
5 * This file contains the ia64 architecture specific keyboard definitions.
6 *
7 * Copyright (C) 1998, 1999, 2001 Hewlett-Packard Co
8 * Copyright (C) 1998, 1999, 2001 David Mosberger-Tang <davidm@hpl.hp.com>
9 */
10
11# ifdef __KERNEL__
12
13#include <linux/irq.h>
14#include <linux/kd.h>
15
16#define KEYBOARD_IRQ			isa_irq_to_vector(1)
17#define DISABLE_KBD_DURING_INTERRUPTS	0
18
19extern unsigned char acpi_kbd_controller_present;
20extern int pckbd_setkeycode(unsigned int scancode, unsigned int keycode);
21extern int pckbd_getkeycode(unsigned int scancode);
22extern int pckbd_pretranslate(unsigned char scancode, char raw_mode);
23extern int pckbd_translate(unsigned char scancode, unsigned char *keycode,
24			   char raw_mode);
25extern char pckbd_unexpected_up(unsigned char keycode);
26extern void pckbd_leds(unsigned char leds);
27extern void pckbd_init_hw(void);
28extern unsigned char pckbd_sysrq_xlate[128];
29
30#define kbd_controller_present() acpi_kbd_controller_present
31#define kbd_setkeycode		pckbd_setkeycode
32#define kbd_getkeycode		pckbd_getkeycode
33#define kbd_pretranslate	pckbd_pretranslate
34#define kbd_translate		pckbd_translate
35#define kbd_unexpected_up	pckbd_unexpected_up
36#define kbd_leds		pckbd_leds
37#define kbd_init_hw		pckbd_init_hw
38#define kbd_sysrq_xlate		pckbd_sysrq_xlate
39
40#define INIT_KBD
41
42#define SYSRQ_KEY		0x54
43#define E1_PAUSE   119		/* PAUSE key */
44
45/* resource allocation */
46#define kbd_request_region()
47#define kbd_request_irq(handler) request_irq(KEYBOARD_IRQ, handler, 0, "keyboard", NULL)
48
49/* How to access the keyboard macros on this platform.  */
50#define kbd_read_input()	inb(KBD_DATA_REG)
51#define kbd_read_status()	inb(KBD_STATUS_REG)
52#define kbd_write_output(val)	outb(val, KBD_DATA_REG)
53#define kbd_write_command(val)	outb(val, KBD_CNTL_REG)
54
55/* Some stoneage hardware needs delays after some operations.  */
56#define kbd_pause() do { } while(0)
57
58/*
59 * Machine specific bits for the PS/2 driver
60 */
61
62#define AUX_IRQ				isa_irq_to_vector(12)
63
64#define aux_request_irq(hand, dev_id)					\
65	request_irq(AUX_IRQ, hand, SA_SHIRQ, "PS/2 Mouse", dev_id)
66
67#define aux_free_irq(dev_id) free_irq(AUX_IRQ, dev_id)
68
69# endif /* __KERNEL__ */
70#endif /* _ASM_IA64_KEYBOARD_H */
71