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