diff options
Diffstat (limited to 'include/asm-sh64/keyboard.h')
-rw-r--r-- | include/asm-sh64/keyboard.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/include/asm-sh64/keyboard.h b/include/asm-sh64/keyboard.h new file mode 100644 index 000000000000..733e2bbe7b8c --- /dev/null +++ b/include/asm-sh64/keyboard.h | |||
@@ -0,0 +1,74 @@ | |||
1 | /* | ||
2 | * linux/include/asm-shmedia/keyboard.h | ||
3 | * | ||
4 | * Copied from i386 version: | ||
5 | * Created 3 Nov 1996 by Geert Uytterhoeven | ||
6 | */ | ||
7 | |||
8 | /* | ||
9 | * This file contains the i386 architecture specific keyboard definitions | ||
10 | */ | ||
11 | |||
12 | #ifndef __ASM_SH64_KEYBOARD_H | ||
13 | #define __ASM_SH64_KEYBOARD_H | ||
14 | |||
15 | #ifdef __KERNEL__ | ||
16 | |||
17 | #include <linux/kernel.h> | ||
18 | #include <linux/ioport.h> | ||
19 | #include <asm/io.h> | ||
20 | |||
21 | #ifdef CONFIG_SH_CAYMAN | ||
22 | #define KEYBOARD_IRQ (START_EXT_IRQS + 2) /* SMSC SuperIO IRQ 1 */ | ||
23 | #endif | ||
24 | #define DISABLE_KBD_DURING_INTERRUPTS 0 | ||
25 | |||
26 | extern int pckbd_setkeycode(unsigned int scancode, unsigned int keycode); | ||
27 | extern int pckbd_getkeycode(unsigned int scancode); | ||
28 | extern int pckbd_translate(unsigned char scancode, unsigned char *keycode, | ||
29 | char raw_mode); | ||
30 | extern char pckbd_unexpected_up(unsigned char keycode); | ||
31 | extern void pckbd_leds(unsigned char leds); | ||
32 | extern void pckbd_init_hw(void); | ||
33 | extern unsigned char pckbd_sysrq_xlate[128]; | ||
34 | |||
35 | #define kbd_setkeycode pckbd_setkeycode | ||
36 | #define kbd_getkeycode pckbd_getkeycode | ||
37 | #define kbd_translate pckbd_translate | ||
38 | #define kbd_unexpected_up pckbd_unexpected_up | ||
39 | #define kbd_leds pckbd_leds | ||
40 | #define kbd_init_hw pckbd_init_hw | ||
41 | #define kbd_sysrq_xlate pckbd_sysrq_xlate | ||
42 | |||
43 | #define SYSRQ_KEY 0x54 | ||
44 | |||
45 | /* resource allocation */ | ||
46 | #define kbd_request_region() | ||
47 | #define kbd_request_irq(handler) request_irq(KEYBOARD_IRQ, handler, 0, \ | ||
48 | "keyboard", NULL) | ||
49 | |||
50 | /* How to access the keyboard macros on this platform. */ | ||
51 | #define kbd_read_input() inb(KBD_DATA_REG) | ||
52 | #define kbd_read_status() inb(KBD_STATUS_REG) | ||
53 | #define kbd_write_output(val) outb(val, KBD_DATA_REG) | ||
54 | #define kbd_write_command(val) outb(val, KBD_CNTL_REG) | ||
55 | |||
56 | /* Some stoneage hardware needs delays after some operations. */ | ||
57 | #define kbd_pause() do { } while(0) | ||
58 | |||
59 | /* | ||
60 | * Machine specific bits for the PS/2 driver | ||
61 | */ | ||
62 | |||
63 | #ifdef CONFIG_SH_CAYMAN | ||
64 | #define AUX_IRQ (START_EXT_IRQS + 6) /* SMSC SuperIO IRQ12 */ | ||
65 | #endif | ||
66 | |||
67 | #define aux_request_irq(hand, dev_id) \ | ||
68 | request_irq(AUX_IRQ, hand, SA_SHIRQ, "PS2 Mouse", dev_id) | ||
69 | |||
70 | #define aux_free_irq(dev_id) free_irq(AUX_IRQ, dev_id) | ||
71 | |||
72 | #endif /* __KERNEL__ */ | ||
73 | #endif /* __ASM_SH64_KEYBOARD_H */ | ||
74 | |||