summaryrefslogtreecommitdiffstats
path: root/reg/gpio.h
blob: 9335d5e9fa06be6dc4451e3e7864f890e7a7d43d (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#ifndef MK20DX256_REG_GPIO_H
#define MK20DX256_REG_GPIO_H

#include <reg/regdefs.h>

// Port Data Output Register
#define GPIO_PDOR(base) REG_32((base) + 0x00)
enum {
	PDOR_PDO = 0, // Port Data Output
#define PDOR_PDO_M REG_32_M(PDOR_PDO, 32)
};

// Port Set Output Register
#define GPIO_PSOR(base) REG_32((base) + 0x04)
enum {
	PSOR_PTSO = 0, // Port Set Output
#define PSOR_PTSO_M REG_32_M(PSOR_PTSO, 32)
};

// Port Clear Output Register
#define GPIO_PCOR(base) REG_32((base) + 0x08)
enum {
	PCOR_PTCO = 0, // Port Clear Output
#define PCOR_PTCO_M REG_32_M(PCOR_PTCO, 32)
};

// Port Toggle Output Register
#define GPIO_PTOR(base) REG_32((base) + 0x0C)
enum {
	PTOR_PTTO = 0, // Port Toggle Output
#define PTOR_PTTO_M REG_32_M(PTOR_PTTO, 32)
};

// Port Data Input Register
#define GPIO_PDIR(base) REG_32((base) + 0x10)
enum {
	PDIR_PDI = 0, // Port Data Input
#define PDIR_PDI_M REG_32_M(PDIR_PDI, 32)
};

// Port Data Direction Register
#define GPIO_PDDR(base) REG_32((base) + 0x14)
enum {
	PDDR_PDD = 0, // Port Data Direction
#define PDDR_PDD_M REG_32_M(PDDR_PDD, 32)
};

#define GPIOA_BASE 0x400FF000

#define GPIOA_PDOR GPIO_PDOR(GPIOA_BASE)
#define GPIOA_PSOR GPIO_PSOR(GPIOA_BASE)
#define GPIOA_PCOR GPIO_PCOR(GPIOA_BASE)
#define GPIOA_PTOR GPIO_PTOR(GPIOA_BASE)
#define GPIOA_PDIR GPIO_PDIR(GPIOA_BASE)
#define GPIOA_PDDR GPIO_PDDR(GPIOA_BASE)

#define GPIOB_BASE 0x400FF040

#define GPIOB_PDOR GPIO_PDOR(GPIOB_BASE)
#define GPIOB_PSOR GPIO_PSOR(GPIOB_BASE)
#define GPIOB_PCOR GPIO_PCOR(GPIOB_BASE)
#define GPIOB_PTOR GPIO_PTOR(GPIOB_BASE)
#define GPIOB_PDIR GPIO_PDIR(GPIOB_BASE)
#define GPIOB_PDDR GPIO_PDDR(GPIOB_BASE)

#define GPIOC_BASE 0x400FF080

#define GPIOC_PDOR GPIO_PDOR(GPIOC_BASE)
#define GPIOC_PSOR GPIO_PSOR(GPIOC_BASE)
#define GPIOC_PCOR GPIO_PCOR(GPIOC_BASE)
#define GPIOC_PTOR GPIO_PTOR(GPIOC_BASE)
#define GPIOC_PDIR GPIO_PDIR(GPIOC_BASE)
#define GPIOC_PDDR GPIO_PDDR(GPIOC_BASE)

#define GPIOD_BASE 0x400FF0C0

#define GPIOD_PDOR GPIO_PDOR(GPIOD_BASE)
#define GPIOD_PSOR GPIO_PSOR(GPIOD_BASE)
#define GPIOD_PCOR GPIO_PCOR(GPIOD_BASE)
#define GPIOD_PTOR GPIO_PTOR(GPIOD_BASE)
#define GPIOD_PDIR GPIO_PDIR(GPIOD_BASE)
#define GPIOD_PDDR GPIO_PDDR(GPIOD_BASE)

#define GPIOE_BASE 0x400FF100

#define GPIOE_PDOR GPIO_PDOR(GPIOE_BASE)
#define GPIOE_PSOR GPIO_PSOR(GPIOE_BASE)
#define GPIOE_PCOR GPIO_PCOR(GPIOE_BASE)
#define GPIOE_PTOR GPIO_PTOR(GPIOE_BASE)
#define GPIOE_PDIR GPIO_PDIR(GPIOE_BASE)
#define GPIOE_PDDR GPIO_PDDR(GPIOE_BASE)

#endif /* MK20DX256_REG_GPIO_H */