]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blame - drivers/input/serio/i8042-ip22io.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
[mirror_ubuntu-hirsute-kernel.git] / drivers / input / serio / i8042-ip22io.h
CommitLineData
d2912cb1 1/* SPDX-License-Identifier: GPL-2.0-only */
1da177e4
LT
2#ifndef _I8042_IP22_H
3#define _I8042_IP22_H
4
5#include <asm/sgi/ioc.h>
6#include <asm/sgi/ip22.h>
7
1da177e4
LT
8
9/*
10 * Names.
11 */
12
13#define I8042_KBD_PHYS_DESC "hpc3ps2/serio0"
14#define I8042_AUX_PHYS_DESC "hpc3ps2/serio1"
15#define I8042_MUX_PHYS_DESC "hpc3ps2/serio%d"
16
17/*
18 * IRQs.
19 */
20
21#define I8042_KBD_IRQ SGI_KEYBD_IRQ
22#define I8042_AUX_IRQ SGI_KEYBD_IRQ
23
24/*
25 * Register numbers.
26 */
27
28#define I8042_COMMAND_REG ((unsigned long)&sgioc->kbdmouse.command)
29#define I8042_STATUS_REG ((unsigned long)&sgioc->kbdmouse.command)
30#define I8042_DATA_REG ((unsigned long)&sgioc->kbdmouse.data)
31
32static inline int i8042_read_data(void)
33{
34 return sgioc->kbdmouse.data;
35}
36
37static inline int i8042_read_status(void)
38{
39 return sgioc->kbdmouse.command;
40}
41
42static inline void i8042_write_data(int val)
43{
44 sgioc->kbdmouse.data = val;
45}
46
47static inline void i8042_write_command(int val)
48{
49 sgioc->kbdmouse.command = val;
50}
51
52static inline int i8042_platform_init(void)
53{
54#if 0
55 /* XXX sgi_kh is a virtual address */
56 if (!request_mem_region(sgi_kh, sizeof(struct hpc_keyb), "i8042"))
8d5987a6 57 return -EBUSY;
1da177e4
LT
58#endif
59
930e1924 60 i8042_reset = I8042_RESET_ALWAYS;
1da177e4
LT
61
62 return 0;
63}
64
65static inline void i8042_platform_exit(void)
66{
67#if 0
68 release_mem_region(JAZZ_KEYBOARD_ADDRESS, sizeof(struct hpc_keyb));
69#endif
70}
71
72#endif /* _I8042_IP22_H */