]> git.proxmox.com Git - mirror_qemu.git/blame - include/hw/char/renesas_sci.h
Use DECLARE_*CHECKER* macros
[mirror_qemu.git] / include / hw / char / renesas_sci.h
CommitLineData
645194c7
YS
1/*
2 * Renesas Serial Communication Interface
3 *
4 * Copyright (c) 2018 Yoshinori Sato
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8
9#ifndef HW_CHAR_RENESAS_SCI_H
10#define HW_CHAR_RENESAS_SCI_H
11
12#include "chardev/char-fe.h"
13#include "hw/sysbus.h"
db1015e9 14#include "qom/object.h"
645194c7
YS
15
16#define TYPE_RENESAS_SCI "renesas-sci"
db1015e9 17typedef struct RSCIState RSCIState;
8110fa1d
EH
18DECLARE_INSTANCE_CHECKER(RSCIState, RSCI,
19 TYPE_RENESAS_SCI)
645194c7
YS
20
21enum {
22 ERI = 0,
23 RXI = 1,
24 TXI = 2,
25 TEI = 3,
26 SCI_NR_IRQ = 4
27};
28
db1015e9 29struct RSCIState {
645194c7
YS
30 /*< private >*/
31 SysBusDevice parent_obj;
32 /*< public >*/
33
34 MemoryRegion memory;
35 QEMUTimer timer;
36 CharBackend chr;
37 qemu_irq irq[SCI_NR_IRQ];
38
39 uint8_t smr;
40 uint8_t brr;
41 uint8_t scr;
42 uint8_t tdr;
43 uint8_t ssr;
44 uint8_t rdr;
45 uint8_t scmr;
46 uint8_t semr;
47
48 uint8_t read_ssr;
49 int64_t trtime;
50 int64_t rx_next;
51 uint64_t input_freq;
db1015e9 52};
645194c7
YS
53
54#endif