1 | /* |
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. |
5 | * |
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 |
9 | * more details. |
10 | * |
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/>. |
13 | */ |
14 | |
15 | #ifndef XILINX_UARTLITE_H |
16 | #define XILINX_UARTLITE_H |
17 | |
18 | #include "hw/qdev-properties.h" |
19 | #include "hw/sysbus.h" |
20 | |
21 | static inline DeviceState *xilinx_uartlite_create(hwaddr addr, |
22 | qemu_irq irq, |
23 | Chardev *chr) |
24 | { |
25 | DeviceState *dev; |
26 | SysBusDevice *s; |
27 | |
28 | dev = qdev_create(NULL, "xlnx.xps-uartlite" ); |
29 | s = SYS_BUS_DEVICE(dev); |
30 | qdev_prop_set_chr(dev, "chardev" , chr); |
31 | qdev_init_nofail(dev); |
32 | sysbus_mmio_map(s, 0, addr); |
33 | sysbus_connect_irq(s, 0, irq); |
34 | |
35 | return dev; |
36 | } |
37 | |
38 | #endif |
39 | |