summaryrefslogtreecommitdiff
path: root/src/soc/intel/cannonlake/include/soc/gpio_soc_defs.h
blob: e9a5b89491773e38c7da97654878b596b93a3e19 (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
/*
 * This file is part of the coreboot project.
 *
 * Copyright 2015 Google Inc.
 * Copyright 2017 Intel Corp.
 *
 * 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; version 2 of the License.
 *
 * 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 _SOC_CANNONLAKE_GPIO_SOC_DEFS_H_
#define _SOC_CANNONLAKE_GPIO_SOC_DEFS_H_

/*
 * There are 9 GPIO groups. GPP_A -> GPP_H and GPD. GPD is the special case
 * where that group is not so generic. So most of the fixed numbers and macros
 * are based on the GPP groups. The GPIO groups are accessed through register
 * blocks called communities.
 */
#define GPP_A			0
#define GPP_B			1
#define GPP_G			2
#define GPP_D			3
#define GPP_F			4
#define GPP_H			5
#define GPP_C			6
#define GPP_E			7
#define GPD			8
#define GPIO_NUM_GROUPS		9
#define GPIO_MAX_NUM_PER_GROUP	24

/*
 * GPIOs are ordered monotonically increasing to match ACPI/OS driver.
 */

/* Group A */
#define GPP_A0			0
#define GPP_A1			1
#define GPP_A2			2
#define GPP_A3			3
#define GPP_A4			4
#define GPP_A5			5
#define GPP_A6			6
#define GPP_A7			7
#define GPP_A8			8
#define GPP_A9			9
#define GPP_A10			10
#define GPP_A11			11
#define GPP_A12			12
#define GPP_A13			13
#define GPP_A14			14
#define GPP_A15			15
#define GPP_A16			16
#define GPP_A17			17
#define GPP_A18			18
#define GPP_A19			19
#define GPP_A20			20
#define GPP_A21			21
#define GPP_A22			22
#define GPP_A23			23
/* Group B */
#define GPP_B0			24
#define GPP_B1			25
#define GPP_B2			26
#define GPP_B3			27
#define GPP_B4			28
#define GPP_B5			29
#define GPP_B6			30
#define GPP_B7			31
#define GPP_B8			32
#define GPP_B9			33
#define GPP_B10			34
#define GPP_B11			35
#define GPP_B12			36
#define GPP_B13			37
#define GPP_B14			38
#define GPP_B15			39
#define GPP_B16			40
#define GPP_B17			41
#define GPP_B18			42
#define GPP_B19			43
#define GPP_B20			44
#define GPP_B21			45
#define GPP_B22			46
#define GPP_B23			47
/* Group G */
#define GPP_G0			48
#define GPP_G1			49
#define GPP_G2			50
#define GPP_G3			51
#define GPP_G4			52
#define GPP_G5			53
#define GPP_G6			54
#define GPP_G7			55

#define NUM_GPIO_COM0_PADS	(GPP_G7 - GPP_A0 + 1)

/* Group D */
#define GPP_D0			56
#define GPP_D1			57
#define GPP_D2			58
#define GPP_D3			59
#define GPP_D4			60
#define GPP_D5			61
#define GPP_D6			62
#define GPP_D7			63
#define GPP_D8			64
#define GPP_D9			65
#define GPP_D10			66
#define GPP_D11			67
#define GPP_D12			68
#define GPP_D13			69
#define GPP_D14			70
#define GPP_D15			71
#define GPP_D16			72
#define GPP_D17			73
#define GPP_D18			74
#define GPP_D19			75
#define GPP_D20			76
#define GPP_D21			77
#define GPP_D22			78
#define GPP_D23			79
/* Group F */
#define GPP_F0			80
#define GPP_F1			81
#define GPP_F2			82
#define GPP_F3			83
#define GPP_F4			84
#define GPP_F5			85
#define GPP_F6			86
#define GPP_F7			87
#define GPP_F8			88
#define GPP_F9			89
#define GPP_F10			90
#define GPP_F11			91
#define GPP_F12			92
#define GPP_F13			93
#define GPP_F14			94
#define GPP_F15			95
#define GPP_F16			96
#define GPP_F17			97
#define GPP_F18			98
#define GPP_F19			99
#define GPP_F20			100
#define GPP_F21			101
#define GPP_F22			102
#define GPP_F23			103
/* Group H */
#define GPP_H0			104
#define GPP_H1			105
#define GPP_H2			106
#define GPP_H3			107
#define GPP_H4			108
#define GPP_H5			109
#define GPP_H6			110
#define GPP_H7			111
#define GPP_H8			112
#define GPP_H9			113
#define GPP_H10			114
#define GPP_H11			115
#define GPP_H12			116
#define GPP_H13			117
#define GPP_H14			118
#define GPP_H15			119
#define GPP_H16			120
#define GPP_H17			121
#define GPP_H18			122
#define GPP_H19			123
#define GPP_H20			124
#define GPP_H21			125
#define GPP_H22			126
#define GPP_H23			127

#define NUM_GPIO_COM1_PADS	(GPP_H23 - GPP_D0 + 1)

/* Group C */
#define GPP_C0			128
#define GPP_C1			129
#define GPP_C2			130
#define GPP_C3			131
#define GPP_C4			132
#define GPP_C5			133
#define GPP_C6			134
#define GPP_C7			135
#define GPP_C8			136
#define GPP_C9			137
#define GPP_C10			138
#define GPP_C11			139
#define GPP_C12			140
#define GPP_C13			141
#define GPP_C14			142
#define GPP_C15			143
#define GPP_C16			144
#define GPP_C17			145
#define GPP_C18			146
#define GPP_C19			147
#define GPP_C20			148
#define GPP_C21			149
#define GPP_C22			150
#define GPP_C23			151
/* Group E */
#define GPP_E0			152
#define GPP_E1			153
#define GPP_E2			154
#define GPP_E3			155
#define GPP_E4			156
#define GPP_E5			157
#define GPP_E6			158
#define GPP_E7			159
#define GPP_E8			160
#define GPP_E9			161
#define GPP_E10			162
#define GPP_E11			163
#define GPP_E12			164
#define GPP_E13			165
#define GPP_E14			166
#define GPP_E15			167
#define GPP_E16			168
#define GPP_E17			169
#define GPP_E18			170
#define GPP_E19			171
#define GPP_E20			172
#define GPP_E21			173
#define GPP_E22			174
#define GPP_E23			175

#define NUM_GPIO_COM3_PADS	(GPP_E23 - GPP_C0 + 1)

/* Group GPD  */
#define GPD0			176
#define GPD1			177
#define GPD2			178
#define GPD3			179
#define GPD4			180
#define GPD5			181
#define GPD6			182
#define GPD7			183
#define GPD8			184
#define GPD9			185
#define GPD10			186
#define GPD11			187

#define NUM_GPIO_COM2_PADS	(GPD11 - GPD0 + 1)

#endif