46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|   | /*
 | ||
|  |  * Canon DIGIC timer block declarations. | ||
|  |  * | ||
|  |  * Copyright (C) 2013 Antony Pavlov <antonynpavlov@gmail.com> | ||
|  |  * | ||
|  |  * This program is free software; you can redistribute it and/or modify | ||
|  |  * it under the terms of the GNU General Public License as published by | ||
|  |  * the Free Software Foundation; either version 2 of the License, or | ||
|  |  * (at your option) any later version. | ||
|  |  * | ||
|  |  * This program is distributed in the hope that it will be useful, | ||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
|  |  * GNU General Public License for more details. | ||
|  |  * | ||
|  |  */ | ||
|  | 
 | ||
|  | #ifndef HW_TIMER_DIGIC_TIMER_H
 | ||
|  | #define HW_TIMER_DIGIC_TIMER_H
 | ||
|  | 
 | ||
|  | #include "hw/sysbus.h"
 | ||
|  | #include "hw/ptimer.h"
 | ||
|  | 
 | ||
|  | #define TYPE_DIGIC_TIMER "digic-timer"
 | ||
|  | #define DIGIC_TIMER(obj) OBJECT_CHECK(DigicTimerState, (obj), TYPE_DIGIC_TIMER)
 | ||
|  | 
 | ||
|  | #define DIGIC_TIMER_CONTROL 0x00
 | ||
|  | #define DIGIC_TIMER_CONTROL_RST 0x80000000
 | ||
|  | #define DIGIC_TIMER_CONTROL_EN 0x00000001
 | ||
|  | #define DIGIC_TIMER_RELVALUE 0x08
 | ||
|  | #define DIGIC_TIMER_VALUE 0x0c
 | ||
|  | 
 | ||
|  | typedef struct DigicTimerState { | ||
|  |     /*< private >*/ | ||
|  |     SysBusDevice parent_obj; | ||
|  |     /*< public >*/ | ||
|  | 
 | ||
|  |     MemoryRegion iomem; | ||
|  |     ptimer_state *ptimer; | ||
|  | 
 | ||
|  |     uint32_t control; | ||
|  |     uint32_t relvalue; | ||
|  | } DigicTimerState; | ||
|  | 
 | ||
|  | #endif /* HW_TIMER_DIGIC_TIMER_H */
 |