1d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 21da177e4SLinus Torvalds #ifndef _I8042_JAZZ_H 31da177e4SLinus Torvalds #define _I8042_JAZZ_H 41da177e4SLinus Torvalds 51da177e4SLinus Torvalds #include <asm/jazz.h> 61da177e4SLinus Torvalds 71da177e4SLinus Torvalds 81da177e4SLinus Torvalds /* 91da177e4SLinus Torvalds * Names. 101da177e4SLinus Torvalds */ 111da177e4SLinus Torvalds 121da177e4SLinus Torvalds #define I8042_KBD_PHYS_DESC "R4030/serio0" 131da177e4SLinus Torvalds #define I8042_AUX_PHYS_DESC "R4030/serio1" 141da177e4SLinus Torvalds #define I8042_MUX_PHYS_DESC "R4030/serio%d" 151da177e4SLinus Torvalds 161da177e4SLinus Torvalds /* 171da177e4SLinus Torvalds * IRQs. 181da177e4SLinus Torvalds */ 191da177e4SLinus Torvalds 201da177e4SLinus Torvalds #define I8042_KBD_IRQ JAZZ_KEYBOARD_IRQ 211da177e4SLinus Torvalds #define I8042_AUX_IRQ JAZZ_MOUSE_IRQ 221da177e4SLinus Torvalds 231da177e4SLinus Torvalds #define I8042_COMMAND_REG ((unsigned long)&jazz_kh->command) 241da177e4SLinus Torvalds #define I8042_STATUS_REG ((unsigned long)&jazz_kh->command) 251da177e4SLinus Torvalds #define I8042_DATA_REG ((unsigned long)&jazz_kh->data) 261da177e4SLinus Torvalds i8042_read_data(void)271da177e4SLinus Torvaldsstatic inline int i8042_read_data(void) 281da177e4SLinus Torvalds { 291da177e4SLinus Torvalds return jazz_kh->data; 301da177e4SLinus Torvalds } 311da177e4SLinus Torvalds i8042_read_status(void)321da177e4SLinus Torvaldsstatic inline int i8042_read_status(void) 331da177e4SLinus Torvalds { 341da177e4SLinus Torvalds return jazz_kh->command; 351da177e4SLinus Torvalds } 361da177e4SLinus Torvalds i8042_write_data(int val)371da177e4SLinus Torvaldsstatic inline void i8042_write_data(int val) 381da177e4SLinus Torvalds { 391da177e4SLinus Torvalds jazz_kh->data = val; 401da177e4SLinus Torvalds } 411da177e4SLinus Torvalds i8042_write_command(int val)421da177e4SLinus Torvaldsstatic inline void i8042_write_command(int val) 431da177e4SLinus Torvalds { 441da177e4SLinus Torvalds jazz_kh->command = val; 451da177e4SLinus Torvalds } 461da177e4SLinus Torvalds i8042_platform_init(void)471da177e4SLinus Torvaldsstatic inline int i8042_platform_init(void) 481da177e4SLinus Torvalds { 491da177e4SLinus Torvalds #if 0 501da177e4SLinus Torvalds /* XXX JAZZ_KEYBOARD_ADDRESS is a virtual address */ 511da177e4SLinus Torvalds if (!request_mem_region(JAZZ_KEYBOARD_ADDRESS, 2, "i8042")) 528d5987a6SDmitry Torokhov return -EBUSY; 531da177e4SLinus Torvalds #endif 541da177e4SLinus Torvalds 551da177e4SLinus Torvalds return 0; 561da177e4SLinus Torvalds } 571da177e4SLinus Torvalds i8042_platform_exit(void)581da177e4SLinus Torvaldsstatic inline void i8042_platform_exit(void) 591da177e4SLinus Torvalds { 601da177e4SLinus Torvalds #if 0 611da177e4SLinus Torvalds release_mem_region(JAZZ_KEYBOARD_ADDRESS, 2); 621da177e4SLinus Torvalds #endif 631da177e4SLinus Torvalds } 641da177e4SLinus Torvalds 651da177e4SLinus Torvalds #endif /* _I8042_JAZZ_H */ 66