1/* 2 * Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft 3 * Written by Andrew Baumann 4 * 5 * This code is licensed under the GNU GPLv2 and later. 6 */ 7 8#ifndef BCM2835_AUX_H 9#define BCM2835_AUX_H 10 11#include "hw/sysbus.h" 12#include "chardev/char-fe.h" 13 14#define TYPE_BCM2835_AUX "bcm2835-aux" 15#define BCM2835_AUX(obj) OBJECT_CHECK(BCM2835AuxState, (obj), TYPE_BCM2835_AUX) 16 17#define BCM2835_AUX_RX_FIFO_LEN 8 18 19typedef struct { 20 /*< private >*/ 21 SysBusDevice parent_obj; 22 /*< public >*/ 23 24 MemoryRegion iomem; 25 CharBackend chr; 26 qemu_irq irq; 27 28 uint8_t read_fifo[BCM2835_AUX_RX_FIFO_LEN]; 29 uint8_t read_pos, read_count; 30 uint8_t ier, iir; 31} BCM2835AuxState; 32 33#endif 34