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" 22*becdfa00SMarc-André Lureau #include "sysemu/char.h" 23142593c9SAntony Pavlov 24142593c9SAntony Pavlov #define TYPE_DIGIC_UART "digic-uart" 25142593c9SAntony Pavlov #define DIGIC_UART(obj) \ 26142593c9SAntony Pavlov OBJECT_CHECK(DigicUartState, (obj), TYPE_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 35142593c9SAntony Pavlov typedef struct DigicUartState { 36142593c9SAntony Pavlov /*< private >*/ 37142593c9SAntony Pavlov SysBusDevice parent_obj; 38142593c9SAntony Pavlov /*< public >*/ 39142593c9SAntony Pavlov 40142593c9SAntony Pavlov MemoryRegion regs_region; 41*becdfa00SMarc-André Lureau CharBackend chr; 42142593c9SAntony Pavlov 43142593c9SAntony Pavlov uint32_t reg_rx; 44142593c9SAntony Pavlov uint32_t reg_st; 45142593c9SAntony Pavlov } DigicUartState; 46142593c9SAntony Pavlov 47142593c9SAntony Pavlov #endif /* HW_CHAR_DIGIC_UART_H */ 48