xref: /qemu/include/hw/input/i8042.h (revision 41ea82055c7cd5dbcdeb61236eae4272a64bb5f6)
147973a2dSPhilippe Mathieu-Daudé /*
247973a2dSPhilippe Mathieu-Daudé  * QEMU PS/2 Controller
347973a2dSPhilippe Mathieu-Daudé  *
447973a2dSPhilippe Mathieu-Daudé  * Copyright (c) 2003 Fabrice Bellard
547973a2dSPhilippe Mathieu-Daudé  *
647973a2dSPhilippe Mathieu-Daudé  * SPDX-License-Identifier: MIT
747973a2dSPhilippe Mathieu-Daudé  */
847973a2dSPhilippe Mathieu-Daudé #ifndef HW_INPUT_I8042_H
947973a2dSPhilippe Mathieu-Daudé #define HW_INPUT_I8042_H
1047973a2dSPhilippe Mathieu-Daudé 
1147973a2dSPhilippe Mathieu-Daudé #include "hw/isa/isa.h"
1247973a2dSPhilippe Mathieu-Daudé 
1347973a2dSPhilippe Mathieu-Daudé #define TYPE_I8042 "i8042"
14*41ea8205SEduardo Habkost #define I8042(obj) OBJECT_CHECK(ISAKBDState, (obj), TYPE_I8042)
1547973a2dSPhilippe Mathieu-Daudé 
1647973a2dSPhilippe Mathieu-Daudé #define I8042_A20_LINE "a20"
1747973a2dSPhilippe Mathieu-Daudé 
180fe4bb32SMarc-André Lureau typedef struct ISAKBDState ISAKBDState;
190fe4bb32SMarc-André Lureau 
2047973a2dSPhilippe Mathieu-Daudé void i8042_mm_init(qemu_irq kbd_irq, qemu_irq mouse_irq,
2147973a2dSPhilippe Mathieu-Daudé                    MemoryRegion *region, ram_addr_t size,
2247973a2dSPhilippe Mathieu-Daudé                    hwaddr mask);
230fe4bb32SMarc-André Lureau void i8042_isa_mouse_fake_event(ISAKBDState *isa);
2447973a2dSPhilippe Mathieu-Daudé void i8042_setup_a20_line(ISADevice *dev, qemu_irq a20_out);
2547973a2dSPhilippe Mathieu-Daudé 
2647973a2dSPhilippe Mathieu-Daudé #endif /* HW_INPUT_I8042_H */
27