123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /*
- * Renesas Serial Communication Interface
- *
- * Copyright (c) 2018 Yoshinori Sato
- *
- * SPDX-License-Identifier: GPL-2.0-or-later
- */
- #ifndef HW_CHAR_RENESAS_SCI_H
- #define HW_CHAR_RENESAS_SCI_H
- #include "chardev/char-fe.h"
- #include "hw/sysbus.h"
- #include "qom/object.h"
- #define TYPE_RENESAS_SCI "renesas-sci"
- typedef struct RSCIState RSCIState;
- DECLARE_INSTANCE_CHECKER(RSCIState, RSCI,
- TYPE_RENESAS_SCI)
- enum {
- ERI = 0,
- RXI = 1,
- TXI = 2,
- TEI = 3,
- SCI_NR_IRQ = 4
- };
- struct RSCIState {
- /*< private >*/
- SysBusDevice parent_obj;
- /*< public >*/
- MemoryRegion memory;
- QEMUTimer timer;
- CharBackend chr;
- qemu_irq irq[SCI_NR_IRQ];
- uint8_t smr;
- uint8_t brr;
- uint8_t scr;
- uint8_t tdr;
- uint8_t ssr;
- uint8_t rdr;
- uint8_t scmr;
- uint8_t semr;
- uint8_t read_ssr;
- int64_t trtime;
- int64_t rx_next;
- uint64_t input_freq;
- };
- #endif
|