1*645194c7SYoshinori Sato /* 2*645194c7SYoshinori Sato * Renesas Serial Communication Interface 3*645194c7SYoshinori Sato * 4*645194c7SYoshinori Sato * Copyright (c) 2018 Yoshinori Sato 5*645194c7SYoshinori Sato * 6*645194c7SYoshinori Sato * SPDX-License-Identifier: GPL-2.0-or-later 7*645194c7SYoshinori Sato */ 8*645194c7SYoshinori Sato 9*645194c7SYoshinori Sato #ifndef HW_CHAR_RENESAS_SCI_H 10*645194c7SYoshinori Sato #define HW_CHAR_RENESAS_SCI_H 11*645194c7SYoshinori Sato 12*645194c7SYoshinori Sato #include "chardev/char-fe.h" 13*645194c7SYoshinori Sato #include "hw/sysbus.h" 14*645194c7SYoshinori Sato 15*645194c7SYoshinori Sato #define TYPE_RENESAS_SCI "renesas-sci" 16*645194c7SYoshinori Sato #define RSCI(obj) OBJECT_CHECK(RSCIState, (obj), TYPE_RENESAS_SCI) 17*645194c7SYoshinori Sato 18*645194c7SYoshinori Sato enum { 19*645194c7SYoshinori Sato ERI = 0, 20*645194c7SYoshinori Sato RXI = 1, 21*645194c7SYoshinori Sato TXI = 2, 22*645194c7SYoshinori Sato TEI = 3, 23*645194c7SYoshinori Sato SCI_NR_IRQ = 4 24*645194c7SYoshinori Sato }; 25*645194c7SYoshinori Sato 26*645194c7SYoshinori Sato typedef struct { 27*645194c7SYoshinori Sato /*< private >*/ 28*645194c7SYoshinori Sato SysBusDevice parent_obj; 29*645194c7SYoshinori Sato /*< public >*/ 30*645194c7SYoshinori Sato 31*645194c7SYoshinori Sato MemoryRegion memory; 32*645194c7SYoshinori Sato QEMUTimer timer; 33*645194c7SYoshinori Sato CharBackend chr; 34*645194c7SYoshinori Sato qemu_irq irq[SCI_NR_IRQ]; 35*645194c7SYoshinori Sato 36*645194c7SYoshinori Sato uint8_t smr; 37*645194c7SYoshinori Sato uint8_t brr; 38*645194c7SYoshinori Sato uint8_t scr; 39*645194c7SYoshinori Sato uint8_t tdr; 40*645194c7SYoshinori Sato uint8_t ssr; 41*645194c7SYoshinori Sato uint8_t rdr; 42*645194c7SYoshinori Sato uint8_t scmr; 43*645194c7SYoshinori Sato uint8_t semr; 44*645194c7SYoshinori Sato 45*645194c7SYoshinori Sato uint8_t read_ssr; 46*645194c7SYoshinori Sato int64_t trtime; 47*645194c7SYoshinori Sato int64_t rx_next; 48*645194c7SYoshinori Sato uint64_t input_freq; 49*645194c7SYoshinori Sato } RSCIState; 50*645194c7SYoshinori Sato 51*645194c7SYoshinori Sato #endif 52