xref: /linux/drivers/input/serio/i8042-jazzio.h (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
1 #ifndef _I8042_JAZZ_H
2 #define _I8042_JAZZ_H
3 
4 #include <asm/jazz.h>
5 
6 /*
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License version 2 as published by
9  * the Free Software Foundation.
10  */
11 
12 /*
13  * Names.
14  */
15 
16 #define I8042_KBD_PHYS_DESC "R4030/serio0"
17 #define I8042_AUX_PHYS_DESC "R4030/serio1"
18 #define I8042_MUX_PHYS_DESC "R4030/serio%d"
19 
20 /*
21  * IRQs.
22  */
23 
24 #define I8042_KBD_IRQ JAZZ_KEYBOARD_IRQ
25 #define I8042_AUX_IRQ JAZZ_MOUSE_IRQ
26 
27 #define I8042_COMMAND_REG	((unsigned long)&jazz_kh->command)
28 #define I8042_STATUS_REG	((unsigned long)&jazz_kh->command)
29 #define I8042_DATA_REG		((unsigned long)&jazz_kh->data)
30 
31 static inline int i8042_read_data(void)
32 {
33 	return jazz_kh->data;
34 }
35 
36 static inline int i8042_read_status(void)
37 {
38 	return jazz_kh->command;
39 }
40 
41 static inline void i8042_write_data(int val)
42 {
43 	jazz_kh->data = val;
44 }
45 
46 static inline void i8042_write_command(int val)
47 {
48 	jazz_kh->command = val;
49 }
50 
51 static inline int i8042_platform_init(void)
52 {
53 #if 0
54 	/* XXX JAZZ_KEYBOARD_ADDRESS is a virtual address */
55 	if (!request_mem_region(JAZZ_KEYBOARD_ADDRESS, 2, "i8042"))
56 		return -EBUSY;
57 #endif
58 
59 	return 0;
60 }
61 
62 static inline void i8042_platform_exit(void)
63 {
64 #if 0
65 	release_mem_region(JAZZ_KEYBOARD_ADDRESS, 2);
66 #endif
67 }
68 
69 #endif /* _I8042_JAZZ_H */
70