xref: /openbmc/qemu/include/hw/char/bcm2835_aux.h (revision ffe98631)
1 /*
2  * Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft
3  * Written by Andrew Baumann
4  *
5  * This work is licensed under the terms of the GNU GPL, version 2 or later.
6  * See the COPYING file in the top-level directory.
7  */
8 
9 #ifndef BCM2835_AUX_H
10 #define BCM2835_AUX_H
11 
12 #include "hw/sysbus.h"
13 #include "chardev/char-fe.h"
14 #include "qom/object.h"
15 
16 #define TYPE_BCM2835_AUX "bcm2835-aux"
17 OBJECT_DECLARE_SIMPLE_TYPE(BCM2835AuxState, BCM2835_AUX)
18 
19 #define BCM2835_AUX_RX_FIFO_LEN 8
20 
21 struct BCM2835AuxState {
22     /*< private >*/
23     SysBusDevice parent_obj;
24     /*< public >*/
25 
26     MemoryRegion iomem;
27     CharBackend chr;
28     qemu_irq irq;
29 
30     uint8_t read_fifo[BCM2835_AUX_RX_FIFO_LEN];
31     uint8_t read_pos, read_count;
32     uint8_t ier, iir;
33 };
34 
35 #endif
36