1 /*
2  *  linux/include/asm-arm/arch-l7200/keyboard.h
3  *
4  *  Keyboard driver definitions for LinkUp Systems L7200 architecture
5  *
6  *  Copyright (C) 2000 Scott A McConnell (samcconn@cotw.com)
7  *                     Steve Hill (sjhill@cotw.com)
8  *
9  *  This file is subject to the terms and conditions of the GNU General Public
10  *  License. See the file COPYING in the main directory of this archive for
11  *  more details.
12  *
13  * Changelog:
14  *   07-18-2000	SAM	Created file
15  *   07-28-2000	SJH	Complete rewrite
16  */
17 
18 #include <asm/irq.h>
19 
20 #error This needs fixing --rmk
21 
22 /*
23  * Layout of L7200 keyboard registers
24  */
25 struct KBD_Port {
26 	unsigned int KBDR;
27 	unsigned int KBDMR;
28 	unsigned int KBSBSR;
29 	unsigned int Reserved;
30 	unsigned int KBKSR;
31 };
32 
33 #define KBD_BASE        IO_BASE_2 + 0x4000
34 #define l7200kbd_hwregs ((volatile struct KBD_Port *) (KBD_BASE))
35 
36 extern void l7200kbd_init_hw(void);
37 extern int l7200kbd_translate(unsigned char scancode, unsigned char *keycode,
38 			      char raw_mode);
39 
40 #define kbd_setkeycode(sc,kc)		(-EINVAL)
41 #define kbd_getkeycode(sc)		(-EINVAL)
42 
43 #define kbd_translate(sc, kcp, rm)      ({ *(kcp) = (sc); 1; })
44 #define kbd_unexpected_up(kc)           (0200)
45 #define kbd_leds(leds)                  do {} while (0)
46 #define kbd_init_hw()                   l7200kbd_init_hw()
47 #define kbd_sysrq_xlate                 ((unsigned char *)NULL)
48 #define kbd_disable_irq()               disable_irq(IRQ_GCTC2)
49 #define kbd_enable_irq()                enable_irq(IRQ_GCTC2)
50 
51 #define SYSRQ_KEY	13
52