xref: /openbmc/qemu/include/hw/char/digic-uart.h (revision c122bca9)
1142593c9SAntony Pavlov /*
2142593c9SAntony Pavlov  * Canon DIGIC UART block declarations.
3142593c9SAntony Pavlov  *
4142593c9SAntony Pavlov  * Copyright (C) 2013 Antony Pavlov <antonynpavlov@gmail.com>
5142593c9SAntony Pavlov  *
6142593c9SAntony Pavlov  * This program is free software; you can redistribute it and/or modify
7142593c9SAntony Pavlov  * it under the terms of the GNU General Public License as published by
8142593c9SAntony Pavlov  * the Free Software Foundation; either version 2 of the License, or
9142593c9SAntony Pavlov  * (at your option) any later version.
10142593c9SAntony Pavlov  *
11142593c9SAntony Pavlov  * This program is distributed in the hope that it will be useful,
12142593c9SAntony Pavlov  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13142593c9SAntony Pavlov  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14142593c9SAntony Pavlov  * GNU General Public License for more details.
15142593c9SAntony Pavlov  *
16142593c9SAntony Pavlov  */
17142593c9SAntony Pavlov 
18142593c9SAntony Pavlov #ifndef HW_CHAR_DIGIC_UART_H
19142593c9SAntony Pavlov #define HW_CHAR_DIGIC_UART_H
20142593c9SAntony Pavlov 
21142593c9SAntony Pavlov #include "hw/sysbus.h"
224d43a603SMarc-André Lureau #include "chardev/char-fe.h"
23db1015e9SEduardo Habkost #include "qom/object.h"
24142593c9SAntony Pavlov 
25142593c9SAntony Pavlov #define TYPE_DIGIC_UART "digic-uart"
26*8063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(DigicUartState, DIGIC_UART)
27142593c9SAntony Pavlov 
28142593c9SAntony Pavlov enum {
29142593c9SAntony Pavlov     R_TX = 0x00,
30142593c9SAntony Pavlov     R_RX,
31142593c9SAntony Pavlov     R_ST = (0x14 >> 2),
32142593c9SAntony Pavlov     R_MAX
33142593c9SAntony Pavlov };
34142593c9SAntony Pavlov 
35db1015e9SEduardo Habkost struct DigicUartState {
36142593c9SAntony Pavlov     /*< private >*/
37142593c9SAntony Pavlov     SysBusDevice parent_obj;
38142593c9SAntony Pavlov     /*< public >*/
39142593c9SAntony Pavlov 
40142593c9SAntony Pavlov     MemoryRegion regs_region;
41becdfa00SMarc-André Lureau     CharBackend chr;
42142593c9SAntony Pavlov 
43142593c9SAntony Pavlov     uint32_t reg_rx;
44142593c9SAntony Pavlov     uint32_t reg_st;
45db1015e9SEduardo Habkost };
46142593c9SAntony Pavlov 
47142593c9SAntony Pavlov #endif /* HW_CHAR_DIGIC_UART_H */
48