coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
gpio_soc_defs.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef _SOC_ELKHARTLAKE_GPIO_SOC_DEFS_H_
4 #define _SOC_ELKHARTLAKE_GPIO_SOC_DEFS_H_
5 
6 /*
7  * Most of the fixed numbers and macros are based on the GPP groups.
8  * The GPIO groups are accessed through register blocks called
9  * communities.
10  */
11 #define GPP_B 0x0
12 #define GPP_T 0x1
13 #define GPP_D 0x2
14 #define GPP_A 0x3
15 #define GPP_R 0x4
16 #define GPP_V 0x5
17 #define GPD 0x6
18 #define GPP_H 0x7
19 #define GPP_U 0x8
20 #define VGPIO 0x9
21 #define GPP_F 0xA
22 #define GPP_C 0xB
23 #define GPP_E 0xC
24 #define GPP_G 0xD
25 #define GPP_S 0xE
26 
27 #define GPIO_NUM_GROUPS 15
28 #define GPIO_MAX_NUM_PER_GROUP 32
29 #define SD_PWR_EN_PIN GPP_H17
30 
31 /*
32  * GPIOs are ordered monotonically increasing to match ACPI/OS driver.
33  */
34 
35 /* Group B */
36 #define GPP_B0 0
37 #define GPP_B1 1
38 #define GPP_B2 2
39 #define GPP_B3 3
40 #define GPP_B4 4
41 #define GPP_B5 5
42 #define GPP_B6 6
43 #define GPP_B7 7
44 #define GPP_B8 8
45 #define GPP_B9 9
46 #define GPP_B10 10
47 #define GPP_B11 11
48 #define GPP_B12 12
49 #define GPP_B13 13
50 #define GPP_B14 14
51 #define GPP_B15 15
52 #define GPP_B16 16
53 #define GPP_B17 17
54 #define GPP_B18 18
55 #define GPP_B19 19
56 #define GPP_B20 20
57 #define GPP_B21 21
58 #define GPP_B22 22
59 #define GPP_B23 23
60 #define GPIO_RSVD_0 24
61 #define GPIO_RSVD_1 25
62 
63 /* Group T */
64 #define GPP_T0 26
65 #define GPP_T1 27
66 #define GPP_T2 28
67 #define GPP_T3 29
68 #define GPP_T4 30
69 #define GPP_T5 31
70 #define GPP_T6 32
71 #define GPP_T7 33
72 #define GPP_T8 34
73 #define GPP_T9 35
74 #define GPP_T10 36
75 #define GPP_T11 37
76 #define GPP_T12 38
77 #define GPP_T13 39
78 #define GPP_T14 40
79 #define GPP_T15 41
80 
81 /* Group G */
82 #define GPP_G0 42
83 #define GPP_G1 43
84 #define GPP_G2 44
85 #define GPP_G3 45
86 #define GPP_G4 46
87 #define GPP_G5 47
88 #define GPP_G6 48
89 #define GPP_G7 49
90 #define GPP_G8 50
91 #define GPP_G9 51
92 #define GPP_G10 52
93 #define GPP_G11 53
94 #define GPP_G12 54
95 #define GPP_G13 55
96 #define GPP_G14 56
97 #define GPP_G15 57
98 #define GPP_G16 58
99 #define GPP_G17 59
100 #define GPP_G18 60
101 #define GPP_G19 61
102 #define GPP_G20 62
103 #define GPP_G21 63
104 #define GPP_G22 64
105 #define GPP_G23 65
106 #define GPIO_RSVD_2 66
107 
108 #define GPIO_COM0_START GPP_B0
109 #define GPIO_COM0_END GPIO_RSVD_2
110 #define NUM_GPIO_COM0_PADS (GPIO_COM0_END - GPIO_COM0_START + 1)
111 
112 /* Group V */
113 #define GPP_V0 67
114 #define GPP_V1 68
115 #define GPP_V2 69
116 #define GPP_V3 70
117 #define GPP_V4 71
118 #define GPP_V5 72
119 #define GPP_V6 73
120 #define GPP_V7 74
121 #define GPP_V8 75
122 #define GPP_V9 76
123 #define GPP_V10 77
124 #define GPP_V11 78
125 #define GPP_V12 79
126 #define GPP_V13 80
127 #define GPP_V14 81
128 #define GPP_V15 82
129 
130 /* Group H */
131 #define GPP_H0 83
132 #define GPP_H1 84
133 #define GPP_H2 85
134 #define GPP_H3 86
135 #define GPP_H4 87
136 #define GPP_H5 88
137 #define GPP_H6 89
138 #define GPP_H7 90
139 #define GPP_H8 91
140 #define GPP_H9 92
141 #define GPP_H10 93
142 #define GPP_H11 94
143 #define GPP_H12 95
144 #define GPP_H13 96
145 #define GPP_H14 97
146 #define GPP_H15 98
147 #define GPP_H16 99
148 #define GPP_H17 100
149 #define GPP_H18 101
150 #define GPP_H19 102
151 #define GPP_H20 103
152 #define GPP_H21 104
153 #define GPP_H22 105
154 #define GPP_H23 106
155 
156 /* Group D */
157 #define GPP_D0 107
158 #define GPP_D1 108
159 #define GPP_D2 109
160 #define GPP_D3 110
161 #define GPP_D4 111
162 #define GPP_D5 112
163 #define GPP_D6 113
164 #define GPP_D7 114
165 #define GPP_D8 115
166 #define GPP_D9 116
167 #define GPP_D10 117
168 #define GPP_D11 118
169 #define GPP_D12 119
170 #define GPP_D13 120
171 #define GPP_D14 121
172 #define GPP_D15 122
173 #define GPP_D16 123
174 #define GPP_D17 124
175 #define GPP_D18 125
176 #define GPP_D19 126
177 #define GPIO_RSVD_3 127
178 
179 /* Group U */
180 #define GPP_U0 128
181 #define GPP_U1 129
182 #define GPP_U2 130
183 #define GPP_U3 131
184 #define GPP_U4 132
185 #define GPP_U5 133
186 #define GPP_U6 134
187 #define GPP_U7 135
188 #define GPP_U8 136
189 #define GPP_U9 137
190 #define GPP_U10 138
191 #define GPP_U11 139
192 #define GPP_U12 140
193 #define GPP_U13 141
194 #define GPP_U14 142
195 #define GPP_U15 143
196 #define GPP_U16 144
197 #define GPP_U17 145
198 #define GPP_U18 146
199 #define GPP_U19 147
200 #define GPIO_RSVD_4 148
201 #define GPIO_RSVD_5 149
202 #define GPIO_RSVD_6 150
203 #define GPIO_RSVD_7 151
204 
205 /* Group VGPIO */
206 #define VGPIO_0 152
207 #define VGPIO_4 153
208 #define VGPIO_5 154
209 #define VGPIO_6 155
210 #define VGPIO_7 156
211 #define VGPIO_8 157
212 #define VGPIO_9 158
213 #define VGPIO_10 159
214 #define VGPIO_11 160
215 #define VGPIO_12 161
216 #define VGPIO_13 162
217 #define VGPIO_18 163
218 #define VGPIO_19 164
219 #define VGPIO_20 165
220 #define VGPIO_21 166
221 #define VGPIO_22 167
222 #define VGPIO_23 168
223 #define VGPIO_24 169
224 #define VGPIO_25 170
225 #define VGPIO_30 171
226 #define VGPIO_31 172
227 #define VGPIO_32 173
228 #define VGPIO_33 174
229 #define VGPIO_34 175
230 #define VGPIO_35 176
231 #define VGPIO_36 177
232 #define VGPIO_37 178
233 #define VGPIO_39 179
234 
235 #define GPIO_COM1_START GPP_V0
236 #define GPIO_COM1_END VGPIO_39
237 #define NUM_GPIO_COM1_PADS (GPIO_COM1_END - GPIO_COM1_START + 1)
238 
239 /* Group GPD */
240 #define GPD0 180
241 #define GPD1 181
242 #define GPD2 182
243 #define GPD3 183
244 #define GPD4 184
245 #define GPD5 185
246 #define GPD6 186
247 #define GPD7 187
248 #define GPD8 188
249 #define GPD9 189
250 #define GPD10 190
251 #define GPD11 191
252 #define GPIO_RSVD_8 192
253 #define GPIO_RSVD_9 193
254 #define GPIO_RSVD_10 194
255 #define GPIO_RSVD_11 195
256 #define GPIO_RSVD_12 196
257 
258 #define GPIO_COM2_START GPD0
259 #define GPIO_COM2_END GPIO_RSVD_12
260 #define NUM_GPIO_COM2_PADS (GPIO_COM2_END - GPIO_COM2_START + 1)
261 
262 /* Group S */
263 #define GPIO_RSVD_13 197
264 #define GPIO_RSVD_14 198
265 #define GPIO_RSVD_15 199
266 #define GPIO_RSVD_16 200
267 #define GPIO_RSVD_17 201
268 #define GPIO_RSVD_18 202
269 #define GPIO_RSVD_19 203
270 #define GPIO_RSVD_20 204
271 #define GPIO_RSVD_21 205
272 #define GPIO_RSVD_22 206
273 #define GPIO_RSVD_23 207
274 #define GPIO_RSVD_24 208
275 #define GPIO_RSVD_25 209
276 #define GPIO_RSVD_26 210
277 #define GPIO_RSVD_27 211
278 #define GPIO_RSVD_28 212
279 #define GPIO_RSVD_29 213
280 #define GPP_S0 214
281 #define GPP_S1 215
282 
283 /* Group A */
284 #define GPP_A0 216
285 #define GPP_A1 217
286 #define GPP_A2 218
287 #define GPP_A3 219
288 #define GPP_A4 220
289 #define GPP_A5 221
290 #define GPP_A6 222
291 #define GPP_A7 223
292 #define GPP_A8 224
293 #define GPP_A9 225
294 #define GPP_A10 226
295 #define GPP_A11 227
296 #define GPP_A12 228
297 #define GPP_A13 229
298 #define GPP_A14 230
299 #define GPP_A15 231
300 #define GPP_A16 232
301 #define GPP_A17 233
302 #define GPP_A18 234
303 #define GPP_A19 235
304 #define GPP_A20 236
305 #define GPP_A21 237
306 #define GPP_A22 238
307 #define GPP_A23 239
308 
309 /* Group VGPIO 3 */
310 #define VGPIO_USB_0 240
311 #define VGPIO_USB_1 241
312 #define VGPIO_USB_2 242
313 #define VGPIO_USB_3 243
314 
315 #define GPIO_COM3_START GPIO_RSVD_13
316 #define GPIO_COM3_END VGPIO_USB_3
317 #define NUM_GPIO_COM3_PADS (GPIO_COM3_END - GPIO_COM3_START + 1)
318 
319 /* Group C */
320 #define GPP_C0 244
321 #define GPP_C1 245
322 #define GPP_C2 246
323 #define GPP_C3 247
324 #define GPP_C4 248
325 #define GPP_C5 249
326 #define GPP_C6 250
327 #define GPP_C7 251
328 #define GPP_C8 252
329 #define GPP_C9 253
330 #define GPP_C10 254
331 #define GPP_C11 255
332 #define GPP_C12 256
333 #define GPP_C13 257
334 #define GPP_C14 258
335 #define GPP_C15 259
336 #define GPP_C16 260
337 #define GPP_C17 261
338 #define GPP_C18 262
339 #define GPP_C19 263
340 #define GPP_C20 264
341 #define GPP_C21 265
342 #define GPP_C22 266
343 #define GPP_C23 267
344 
345 /* Group F */
346 #define GPP_F0 268
347 #define GPP_F1 269
348 #define GPP_F2 270
349 #define GPP_F3 271
350 #define GPP_F4 272
351 #define GPP_F5 273
352 #define GPP_F6 274
353 #define GPP_F7 275
354 #define GPP_F8 276
355 #define GPP_F9 277
356 #define GPP_F10 278
357 #define GPP_F11 279
358 #define GPP_F12 280
359 #define GPP_F13 281
360 #define GPP_F14 282
361 #define GPP_F15 283
362 #define GPP_F16 284
363 #define GPP_F17 285
364 #define GPP_F18 286
365 #define GPP_F19 287
366 #define GPP_F20 288
367 #define GPP_F21 289
368 #define GPP_F22 290
369 #define GPP_F23 291
370 #define GPIO_RSVD_30 292
371 #define GPIO_RSVD_31 293
372 #define GPIO_RSVD_32 294
373 #define GPIO_RSVD_33 295
374 #define GPIO_RSVD_34 296
375 #define GPIO_RSVD_35 297
376 #define GPIO_RSVD_36 298
377 
378 /* Group E */
379 #define GPP_E0 299
380 #define GPP_E1 300
381 #define GPP_E2 301
382 #define GPP_E3 302
383 #define GPP_E4 303
384 #define GPP_E5 304
385 #define GPP_E6 305
386 #define GPP_E7 306
387 #define GPP_E8 307
388 #define GPP_E9 308
389 #define GPP_E10 309
390 #define GPP_E11 310
391 #define GPP_E12 311
392 #define GPP_E13 312
393 #define GPP_E14 313
394 #define GPP_E15 314
395 #define GPP_E16 315
396 #define GPP_E17 316
397 #define GPP_E18 317
398 #define GPP_E19 318
399 #define GPP_E20 319
400 #define GPP_E21 320
401 #define GPP_E22 321
402 #define GPP_E23 322
403 
404 #define GPIO_COM4_START GPP_C0
405 #define GPIO_COM4_END GPP_E23
406 #define NUM_GPIO_COM4_PADS (GPIO_COM4_END - GPIO_COM4_START + 1)
407 
408 /* Group R */
409 #define GPP_R0 323
410 #define GPP_R1 324
411 #define GPP_R2 325
412 #define GPP_R3 326
413 #define GPP_R4 327
414 #define GPP_R5 328
415 #define GPP_R6 329
416 #define GPP_R7 330
417 
418 #define GPIO_COM5_START GPP_R0
419 #define GPIO_COM5_END GPP_R7
420 #define NUM_GPIO_COM5_PADS (GPIO_COM5_END - GPIO_COM5_START + 1)
421 
422 #define TOTAL_PADS 331
423 
424 #define COMM_0 0
425 #define COMM_1 1
426 #define COMM_2 2
427 #define COMM_3 3
428 #define COMM_4 4
429 #define COMM_5 5
430 #define TOTAL_GPIO_COMM 6
431 
432 #endif