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