summaryrefslogtreecommitdiffstats
path: root/reg/pit.h
blob: 04a975972f2810fb71b633ddcb8e305ed59714fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef MK20DX256_REG_PIT_H
#define MK20DX256_REG_PIT_H

#include "regdefs.h"

// PIT Module Control Register
#define PIT_MCR REG_32(0x40037000)
enum {
	MCR_MDIS = 1, // Module Disable
	MCR_FRZ = 0, // Freeze
};

// Timer Load Value Register
#define PIT_LDVAL(n) REG_32(0x40037100 + 16 * (n))
enum {
	LDVAL_TSV = 0, // Timer Start Value
	LDVAL_TSV_M = REG_32_M(CVAL_TVL, 32),
};

// Current Timer Value Register
#define PIT_CVAL(n) REG_32(0x40037104 + 16 * (n))
enum {
	CVAL_TVL = 0, // Current Timer Value
	CVAL_TVL_M = REG_32_M(CVAL_TVL, 32),
};

// Timer Control Register
#define PIT_TCTRL(n) REG_32(0x40037108 + 16 * (n))
enum {
	TCTRL_CHN = 2, // Chain Mode
	TCTRL_TIE = 1, // Timer Interrupt Enable
	TCTRL_TEN = 0, // Timer Enable
};

// Timer Flag Register
#define PIT_TFLG(n) REG_32(0x4003710C + 16 * (n))
enum {
	TFLG_TIF = 0, // Timer Interrupt Flag
};

#endif /* MK20DX256_REG_PIT_H */