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_JASPERLAKE_GPIO_SOC_DEFS_H_
4 #define _SOC_JASPERLAKE_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 
12 #define GPP_A 0x0
13 #define GPP_B 0x1
14 #define GPP_G 0x2
15 #define GPP_C 0x3
16 #define GPP_R 0x4
17 #define GPP_D 0x5
18 #define GPP_S 0x6
19 #define GPP_H 0x7
20 #define GPP_VGPIO 0x8
21 #define GPP_F 0x9
22 #define GPP_GPD 0xA
23 #define GPP_E 0xD
24 
25 #define GPIO_MAX_NUM_PER_GROUP 24
26 #define SD_PWR_EN_PIN GPP_H1
27 
28 /*
29  * GPIOs are ordered monotonically increasing to match ACPI/OS driver.
30  */
31 
32 /* Group F */
33 #define GPP_F0 0
34 #define GPP_F1 1
35 #define GPP_F2 2
36 #define GPP_F3 3
37 #define GPP_F4 4
38 #define GPP_F5 5
39 #define GPP_F6 6
40 #define GPP_F7 7
41 #define GPP_F8 8
42 #define GPP_F9 9
43 #define GPP_F10 10
44 #define GPP_F11 11
45 #define GPP_F12 12
46 #define GPP_F13 13
47 #define GPP_F14 14
48 #define GPP_F15 15
49 #define GPP_F16 16
50 #define GPP_F17 17
51 #define GPP_F18 18
52 #define GPP_F19 19
53 
54 /* Group B */
55 #define GPIO_SPI0_IO_2 20
56 #define GPIO_SPI0_IO_3 21
57 #define GPIO_SPI0_MOSI_IO_0 22
58 #define GPIO_SPI0_MOSI_IO_1 23
59 #define GPIO_SPI0_TPM_CSB 24
60 #define GPIO_SPI0_FLASH_0_CSB 25
61 #define GPIO_SPI0_FLASH_1_CSB 26
62 #define GPIO_SPI0_CLK 27
63 #define GPIO_SPI0_CLK_LOOPBK 28
64 #define GPP_B0 29
65 #define GPP_B1 30
66 #define GPP_B2 31
67 #define GPP_B3 32
68 #define GPP_B4 33
69 #define GPP_B5 34
70 #define GPP_B6 35
71 #define GPP_B7 36
72 #define GPP_B8 37
73 #define GPP_B9 38
74 #define GPP_B10 39
75 #define GPP_B11 40
76 #define GPP_B12 41
77 #define GPP_B13 42
78 #define GPP_B14 43
79 #define GPP_B15 44
80 #define GPP_B16 45
81 #define GPP_B17 46
82 #define GPP_B18 47
83 #define GPP_B19 48
84 #define GPP_B20 49
85 #define GPP_B21 50
86 #define GPP_B22 51
87 #define GPP_B23 52
88 #define GPIO_GSPI0_CLK_LOOPBK 53
89 #define GPIO_GSPI1_CLK_LOOPBK 54
90 
91 /* Group A */
92 #define GPP_A0 55
93 #define GPP_A1 56
94 #define GPP_A2 57
95 #define GPP_A3 58
96 #define GPP_A4 59
97 #define GPP_A5 60
98 #define GPP_A6 61
99 #define GPP_A7 62
100 #define GPP_A8 63
101 #define GPP_A9 64
102 #define GPP_A10 65
103 #define GPP_A11 66
104 #define GPP_A12 67
105 #define GPP_A13 68
106 #define GPP_A14 69
107 #define GPP_A15 70
108 #define GPP_A16 71
109 #define GPP_A17 72
110 #define GPP_A18 73
111 #define GPP_A19 74
112 #define GPIO_ESPI_CLK_LOOPBK 75
113 
114 /* Group S */
115 #define GPP_S0 76
116 #define GPP_S1 77
117 #define GPP_S2 78
118 #define GPP_S3 79
119 #define GPP_S4 80
120 #define GPP_S5 81
121 #define GPP_S6 82
122 #define GPP_S7 83
123 
124 /* Group R */
125 #define GPP_R0 84
126 #define GPP_R1 85
127 #define GPP_R2 86
128 #define GPP_R3 87
129 #define GPP_R4 88
130 #define GPP_R5 89
131 #define GPP_R6 90
132 #define GPP_R7 91
133 
134 #define GPIO_COM0_START GPP_F0
135 #define GPIO_COM0_END GPP_R7
136 #define NUM_GPIO_COM0_PADS (GPIO_COM0_END - GPIO_COM0_START + 1)
137 
138 /* Group H */
139 #define GPP_H0 92
140 #define GPP_H1 93
141 #define GPP_H2 94
142 #define GPP_H3 95
143 #define GPP_H4 96
144 #define GPP_H5 97
145 #define GPP_H6 98
146 #define GPP_H7 99
147 #define GPP_H8 100
148 #define GPP_H9 101
149 #define GPP_H10 102
150 #define GPP_H11 103
151 #define GPP_H12 104
152 #define GPP_H13 105
153 #define GPP_H14 106
154 #define GPP_H15 107
155 #define GPP_H16 108
156 #define GPP_H17 109
157 #define GPP_H18 110
158 #define GPP_H19 111
159 #define GPP_H20 112
160 #define GPP_H21 113
161 #define GPP_H22 114
162 #define GPP_H23 115
163 
164 /* Group D */
165 #define GPP_D0 116
166 #define GPP_D1 117
167 #define GPP_D2 118
168 #define GPP_D3 119
169 #define GPP_D4 120
170 #define GPP_D5 121
171 #define GPP_D6 122
172 #define GPP_D7 123
173 #define GPP_D8 124
174 #define GPP_D9 125
175 #define GPP_D10 126
176 #define GPP_D11 127
177 #define GPP_D12 128
178 #define GPP_D13 129
179 #define GPP_D14 130
180 #define GPP_D15 131
181 #define GPP_D16 132
182 #define GPP_D17 133
183 #define GPP_D18 134
184 #define GPP_D19 135
185 #define GPP_D20 136
186 #define GPP_D21 137
187 #define GPP_D22 138
188 #define GPP_D23 139
189 #define GPIO_GSPI2_CLK_LOOPBK 140
190 #define GPIO_SPI1_CLK_LOOPBK 141
191 
192 /* Group VGPIO */
193 #define VGPIO_0 142
194 #define VGPIO_3 143
195 #define VGPIO_4 144
196 #define VGPIO_5 145
197 #define VGPIO_6 146
198 #define VGPIO_7 147
199 #define VGPIO_8 148
200 #define VGPIO_9 149
201 #define VGPIO_10 150
202 #define VGPIO_11 151
203 #define VGPIO_12 152
204 #define VGPIO_13 153
205 #define VGPIO_18 154
206 #define VGPIO_19 155
207 #define VGPIO_20 156
208 #define VGPIO_21 157
209 #define VGPIO_22 158
210 #define VGPIO_23 159
211 #define VGPIO_24 160
212 #define VGPIO_25 161
213 #define VGPIO_30 162
214 #define VGPIO_31 163
215 #define VGPIO_32 164
216 #define VGPIO_33 165
217 #define VGPIO_34 166
218 #define VGPIO_35 167
219 #define VGPIO_36 168
220 #define VGPIO_37 169
221 #define VGPIO_39 170
222 
223 /* Group C */
224 #define GPP_C0 171
225 #define GPP_C1 172
226 #define GPP_C2 173
227 #define GPP_C3 174
228 #define GPP_C4 175
229 #define GPP_C5 176
230 #define GPP_C6 177
231 #define GPP_C7 178
232 #define GPP_C8 179
233 #define GPP_C9 180
234 #define GPP_C10 181
235 #define GPP_C11 182
236 #define GPP_C12 183
237 #define GPP_C13 184
238 #define GPP_C14 185
239 #define GPP_C15 186
240 #define GPP_C16 187
241 #define GPP_C17 188
242 #define GPP_C18 189
243 #define GPP_C19 190
244 #define GPP_C20 191
245 #define GPP_C21 192
246 #define GPP_C22 193
247 #define GPP_C23 194
248 
249 #define GPIO_COM1_START GPP_H0
250 #define GPIO_COM1_END GPP_C23
251 #define NUM_GPIO_COM1_PADS (GPIO_COM1_END - GPIO_COM1_START + 1)
252 
253 /* Group GPD */
254 #define GPD0 195
255 #define GPD1 196
256 #define GPD2 197
257 #define GPD3 198
258 #define GPD4 199
259 #define GPD5 200
260 #define GPD6 201
261 #define GPD7 202
262 #define GPD8 203
263 #define GPD9 204
264 #define GPD10 205
265 #define GPIO_INPUT3VSEL 206
266 #define GPIO_SLP_SUSB 207
267 #define GPIO_WAKEB 208
268 #define GPIO_DRAM_RESETB 209
269 
270 #define GPIO_COM2_START GPD0
271 #define GPIO_COM2_END GPIO_DRAM_RESETB
272 #define NUM_GPIO_COM2_PADS (GPIO_COM2_END - GPIO_COM2_START + 1)
273 
274 /* Group E */
275 #define GPIO_L_BKLTEN 210
276 #define GPIO_L_BKLTCTL 211
277 #define GPIO_L_VDDEN 212
278 #define GPIO_SYS_PWROK 213
279 #define GPIO_SYS_RESETB 214
280 #define GPIO_MLK_RSTB 215
281 #define GPP_E0 216
282 #define GPP_E1 217
283 #define GPP_E2 218
284 #define GPP_E3 219
285 #define GPP_E4 220
286 #define GPP_E5 221
287 #define GPP_E6 222
288 #define GPP_E7 223
289 #define GPP_E8 224
290 #define GPP_E9 225
291 #define GPP_E10 226
292 #define GPP_E11 227
293 #define GPP_E12 228
294 #define GPP_E13 229
295 #define GPP_E14 230
296 #define GPP_E15 231
297 #define GPP_E16 232
298 #define GPP_E17 233
299 #define GPP_E18 234
300 #define GPP_E19 235
301 #define GPP_E20 236
302 #define GPP_E21 237
303 #define GPP_E22 238
304 #define GPP_E23 239
305 
306 #define GPIO_COM4_START GPIO_L_BKLTEN
307 #define GPIO_COM4_END GPP_E23
308 #define NUM_GPIO_COM4_PADS (GPIO_COM4_END - GPIO_COM4_START + 1)
309 
310 /* Group G */
311 #define GPP_G0 240
312 #define GPP_G1 241
313 #define GPP_G2 242
314 #define GPP_G3 243
315 #define GPP_G4 244
316 #define GPP_G5 245
317 #define GPP_G6 246
318 #define GPP_G7 247
319 
320 #define GPIO_COM5_START GPP_G0
321 #define GPIO_COM5_END GPP_G7
322 #define NUM_GPIO_COM5_PADS (GPIO_COM5_END - GPIO_COM5_START + 1)
323 
324 #define TOTAL_PADS 248
325 
326 #define COMM_0 0
327 #define COMM_1 1
328 #define COMM_2 2
329 #define COMM_4 3
330 #define COMM_5 4
331 #define TOTAL_GPIO_COMM 5
332 
333 #endif