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