Merge tag 'pull-loongarch-20241016' of https://gitlab.com/gaosong/qemu into staging
[qemu/armbru.git] / include / hw / input / stellaris_gamepad.h
blob51085e166ca50d5797848078eb3e648c72d02d18
1 /*
2 * Gamepad style buttons connected to IRQ/GPIO lines
4 * Copyright (c) 2007 CodeSourcery.
5 * Written by Paul Brook
7 * This work is licensed under the terms of the GNU GPL, version 2 or later.
8 * See the COPYING file in the top-level directory.
9 */
11 #ifndef HW_INPUT_STELLARIS_GAMEPAD_H
12 #define HW_INPUT_STELLARIS_GAMEPAD_H
14 #include "hw/sysbus.h"
15 #include "qom/object.h"
18 * QEMU interface:
19 * + QOM array property "keycodes": uint32_t QEMU keycodes to handle
20 * (these are QCodes, ie the Q_KEY_* values)
21 * + unnamed GPIO outputs: one per keycode, in the same order as the
22 * "keycodes" array property entries; asserted when key is down
25 #define TYPE_STELLARIS_GAMEPAD "stellaris-gamepad"
26 OBJECT_DECLARE_SIMPLE_TYPE(StellarisGamepad, STELLARIS_GAMEPAD)
28 struct StellarisGamepad {
29 SysBusDevice parent_obj;
31 uint32_t num_buttons;
32 qemu_irq *irqs;
33 uint32_t *keycodes;
34 uint8_t *pressed;
37 #endif