forked from mirror/qemu
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			44 lines
		
	
	
		
			819 B
		
	
	
	
		
			C
		
	
			
		
		
	
	
			44 lines
		
	
	
		
			819 B
		
	
	
	
		
			C
		
	
| /*
 | |
|  * Renesas Compare-match timer Object
 | |
|  *
 | |
|  * Copyright (c) 2019 Yoshinori Sato
 | |
|  *
 | |
|  * SPDX-License-Identifier: GPL-2.0-or-later
 | |
|  */
 | |
| 
 | |
| #ifndef HW_TIMER_RENESAS_CMT_H
 | |
| #define HW_TIMER_RENESAS_CMT_H
 | |
| 
 | |
| #include "qemu/timer.h"
 | |
| #include "hw/sysbus.h"
 | |
| #include "qom/object.h"
 | |
| 
 | |
| #define TYPE_RENESAS_CMT "renesas-cmt"
 | |
| typedef struct RCMTState RCMTState;
 | |
| DECLARE_INSTANCE_CHECKER(RCMTState, RCMT,
 | |
|                          TYPE_RENESAS_CMT)
 | |
| 
 | |
| enum {
 | |
|     CMT_CH = 2,
 | |
|     CMT_NR_IRQ = 1 * CMT_CH
 | |
| };
 | |
| 
 | |
| struct RCMTState {
 | |
|     /*< private >*/
 | |
|     SysBusDevice parent_obj;
 | |
|     /*< public >*/
 | |
| 
 | |
|     uint64_t input_freq;
 | |
|     MemoryRegion memory;
 | |
| 
 | |
|     uint16_t cmstr;
 | |
|     uint16_t cmcr[CMT_CH];
 | |
|     uint16_t cmcnt[CMT_CH];
 | |
|     uint16_t cmcor[CMT_CH];
 | |
|     int64_t tick[CMT_CH];
 | |
|     qemu_irq cmi[CMT_CH];
 | |
|     QEMUTimer timer[CMT_CH];
 | |
| };
 | |
| 
 | |
| #endif
 |