cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

i8042-ip22io.h (1327B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2#ifndef _I8042_IP22_H
      3#define _I8042_IP22_H
      4
      5#include <asm/sgi/ioc.h>
      6#include <asm/sgi/ip22.h>
      7
      8
      9/*
     10 * Names.
     11 */
     12
     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"
     16
     17/*
     18 * IRQs.
     19 */
     20
     21#define I8042_KBD_IRQ SGI_KEYBD_IRQ
     22#define I8042_AUX_IRQ SGI_KEYBD_IRQ
     23
     24/*
     25 * Register numbers.
     26 */
     27
     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)
     31
     32static inline int i8042_read_data(void)
     33{
     34	return sgioc->kbdmouse.data;
     35}
     36
     37static inline int i8042_read_status(void)
     38{
     39	return sgioc->kbdmouse.command;
     40}
     41
     42static inline void i8042_write_data(int val)
     43{
     44	sgioc->kbdmouse.data = val;
     45}
     46
     47static inline void i8042_write_command(int val)
     48{
     49	sgioc->kbdmouse.command = val;
     50}
     51
     52static inline int i8042_platform_init(void)
     53{
     54#if 0
     55	/* XXX sgi_kh is a virtual address */
     56	if (!request_mem_region(sgi_kh, sizeof(struct hpc_keyb), "i8042"))
     57		return -EBUSY;
     58#endif
     59
     60	i8042_reset = I8042_RESET_ALWAYS;
     61
     62	return 0;
     63}
     64
     65static inline void i8042_platform_exit(void)
     66{
     67#if 0
     68	release_mem_region(JAZZ_KEYBOARD_ADDRESS, sizeof(struct hpc_keyb));
     69#endif
     70}
     71
     72#endif /* _I8042_IP22_H */