1/* SPDX-License-Identifier: GPL-2.0-only */ 2#ifndef _I8042_PPCIO_H 3#define _I8042_PPCIO_H 4 5 6#if defined(CONFIG_WALNUT) 7 8#define I8042_KBD_IRQ 25 9#define I8042_AUX_IRQ 26 10 11#define I8042_KBD_PHYS_DESC "walnutps2/serio0" 12#define I8042_AUX_PHYS_DESC "walnutps2/serio1" 13#define I8042_MUX_PHYS_DESC "walnutps2/serio%d" 14 15extern void *kb_cs; 16extern void *kb_data; 17 18#define I8042_COMMAND_REG (*(int *)kb_cs) 19#define I8042_DATA_REG (*(int *)kb_data) 20 21static inline int i8042_read_data(void) 22{ 23 return readb(kb_data); 24} 25 26static inline int i8042_read_status(void) 27{ 28 return readb(kb_cs); 29} 30 31static inline void i8042_write_data(int val) 32{ 33 writeb(val, kb_data); 34} 35 36static inline void i8042_write_command(int val) 37{ 38 writeb(val, kb_cs); 39} 40 41static inline int i8042_platform_init(void) 42{ 43 i8042_reset = I8042_RESET_ALWAYS; 44 return 0; 45} 46 47static inline void i8042_platform_exit(void) 48{ 49} 50 51#else 52 53#include "i8042-io.h" 54 55#endif 56 57#endif /* _I8042_PPCIO_H */ 58