2 * This program is free software; you can redistribute it and/or modify it
3 * under the terms and conditions of the GNU General Public License,
4 * version 2 or later, as published by the Free Software Foundation.
6 * This program is distributed in the hope it will be useful, but WITHOUT
7 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
8 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * You should have received a copy of the GNU General Public License along with
12 * this program. If not, see <http://www.gnu.org/licenses/>.
18 #include "hw/sysbus.h"
19 #include "chardev/char-fe.h"
20 #include "qom/object.h"
22 #define TYPE_PL011 "pl011"
23 OBJECT_DECLARE_SIMPLE_TYPE(PL011State
, PL011
)
25 /* This shares the same struct (and cast macro) as the base pl011 device */
26 #define TYPE_PL011_LUMINARY "pl011_luminary"
28 /* Depth of UART FIFO in bytes, when FIFO mode is enabled (else depth == 1) */
29 #define PL011_FIFO_DEPTH 16
32 SysBusDevice parent_obj
;
43 uint32_t read_fifo
[PL011_FIFO_DEPTH
];
55 const unsigned char *id
;
58 DeviceState
*pl011_create(hwaddr addr
, qemu_irq irq
, Chardev
*chr
);