qemu/include/hw/timer/renesas_cmt.h
<<
>>
Prefs
   1/*
   2 * Renesas Compare-match timer Object
   3 *
   4 * Copyright (c) 2019 Yoshinori Sato
   5 *
   6 * SPDX-License-Identifier: GPL-2.0-or-later
   7 */
   8
   9#ifndef HW_TIMER_RENESAS_CMT_H
  10#define HW_TIMER_RENESAS_CMT_H
  11
  12#include "qemu/timer.h"
  13#include "hw/sysbus.h"
  14#include "qom/object.h"
  15
  16#define TYPE_RENESAS_CMT "renesas-cmt"
  17typedef struct RCMTState RCMTState;
  18DECLARE_INSTANCE_CHECKER(RCMTState, RCMT,
  19                         TYPE_RENESAS_CMT)
  20
  21enum {
  22    CMT_CH = 2,
  23    CMT_NR_IRQ = 1 * CMT_CH
  24};
  25
  26struct RCMTState {
  27    /*< private >*/
  28    SysBusDevice parent_obj;
  29    /*< public >*/
  30
  31    uint64_t input_freq;
  32    MemoryRegion memory;
  33
  34    uint16_t cmstr;
  35    uint16_t cmcr[CMT_CH];
  36    uint16_t cmcnt[CMT_CH];
  37    uint16_t cmcor[CMT_CH];
  38    int64_t tick[CMT_CH];
  39    qemu_irq cmi[CMT_CH];
  40    QEMUTimer timer[CMT_CH];
  41};
  42
  43#endif
  44