xref: /qemu/include/hw/input/i8042.h (revision db1015e92e04835c9eb50c29625fe566d1202dbd)
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"
12*db1015e9SEduardo Habkost #include "qom/object.h"
1347973a2dSPhilippe Mathieu-Daudé 
1447973a2dSPhilippe Mathieu-Daudé #define TYPE_I8042 "i8042"
15*db1015e9SEduardo Habkost typedef struct ISAKBDState ISAKBDState;
1641ea8205SEduardo Habkost #define I8042(obj) OBJECT_CHECK(ISAKBDState, (obj), TYPE_I8042)
1747973a2dSPhilippe Mathieu-Daudé 
1847973a2dSPhilippe Mathieu-Daudé #define I8042_A20_LINE "a20"
1947973a2dSPhilippe Mathieu-Daudé 
200fe4bb32SMarc-André Lureau 
2147973a2dSPhilippe Mathieu-Daudé void i8042_mm_init(qemu_irq kbd_irq, qemu_irq mouse_irq,
2247973a2dSPhilippe Mathieu-Daudé                    MemoryRegion *region, ram_addr_t size,
2347973a2dSPhilippe Mathieu-Daudé                    hwaddr mask);
240fe4bb32SMarc-André Lureau void i8042_isa_mouse_fake_event(ISAKBDState *isa);
2547973a2dSPhilippe Mathieu-Daudé void i8042_setup_a20_line(ISADevice *dev, qemu_irq a20_out);
2647973a2dSPhilippe Mathieu-Daudé 
2747973a2dSPhilippe Mathieu-Daudé #endif /* HW_INPUT_I8042_H */
28