1#ifndef __NVKM_TIMER_NV04_H__
2#define __NVKM_TIMER_NV04_H__
3#include "priv.h"
4
5#define NV04_PTIMER_INTR_0      0x009100
6#define NV04_PTIMER_INTR_EN_0   0x009140
7#define NV04_PTIMER_NUMERATOR   0x009200
8#define NV04_PTIMER_DENOMINATOR 0x009210
9#define NV04_PTIMER_TIME_0      0x009400
10#define NV04_PTIMER_TIME_1      0x009410
11#define NV04_PTIMER_ALARM_0     0x009420
12
13struct nv04_timer_priv {
14	struct nvkm_timer base;
15	struct list_head alarms;
16	spinlock_t lock;
17	u64 suspend_time;
18};
19
20int  nv04_timer_ctor(struct nvkm_object *, struct nvkm_object *,
21		     struct nvkm_oclass *, void *, u32,
22		     struct nvkm_object **);
23void nv04_timer_dtor(struct nvkm_object *);
24int  nv04_timer_fini(struct nvkm_object *, bool);
25#endif
26