xref: /openbmc/qemu/include/hw/char/digic-uart.h (revision 142593c9)
1*142593c9SAntony Pavlov /*
2*142593c9SAntony Pavlov  * Canon DIGIC UART block declarations.
3*142593c9SAntony Pavlov  *
4*142593c9SAntony Pavlov  * Copyright (C) 2013 Antony Pavlov <antonynpavlov@gmail.com>
5*142593c9SAntony Pavlov  *
6*142593c9SAntony Pavlov  * This program is free software; you can redistribute it and/or modify
7*142593c9SAntony Pavlov  * it under the terms of the GNU General Public License as published by
8*142593c9SAntony Pavlov  * the Free Software Foundation; either version 2 of the License, or
9*142593c9SAntony Pavlov  * (at your option) any later version.
10*142593c9SAntony Pavlov  *
11*142593c9SAntony Pavlov  * This program is distributed in the hope that it will be useful,
12*142593c9SAntony Pavlov  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13*142593c9SAntony Pavlov  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14*142593c9SAntony Pavlov  * GNU General Public License for more details.
15*142593c9SAntony Pavlov  *
16*142593c9SAntony Pavlov  */
17*142593c9SAntony Pavlov 
18*142593c9SAntony Pavlov #ifndef HW_CHAR_DIGIC_UART_H
19*142593c9SAntony Pavlov #define HW_CHAR_DIGIC_UART_H
20*142593c9SAntony Pavlov 
21*142593c9SAntony Pavlov #include "hw/sysbus.h"
22*142593c9SAntony Pavlov #include "qemu/typedefs.h"
23*142593c9SAntony Pavlov 
24*142593c9SAntony Pavlov #define TYPE_DIGIC_UART "digic-uart"
25*142593c9SAntony Pavlov #define DIGIC_UART(obj) \
26*142593c9SAntony Pavlov     OBJECT_CHECK(DigicUartState, (obj), TYPE_DIGIC_UART)
27*142593c9SAntony Pavlov 
28*142593c9SAntony Pavlov enum {
29*142593c9SAntony Pavlov     R_TX = 0x00,
30*142593c9SAntony Pavlov     R_RX,
31*142593c9SAntony Pavlov     R_ST = (0x14 >> 2),
32*142593c9SAntony Pavlov     R_MAX
33*142593c9SAntony Pavlov };
34*142593c9SAntony Pavlov 
35*142593c9SAntony Pavlov typedef struct DigicUartState {
36*142593c9SAntony Pavlov     /*< private >*/
37*142593c9SAntony Pavlov     SysBusDevice parent_obj;
38*142593c9SAntony Pavlov     /*< public >*/
39*142593c9SAntony Pavlov 
40*142593c9SAntony Pavlov     MemoryRegion regs_region;
41*142593c9SAntony Pavlov     CharDriverState *chr;
42*142593c9SAntony Pavlov 
43*142593c9SAntony Pavlov     uint32_t reg_rx;
44*142593c9SAntony Pavlov     uint32_t reg_st;
45*142593c9SAntony Pavlov } DigicUartState;
46*142593c9SAntony Pavlov 
47*142593c9SAntony Pavlov #endif /* HW_CHAR_DIGIC_UART_H */
48