soc/intel/denverton_ns: Remove unused memcpy_s function
[coreboot2.git] / src / mainboard / starlabs / starbook / variants / rpl / gpio.c
blobe8c2550268bf3402b379117f05515a62badfc6cb
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #include <variants.h>
5 /* Early pad configuration in bootblock */
6 const struct pad_config early_gpio_table[] = {
7 /* H10: UART0 RXD Debug Connector */
8 PAD_CFG_NF(GPP_H10, NONE, DEEP, NF2),
9 /* H11: UART0 TXD Debug Connector */
10 PAD_CFG_NF(GPP_H11, NONE, DEEP, NF2),
13 const struct pad_config *variant_early_gpio_table(size_t *num)
15 *num = ARRAY_SIZE(early_gpio_table);
16 return early_gpio_table;
19 /* Pad configuration in ramstage. */
20 const struct pad_config gpio_table[] = {
21 /* GPD0: Battery Low */
22 PAD_CFG_NF(GPD0, NONE, DEEP, NF1),
23 /* GPD1: Charger Connected */
24 PAD_CFG_NF(GPD1, NONE, DEEP, NF1),
25 /* GPD2: LAN Wake */
26 PAD_NC(GPD2, NONE),
27 /* GPD3: Power Button */
28 PAD_CFG_NF(GPD3, UP_20K, DEEP, NF1),
29 /* GPD4: Sleep S3 */
30 PAD_NC(GPD4, NONE),
31 /* GPD5: Sleep S4 */
32 PAD_NC(GPD5, NONE),
33 /* GPD6: Sleep A */
34 PAD_NC(GPD6, NONE),
35 /* GPD7: Power Adapter Disable */
36 PAD_CFG_GPO(GPD7, 0, PWROK),
37 /* GPD8: Suspend Clock */
38 PAD_CFG_NF(GPD8, NONE, DEEP, NF1),
39 /* GPD9: Wireless LAN Sleep */
40 PAD_CFG_NF(GPD9, NONE, DEEP, NF1),
41 /* GPD10: Sleep S5 */
42 PAD_NC(GPD10, NONE),
43 /* GPD11: LAN PHY Enable */
44 PAD_NC(GPD11, NONE),
46 /* A0: ESPI IO 0 */
47 /* A1: ESPI IO 1 */
48 /* A2: ESPI IO 2 */
49 /* A3: ESPI IO 3 */
50 /* A4: ESPI CS 0 */
51 /* A5: Not Connected */
52 PAD_NC(GPP_A5, NONE),
53 /* A6: Not Connected */
54 PAD_NC(GPP_A6, NONE),
55 /* A7: Embedded Controller SCI */
56 PAD_NC(GPP_A7, NONE),
57 /* A8: Not Connected */
58 PAD_NC(GPP_A8, NONE),
59 /* A9: ESPI Clock */
60 /* A10: ESPI Reset */
61 /* A11: Not Connected */
62 PAD_NC(GPP_A11, NONE),
63 /* A12: PCH M.2 SSD PEDET */
64 PAD_NC(GPP_A12, NONE),
65 /* A13: BlueTooth RF Kill */
66 PAD_CFG_GPO_GPIO_DRIVER(GPP_A13, 1, DEEP, NONE),
67 /* A14: Test Point 45 */
68 PAD_NC(GPP_A14, NONE),
69 /* A15: Test Point 52 */
70 PAD_NC(GPP_A15, NONE),
71 /* A16: USB OverCurrent 3 */
72 PAD_CFG_NF(GPP_A16, NONE, DEEP, NF1),
73 /* A17: Not Connected */
74 PAD_NC(GPP_A17, NONE),
75 /* A18: DDI B DP HPD */
76 PAD_CFG_NF(GPP_A18, NONE, DEEP, NF1),
77 /* A19: Not Connected */
78 PAD_NC(GPP_A19, NONE),
79 /* A20: Test Point 44 */
80 PAD_NC(GPP_A20, NONE),
81 /* A21: Fingerprint Reader Interrupt */
82 PAD_NC(GPP_A21, NONE),
83 /* A22: Fingerprint Reader Reset */
84 PAD_NC(GPP_A22, NONE),
85 /* A23: Not Connected */
86 PAD_NC(GPP_A23, NONE),
88 /* B0: Core Vendor ID 0 */
89 PAD_CFG_NF(GPP_B0, NONE, DEEP, NF1),
90 /* B1: Core Vendor ID 1 */
91 PAD_CFG_NF(GPP_B1, NONE, DEEP, NF1),
92 /* B2: BC PROCHOT */
93 PAD_CFG_GPI_SCI(GPP_B2, NONE, PLTRST, EDGE_SINGLE, INVERT),
94 /* B3: Not Connected */
95 PAD_NC(GPP_B3, NONE),
96 /* B4: Not Connected */
97 PAD_NC(GPP_B4, NONE),
98 /* B5: I2C 2 SDA Touch Panel SDA */
99 PAD_NC(GPP_B5, NONE),
100 /* B6: I2C 2 SCL Touch Panel Clock */
101 PAD_NC(GPP_B6, NONE),
102 /* B7: I2C 3 SDA Test Point 15 */
103 PAD_NC(GPP_B7, NONE),
104 /* B8: I2C 3 SCL Test Point 16 */
105 PAD_NC(GPP_B8, NONE),
106 /* B9: Not Connected */
107 PAD_NC(GPP_B9, NONE),
108 /* B10: Not Connected */
109 PAD_NC(GPP_B10, NONE),
110 /* B11: I2C PMC PD Interrupt */
111 PAD_CFG_NF(GPP_B11, NONE, DEEP, NF1),
112 /* B12: PM SLP S0 */
113 PAD_NC(GPP_B12, NONE),
114 /* B13: PLT RST */
115 PAD_CFG_NF(GPP_B13, NONE, DEEP, NF1),
116 /* B14: Top Swap Override Weak Internal PD 20K
117 High: Enabled
118 Low: Disabled */
119 PAD_NC(GPP_B14, NONE),
120 /* B15: Not Connected */
121 PAD_NC(GPP_B15, NONE),
122 /* B16: Not Connected */
123 PAD_NC(GPP_B16, NONE),
124 /* B17: Not Connected */
125 PAD_NC(GPP_B17, NONE),
126 /* B18: Reboot Support Weak Internal PD 20K
127 High: Disabled
128 Low: Enabled */
129 PAD_NC(GPP_B18, NONE),
130 /* B19: Not Connected */
131 PAD_NC(GPP_B19, NONE),
132 /* B20: Not Connected */
133 PAD_NC(GPP_B20, NONE),
134 /* B21: Not Connected */
135 PAD_NC(GPP_B21, NONE),
136 /* B22: Not Connected */
137 PAD_NC(GPP_B22, NONE),
138 /* B23: Not used MiPi Camera */
139 PAD_NC(GPP_B23, NONE),
140 /* B24: Not Connected */
141 PAD_NC(GPP_B24, NONE),
142 /* B25: Not Connected */
143 PAD_NC(GPP_B25, NONE),
145 /* C0: SMB Clock */
146 PAD_CFG_NF(GPP_C0, NONE, DEEP, NF1),
147 /* C1: SMB Data */
148 PAD_CFG_NF(GPP_C1, NONE, DEEP, NF1),
149 /* C2: TLS Confidentiality Weak Internal PD 20K
150 Low: Disabled
151 High: Enabled */
152 PAD_CFG_GPO(GPP_C2, 1, PLTRST),
153 /* C3: SML 0 Clock */
154 PAD_CFG_NF(GPP_C3, NONE, DEEP, NF1),
155 /* C4: SML 0 Data */
156 PAD_CFG_NF(GPP_C4, NONE, DEEP, NF1),
157 /* C5: Boot Strap Weak Internal PD 20K
158 Low: ESPI
159 High: Disabled */
160 PAD_CFG_GPO(GPP_C5, 0, DEEP),
161 /* C6: SML 1 Clock */
162 PAD_CFG_NF(GPP_C6, NONE, DEEP, NF1),
163 /* C7: SML 1 Data */
164 PAD_CFG_NF(GPP_C7, NONE, DEEP, NF1),
165 /* C8: Not Connected */
166 PAD_NC(GPP_C8, NONE),
167 /* C9: Not Connected */
168 PAD_NC(GPP_C9, NONE),
169 /* C10: Not Connected */
170 PAD_NC(GPP_C10, NONE),
171 /* C11: Not Connected */
172 PAD_NC(GPP_C11, NONE),
173 /* C12: Not Connected */
174 PAD_NC(GPP_C12, NONE),
175 /* C13: Not Connected */
176 PAD_NC(GPP_C13, NONE),
177 /* C14: Not Connected */
178 PAD_NC(GPP_C14, NONE),
179 /* C15: Not Connected */
180 PAD_NC(GPP_C15, NONE),
181 /* C16: Not Connected */
182 PAD_NC(GPP_C16, NONE),
183 /* C17: Not Connected */
184 PAD_NC(GPP_C17, NONE),
185 /* C18: Not Connected */
186 PAD_NC(GPP_C18, NONE),
187 /* C19: Not Connected */
188 PAD_NC(GPP_C19, NONE),
189 /* C20: Not Connected */
190 PAD_NC(GPP_C20, NONE),
191 /* C21: Not Connected */
192 PAD_NC(GPP_C21, NONE),
193 /* C22: Not Connected */
194 PAD_NC(GPP_C22, NONE),
195 /* C23: Not Connected */
196 PAD_NC(GPP_C23, NONE),
198 /* D0: Not used Audio ID 0 */
199 PAD_NC(GPP_D0, NONE),
200 /* D1: Not used Audio ID 1 */
201 PAD_NC(GPP_D1, NONE),
202 /* D2: Not used Audio ID 2 */
203 PAD_NC(GPP_D2, NONE),
204 /* D3: Not Connected */
205 PAD_NC(GPP_D3, NONE),
206 /* D4: Not Connected */
207 PAD_NC(GPP_D4, NONE),
208 /* D5: Clock Request 0 */
209 PAD_NC(GPP_D5, NONE),
210 /* D6: Clock Request 1 PCH M.2 SSD */
211 PAD_NC(GPP_D6, NONE),
212 /* D7: Clock Request 2 Wireless LAN */
213 PAD_CFG_NF(GPP_D7, NONE, DEEP, NF1),
214 /* D8: Clock Request 3 LAN */
215 PAD_NC(GPP_D8, NONE),
216 /* D9: GSPI 2 FPS */
217 PAD_NC(GPP_D9, NONE),
218 /* D10: GSPI 2 Clock */
219 PAD_NC(GPP_D10, NONE),
220 /* D11: GSPI 2 MISO FPS */
221 PAD_NC(GPP_D11, NONE),
222 /* D12: GSPI 2 MOSI FPS */
223 PAD_NC(GPP_D12, NONE),
224 /* D13: Wireless LAN Wake */
225 PAD_NC(GPP_D13, NONE),
226 /* D14: CPU M.2 SSD Power Enable */
227 PAD_CFG_GPO_GPIO_DRIVER(GPP_D14, 1, DEEP, NONE),
228 /* D15: Not Connected */
229 PAD_NC(GPP_D15, NONE),
230 /* D16: PCH M.2 SSD Power Enable */
231 PAD_NC(GPP_D16, NONE),
232 /* D17: Not used Fingerprint ID */
233 PAD_NC(GPP_D17, NONE),
234 /* D18: Not Connected */
235 PAD_NC(GPP_D18, NONE),
236 /* D19: Test Point 21 */
237 PAD_NC(GPP_D19, NONE),
239 /* E0: SATA x PCIe */
240 PAD_NC(GPP_E0, NONE),
241 /* E1: Not used Accelerometer Interrupt */
242 PAD_NC(GPP_E1, NONE),
243 /* E2: Not Connected */
244 PAD_NC(GPP_E2, NONE),
245 /* E3: WiFi RF Kill */
246 PAD_CFG_GPO_GPIO_DRIVER(GPP_E3, 1, DEEP, NONE),
247 /* E4: Retimer Force Power */
248 PAD_CFG_GPO_GPIO_DRIVER(GPP_E4, 0, DEEP, NONE),
249 /* E5: Not Connected */
250 PAD_NC(GPP_E5, NONE),
251 /* E6: JTAG ODT No internal PD
252 Low: Disabled
253 High: Enabled */
254 PAD_CFG_GPO(GPP_E6, 0, DEEP),
255 /* E7: Embedded Controller SMI */
256 PAD_NC(GPP_E7, NONE),
257 /* E8: DRAM Sleep */
258 PAD_CFG_NF(GPP_E8, NONE, DEEP, NF1),
259 /* E9: USB OverCurrent 0 */
260 PAD_CFG_NF(GPP_E9, NONE, DEEP, NF1),
261 /* E10: PWD Amplifier Input */
262 PAD_NC(GPP_E10, NONE),
263 /* E11: TPM IRQ */
264 PAD_CFG_GPI_APIC_LOW(GPP_E11, NONE, PLTRST),
265 /* E12: Touchpad Interrupt */
266 PAD_CFG_GPI_APIC_LOW(GPP_E12, NONE, PLTRST),
267 /* E13: Not connected */
268 PAD_NC(GPP_E13, NONE),
269 /* E14: EDP HPD */
270 PAD_CFG_NF(GPP_E14, NONE, DEEP, NF1),
271 /* E15: Not Connected */
272 PAD_NC(GPP_E15, NONE),
273 /* E16: Not Connected */
274 PAD_NC(GPP_E16, NONE),
275 /* E17: Not Connected */
276 PAD_NC(GPP_E17, NONE),
277 /* E18: Thunderbolt LSX TXD */
278 PAD_NC(GPP_E18, NONE),
279 /* E19: Thunderbolt LSX RXD */
280 PAD_NC(GPP_E19, NONE),
281 /* E20: Not Connected */
282 PAD_NC(GPP_E20, NONE),
283 /* E21: Not Connected */
284 PAD_NC(GPP_E21, NONE),
285 /* E22: Not Connected */
286 PAD_NC(GPP_E22, NONE),
287 /* E23: Not Connected */
288 PAD_NC(GPP_E23, NONE),
290 /* F0: CNV BRI Data */
291 PAD_NC(GPP_F0, NONE),
292 /* F1: CNV BRI Response */
293 PAD_NC(GPP_F1, NONE),
294 /* F2: CNV RGI Data */
295 PAD_NC(GPP_F2, NONE),
296 /* F3: CNV RGI Response */
297 PAD_NC(GPP_F3, NONE),
298 /* F4: CNV RF Reset */
299 PAD_NC(GPP_F4, NONE),
300 /* F5: Not used MODEM_CLKREQ */
301 PAD_NC(GPP_F5, NONE),
302 /* F6: CNV PA Blanking */
303 PAD_NC(GPP_F6, NONE),
304 /* F7: TBT LSX VCCIO Weak Internal PD 20K
305 Low: 1.8V
306 High: 3.3V */
307 PAD_CFG_GPO(GPP_F7, 0, DEEP),
308 /* F8: Not Connected */
309 PAD_NC(GPP_F8, NONE),
310 /* F9: EC Sleep S0 */
311 PAD_NC(GPP_F9, NONE),
312 /* F10: Weak Internal PD 20K */
313 PAD_CFG_GPO(GPP_F10, 0, PLTRST),
314 /* F11: TPM ID */
315 PAD_NC(GPP_F11, NONE),
316 /* F12: Not Connected */
317 PAD_NC(GPP_F12, NONE),
318 /* F13: Not Connected */
319 PAD_NC(GPP_F13, NONE),
320 /* F14: Not Connected */
321 PAD_NC(GPP_F14, NONE),
322 /* F15: Not used Accelerometer Interrupt 2*/
323 PAD_NC(GPP_F15, NONE),
324 /* F16: Not Connected */
325 PAD_NC(GPP_F16, NONE),
326 /* F17: Not used Touch Panel Reset */
327 PAD_NC(GPP_F17, NONE),
328 /* F18: Not used Touch Panel Interrupt */
329 PAD_NC(GPP_F18, NONE),
330 /* F19: Not Connected */
331 PAD_NC(GPP_F19, NONE),
332 /* F20: CPU M.2 SSD Reset */
333 PAD_CFG_GPO_GPIO_DRIVER(GPP_F20, 1, PLTRST, NONE),
334 /* F21: GPPC_F21 */
335 PAD_NC(GPP_F21, NONE),
336 /* F22: Not Connected */
337 PAD_NC(GPP_F22, NONE),
338 /* F23: Not Connected */
339 PAD_NC(GPP_F23, NONE),
341 /* H0: PCH M.2 SSD Reset */
342 PAD_NC(GPP_H0, NONE),
343 /* H1: BFX Strap 2 Bit 3 Weak Internal PD 20K */
344 PAD_CFG_GPO(GPP_H1, 0, DEEP),
345 /* H2: Wireless LAN Reset */
346 PAD_CFG_GPO(GPP_H2, 1, PLTRST),
347 /* H3: Not Connected */
348 PAD_NC(GPP_H3, NONE),
349 /* H4: I2C 0 SDA Touchpad */
350 PAD_CFG_NF(GPP_H4, NONE, DEEP, NF1),
351 /* H5: I2C 0 SDL Touchpad */
352 PAD_CFG_NF(GPP_H5, NONE, DEEP, NF1),
353 /* H6: Not Connected */
354 PAD_NC(GPP_H6, NONE),
355 /* H7: Not Connected */
356 PAD_NC(GPP_H7, NONE),
357 /* H8: I2C 4 SDA GSensor */
358 PAD_NC(GPP_H8, NONE),
359 /* H9: I2C 4 SDL GSensor */
360 PAD_NC(GPP_H9, NONE),
361 /* H12: Not Connected */
362 PAD_NC(GPP_H12, NONE),
363 /* H13: PCH M.2 SSD Device Sleep */
364 PAD_NC(GPP_H13, NONE),
365 /* H14: Not Connected */
366 PAD_NC(GPP_H14, NONE),
367 /* H15: DDPB Control Clock */
368 PAD_CFG_NF(GPP_H15, NONE, DEEP, NF1),
369 /* H16: Not Connected */
370 PAD_NC(GPP_H16, NONE),
371 /* H17: DDPB Control Data */
372 PAD_CFG_NF(GPP_H17, NONE, DEEP, NF1),
373 /* H18: CPI C10 Gate */
374 PAD_CFG_NF(GPP_H18, NONE, DEEP, NF1),
375 /* H19: Clock Request 4 CPU M.2 SSD */
376 PAD_CFG_NF(GPP_H19, NONE, DEEP, NF1),
377 /* H20: Not Connected */
378 PAD_NC(GPP_H20, NONE),
379 /* H21: Not Connected */
380 PAD_NC(GPP_H21, NONE),
381 /* H22: Not Connected */
382 PAD_NC(GPP_H22, NONE),
383 /* H23: Clock Request 5 */
384 PAD_NC(GPP_H23, NONE),
386 /* S0: Not Connected */
387 PAD_NC(GPP_S0, NONE),
388 /* S1: Not Connected */
389 PAD_NC(GPP_S1, NONE),
390 /* S2: DMIC Clock */
391 PAD_NC(GPP_S2, NONE),
392 /* S3: DMIC Data */
393 PAD_NC(GPP_S3, NONE),
394 /* S4: Not Connected */
395 PAD_NC(GPP_S4, NONE),
396 /* S5: Not Connected */
397 PAD_NC(GPP_S5, NONE),
398 /* S6: Not Connected */
399 PAD_NC(GPP_S6, NONE),
400 /* S7: Not Connected */
401 PAD_NC(GPP_S7, NONE),
403 /* T0: Not Connected */
404 PAD_NC(GPP_T0, NONE),
405 /* T1: Not Connected */
406 PAD_NC(GPP_T1, NONE),
407 /* T2: Not Connected */
408 PAD_NC(GPP_T2, NONE),
409 /* T3: Not Connected */
410 PAD_NC(GPP_T3, NONE),
411 /* T4: Not Connected */
412 PAD_NC(GPP_T4, NONE),
413 /* T5: Not Connected */
414 PAD_NC(GPP_T5, NONE),
415 /* T6: Not Connected */
416 PAD_NC(GPP_T6, NONE),
417 /* T7: Not Connected */
418 PAD_NC(GPP_T7, NONE),
419 /* T8: Not Connected */
420 PAD_NC(GPP_T8, NONE),
421 /* T9: Not Connected */
422 PAD_NC(GPP_T9, NONE),
423 /* T10: Not Connected */
424 PAD_NC(GPP_T10, NONE),
425 /* T11: Not Connected */
426 PAD_NC(GPP_T11, NONE),
427 /* T12: Not Connected */
428 PAD_NC(GPP_T12, NONE),
429 /* T13: Not Connected */
430 PAD_NC(GPP_T13, NONE),
431 /* T14: Not Connected */
432 PAD_NC(GPP_T14, NONE),
433 /* T15: Not Connected */
434 PAD_NC(GPP_T15, NONE),
436 /* R0: HDA BCLK */
437 PAD_CFG_NF(GPP_R0, NATIVE, DEEP, NF1),
438 /* R1: HDA SYNC */
439 PAD_CFG_NF(GPP_R1, NATIVE, DEEP, NF1),
440 /* R2: HDA SDO */
441 PAD_CFG_NF(GPP_R2, NATIVE, DEEP, NF1),
442 /* R3: HDA SDI */
443 PAD_CFG_NF(GPP_R3, NATIVE, DEEP, NF1),
444 /* R4: HDA Reset */
445 PAD_CFG_NF(GPP_R4, NATIVE, DEEP, NF1),
446 /* R5: MiPi Cam Reset */
447 PAD_NC(GPP_R5, NONE),
448 /* R6: Not Connected */
449 PAD_NC(GPP_R6, NONE),
450 /* R7: Not Connected */
451 PAD_NC(GPP_R7, NONE),
454 const struct pad_config *variant_gpio_table(size_t *num)
456 *num = ARRAY_SIZE(gpio_table);
457 return gpio_table;