1 /* SPDX-License-Identifier: GPL-2.0-only */
5 #include <asm/sgi/ioc.h>
6 #include <asm/sgi/ip22.h>
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"
21 #define I8042_KBD_IRQ SGI_KEYBD_IRQ
22 #define I8042_AUX_IRQ SGI_KEYBD_IRQ
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)
32 static inline int i8042_read_data(void)
34 return sgioc
->kbdmouse
.data
;
37 static inline int i8042_read_status(void)
39 return sgioc
->kbdmouse
.command
;
42 static inline void i8042_write_data(int val
)
44 sgioc
->kbdmouse
.data
= val
;
47 static inline void i8042_write_command(int val
)
49 sgioc
->kbdmouse
.command
= val
;
52 static inline int i8042_platform_init(void)
55 /* XXX sgi_kh is a virtual address */
56 if (!request_mem_region(sgi_kh
, sizeof(struct hpc_keyb
), "i8042"))
60 i8042_reset
= I8042_RESET_ALWAYS
;
65 static inline void i8042_platform_exit(void)
68 release_mem_region(JAZZ_KEYBOARD_ADDRESS
, sizeof(struct hpc_keyb
));
72 #endif /* _I8042_IP22_H */