1*4882a593Smuzhiyun #ifndef __LINUX_PS2MULT_H 2*4882a593Smuzhiyun #define __LINUX_PS2MULT_H 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #define kbd_request_region() ps2mult_init() 5*4882a593Smuzhiyun #define kbd_request_irq(handler) ps2mult_request_irq(handler) 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #define kbd_read_input() ps2mult_read_input() 8*4882a593Smuzhiyun #define kbd_read_status() ps2mult_read_status() 9*4882a593Smuzhiyun #define kbd_write_output(val) ps2mult_write_output(val) 10*4882a593Smuzhiyun #define kbd_write_command(val) ps2mult_write_command(val) 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #define aux_request_irq(hand, dev_id) 0 13*4882a593Smuzhiyun #define aux_free_irq(dev_id) 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #define PS2MULT_KB_SELECTOR 0xA0 16*4882a593Smuzhiyun #define PS2MULT_MS_SELECTOR 0xA1 17*4882a593Smuzhiyun #define PS2MULT_ESCAPE 0x7D 18*4882a593Smuzhiyun #define PS2MULT_BSYNC 0x7E 19*4882a593Smuzhiyun #define PS2MULT_SESSION_START 0x55 20*4882a593Smuzhiyun #define PS2MULT_SESSION_END 0x56 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun #define PS2BUF_SIZE 512 /* power of 2, please */ 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #ifndef CONFIG_PS2MULT_DELAY 25*4882a593Smuzhiyun #define CONFIG_PS2MULT_DELAY (CONFIG_SYS_HZ/2) /* Initial delay */ 26*4882a593Smuzhiyun #endif 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun /* PS/2 controller interface (include/asm/keyboard.h) 29*4882a593Smuzhiyun */ 30*4882a593Smuzhiyun extern int ps2mult_init (void); 31*4882a593Smuzhiyun extern int ps2mult_request_irq(void (*handler)(void *)); 32*4882a593Smuzhiyun extern u_char ps2mult_read_input(void); 33*4882a593Smuzhiyun extern u_char ps2mult_read_status(void); 34*4882a593Smuzhiyun extern void ps2mult_write_output(u_char val); 35*4882a593Smuzhiyun extern void ps2mult_write_command(u_char val); 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun extern void ps2mult_early_init (void); 38*4882a593Smuzhiyun extern void ps2mult_callback (int in_cnt); 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun /* Simple serial interface 41*4882a593Smuzhiyun */ 42*4882a593Smuzhiyun extern int ps2ser_init(void); 43*4882a593Smuzhiyun extern void ps2ser_putc(int chr); 44*4882a593Smuzhiyun extern int ps2ser_getc(void); 45*4882a593Smuzhiyun extern int ps2ser_check(void); 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun /* Serial related stuff 49*4882a593Smuzhiyun */ 50*4882a593Smuzhiyun struct serial_state { 51*4882a593Smuzhiyun int baud_base; 52*4882a593Smuzhiyun int irq; 53*4882a593Smuzhiyun u8 *iomem_base; 54*4882a593Smuzhiyun }; 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun #endif /* __LINUX_PS2MULT_H */ 57