1 /* SPDX-License-Identifier: GPL-2.0-only */
4 #include <variant/gpio.h>
6 static const struct pad_config gpio_table
[] = {
8 _PAD_CFG_STRUCT(GPP_A0
, 0x44000502, 0x0),
11 _PAD_CFG_STRUCT(GPP_A1
, 0x44000402, 0x0),
14 _PAD_CFG_STRUCT(GPP_A2
, 0x44000402, 0x0),
17 _PAD_CFG_STRUCT(GPP_A3
, 0x44000402, 0x0),
20 _PAD_CFG_STRUCT(GPP_A4
, 0x44000402, 0x0),
23 _PAD_CFG_STRUCT(GPP_A5
, 0x44000600, 0x0),
26 _PAD_CFG_STRUCT(GPP_A6
, 0x44000402, 0x0),
29 _PAD_CFG_STRUCT(GPP_A7
, 0x44000102, 0x0),
32 _PAD_CFG_STRUCT(GPP_A8
, 0x44000700, 0x0),
35 _PAD_CFG_STRUCT(GPP_A9
, 0x44000600, 0x0),
38 _PAD_CFG_STRUCT(GPP_A10
, 0x44000600, 0x1000),
41 _PAD_CFG_STRUCT(GPP_A11
, 0x44000200, 0x0),
44 _PAD_CFG_STRUCT(GPP_A12
, 0x44000200, 0x0),
46 // SUSWARN#/SUSPWRDNACK
47 _PAD_CFG_STRUCT(GPP_A13
, 0x44000200, 0x0),
49 // SUS_STAT#/ESPI_RESET#
50 _PAD_CFG_STRUCT(GPP_A14
, 0x44000600, 0x0),
53 _PAD_CFG_STRUCT(GPP_A15
, 0x44000502, 0x0),
56 _PAD_CFG_STRUCT(GPP_A16
, 0x44000200, 0x0),
59 _PAD_CFG_STRUCT(GPP_A17
, 0x44000200, 0x0),
62 _PAD_CFG_STRUCT(GPP_A18
, 0x44000201, 0x0),
65 _PAD_CFG_STRUCT(GPP_A19
, 0x44000603, 0x0),
68 _PAD_CFG_STRUCT(GPP_A20
, 0x44000200, 0x0),
71 _PAD_CFG_STRUCT(GPP_A21
, 0x84000200, 0x1000),
74 _PAD_CFG_STRUCT(GPP_A22
, 0x4000200, 0x0),
77 _PAD_CFG_STRUCT(GPP_A23
, 0x4000200, 0x0),
80 _PAD_CFG_STRUCT(GPP_B0
, 0x44000700, 0x0),
83 _PAD_CFG_STRUCT(GPP_B1
, 0x44000700, 0x0),
86 _PAD_CFG_STRUCT(GPP_B2
, 0x44000200, 0x0),
89 _PAD_CFG_STRUCT(GPP_B3
, 0x44000200, 0x0),
92 _PAD_CFG_STRUCT(GPP_B4
, 0x44000200, 0x0),
95 _PAD_CFG_STRUCT(GPP_B5
, 0x44000200, 0x0),
98 _PAD_CFG_STRUCT(GPP_B6
, 0x44000200, 0x0),
101 _PAD_CFG_STRUCT(GPP_B7
, 0x44000700, 0x0),
104 _PAD_CFG_STRUCT(GPP_B8
, 0x44000700, 0x0),
107 _PAD_CFG_STRUCT(GPP_B9
, 0x44000702, 0x0),
110 _PAD_CFG_STRUCT(GPP_B10
, 0x44000702, 0x0),
113 _PAD_CFG_STRUCT(GPP_B11
, 0x44000700, 0x0),
116 _PAD_CFG_STRUCT(GPP_B12
, 0x44000200, 0x0),
119 _PAD_CFG_STRUCT(GPP_B13
, 0x44000700, 0x0),
122 _PAD_CFG_STRUCT(GPP_B14
, 0x44000600, 0x1000),
125 _PAD_CFG_STRUCT(GPP_B15
, 0x44000200, 0x0),
128 _PAD_CFG_STRUCT(GPP_B16
, 0x44000200, 0x0),
131 _PAD_CFG_STRUCT(GPP_B17
, 0x44000200, 0x0),
134 _PAD_CFG_STRUCT(GPP_B18
, 0x44000600, 0x3000),
137 _PAD_CFG_STRUCT(GPP_B19
, 0x44000200, 0x0),
140 _PAD_CFG_STRUCT(GPP_B20
, 0x44000200, 0x0),
143 _PAD_CFG_STRUCT(GPP_B21
, 0x44000200, 0x0),
146 _PAD_CFG_STRUCT(GPP_B22
, 0x44000700, 0x1000),
148 // SML1ALERT#/PCHHOT#
149 _PAD_CFG_STRUCT(GPP_B23
, 0x44000200, 0x0),
152 _PAD_CFG_STRUCT(GPP_C0
, 0x44000702, 0x0),
155 _PAD_CFG_STRUCT(GPP_C1
, 0x44000702, 0x1000),
158 _PAD_CFG_STRUCT(GPP_C2
, 0x44000201, 0x1000),
161 _PAD_CFG_STRUCT(GPP_C3
, 0x44000200, 0x0),
164 _PAD_CFG_STRUCT(GPP_C4
, 0x44000200, 0x0),
167 _PAD_CFG_STRUCT(GPP_C5
, 0x44000200, 0x0),
170 // _PAD_CFG_STRUCT(GPP_C6, 0xffffffff, 0xffffff00),
173 // _PAD_CFG_STRUCT(GPP_C7, 0xffffffff, 0xffffff00),
176 _PAD_CFG_STRUCT(GPP_C8
, 0x44000700, 0x0),
179 _PAD_CFG_STRUCT(GPP_C9
, 0x44000700, 0x0),
182 _PAD_CFG_STRUCT(GPP_C10
, 0x44000700, 0x0),
185 _PAD_CFG_STRUCT(GPP_C11
, 0x44000700, 0x0),
188 _PAD_CFG_STRUCT(GPP_C12
, 0x44000702, 0x0),
191 _PAD_CFG_STRUCT(GPP_C13
, 0x82880102, 0x0),
194 _PAD_CFG_STRUCT(GPP_C14
, 0x44000700, 0x0),
197 _PAD_CFG_STRUCT(GPP_C15
, 0x44000700, 0x0),
200 _PAD_CFG_STRUCT(GPP_C16
, 0x44000200, 0x0),
203 _PAD_CFG_STRUCT(GPP_C17
, 0x44000200, 0x0),
206 _PAD_CFG_STRUCT(GPP_C18
, 0x44000200, 0x0),
209 _PAD_CFG_STRUCT(GPP_C19
, 0x40880102, 0x0),
212 _PAD_CFG_STRUCT(GPP_C20
, 0x44000702, 0x0),
215 _PAD_CFG_STRUCT(GPP_C21
, 0x44000700, 0x0),
218 _PAD_CFG_STRUCT(GPP_C22
, 0x44000700, 0x0),
221 _PAD_CFG_STRUCT(GPP_C23
, 0x44000700, 0x0),
224 _PAD_CFG_STRUCT(GPP_D0
, 0x44000200, 0x0),
227 _PAD_CFG_STRUCT(GPP_D1
, 0x44000200, 0x0),
230 _PAD_CFG_STRUCT(GPP_D2
, 0x44000200, 0x0),
233 _PAD_CFG_STRUCT(GPP_D3
, 0x44000200, 0x0),
236 _PAD_CFG_STRUCT(GPP_D4
, 0x44000200, 0x0),
239 _PAD_CFG_STRUCT(GPP_D5
, 0x44000700, 0x0),
242 _PAD_CFG_STRUCT(GPP_D6
, 0x44000700, 0x0),
245 _PAD_CFG_STRUCT(GPP_D7
, 0x44000700, 0x0),
248 _PAD_CFG_STRUCT(GPP_D8
, 0x44000201, 0x0),
251 _PAD_CFG_STRUCT(GPP_D9
, 0x44000200, 0x0),
254 _PAD_CFG_STRUCT(GPP_D10
, 0x44000200, 0x0),
257 _PAD_CFG_STRUCT(GPP_D11
, 0x44000200, 0x0),
260 _PAD_CFG_STRUCT(GPP_D12
, 0x44000200, 0x0),
263 _PAD_CFG_STRUCT(GPP_D13
, 0x44000200, 0x0),
266 _PAD_CFG_STRUCT(GPP_D14
, 0x44000200, 0x0),
269 _PAD_CFG_STRUCT(GPP_D15
, 0x44000700, 0x0),
272 _PAD_CFG_STRUCT(GPP_D16
, 0x44000700, 0x0),
275 _PAD_CFG_STRUCT(GPP_D17
, 0x44000700, 0x0),
278 _PAD_CFG_STRUCT(GPP_D18
, 0x44000700, 0x0),
281 _PAD_CFG_STRUCT(GPP_D19
, 0x44000700, 0x0),
284 _PAD_CFG_STRUCT(GPP_D20
, 0x44000700, 0x0),
287 _PAD_CFG_STRUCT(GPP_D21
, 0x44000102, 0x0),
290 _PAD_CFG_STRUCT(GPP_D22
, 0x44000700, 0x0),
293 _PAD_CFG_STRUCT(GPP_D23
, 0x44000700, 0x0),
295 // SATAXPCIE0/SATAGP0
296 _PAD_CFG_STRUCT(GPP_E0
, 0x42100100, 0x1000),
298 // SATAXPCIE1/SATAGP1
299 _PAD_CFG_STRUCT(GPP_E1
, 0x44000702, 0x0),
301 // SATAXPCIE2/SATAGP2
302 _PAD_CFG_STRUCT(GPP_E2
, 0x44000502, 0x0),
305 _PAD_CFG_STRUCT(GPP_E3
, 0x40000000, 0x0),
308 _PAD_CFG_STRUCT(GPP_E4
, 0x4000700, 0x0),
311 _PAD_CFG_STRUCT(GPP_E5
, 0x4000700, 0x0),
314 _PAD_CFG_STRUCT(GPP_E6
, 0x44000200, 0x0),
317 _PAD_CFG_STRUCT(GPP_E7
, 0x44000100, 0x0),
320 _PAD_CFG_STRUCT(GPP_E8
, 0x44000700, 0x0),
323 _PAD_CFG_STRUCT(GPP_E9
, 0x44000200, 0x0),
326 _PAD_CFG_STRUCT(GPP_E10
, 0x44000200, 0x0),
329 _PAD_CFG_STRUCT(GPP_E11
, 0x44000200, 0x0),
332 _PAD_CFG_STRUCT(GPP_E12
, 0x44000200, 0x0),
335 _PAD_CFG_STRUCT(GPP_E13
, 0x44000700, 0x0),
338 _PAD_CFG_STRUCT(GPP_E14
, 0x44000700, 0x0),
341 _PAD_CFG_STRUCT(GPP_E15
, 0x42840102, 0x0),
344 _PAD_CFG_STRUCT(GPP_E16
, 0x80880102, 0x0),
347 _PAD_CFG_STRUCT(GPP_E17
, 0x44000702, 0x0),
350 _PAD_CFG_STRUCT(GPP_E18
, 0x44000700, 0x0),
353 _PAD_CFG_STRUCT(GPP_E19
, 0x44000700, 0x1000),
356 _PAD_CFG_STRUCT(GPP_E20
, 0x44000702, 0x0),
359 _PAD_CFG_STRUCT(GPP_E21
, 0x44000702, 0x1000),
362 _PAD_CFG_STRUCT(GPP_E22
, 0x40100000, 0x0),
365 _PAD_CFG_STRUCT(GPP_E23
, 0x44000201, 0x1000),
368 _PAD_CFG_STRUCT(GPD0
, 0x4000702, 0x0),
371 _PAD_CFG_STRUCT(GPD1
, 0x4000700, 0x0),
374 _PAD_CFG_STRUCT(GPD2
, 0x880502, 0x0),
377 _PAD_CFG_STRUCT(GPD3
, 0x4000702, 0x3000),
380 _PAD_CFG_STRUCT(GPD4
, 0x4000700, 0x0),
383 _PAD_CFG_STRUCT(GPD5
, 0x4000700, 0x0),
386 _PAD_CFG_STRUCT(GPD6
, 0x4000700, 0x0),
389 _PAD_CFG_STRUCT(GPD7
, 0x4000301, 0x0),
392 _PAD_CFG_STRUCT(GPD8
, 0x4000700, 0x0),
395 _PAD_CFG_STRUCT(GPD9
, 0x4000700, 0x0),
398 _PAD_CFG_STRUCT(GPD10
, 0x4000700, 0x0),
401 _PAD_CFG_STRUCT(GPD11
, 0x4000500, 0x0),
404 _PAD_CFG_STRUCT(GPP_F0
, 0x44000702, 0x0),
407 _PAD_CFG_STRUCT(GPP_F1
, 0x44000702, 0x0),
410 _PAD_CFG_STRUCT(GPP_F2
, 0x44000700, 0x0),
413 _PAD_CFG_STRUCT(GPP_F3
, 0x44000702, 0x0),
416 _PAD_CFG_STRUCT(GPP_F4
, 0x44000702, 0x2000000),
419 _PAD_CFG_STRUCT(GPP_F5
, 0x44000702, 0x2000000),
422 _PAD_CFG_STRUCT(GPP_F6
, 0x44000702, 0x2000000),
425 _PAD_CFG_STRUCT(GPP_F7
, 0x44000702, 0x2000000),
428 _PAD_CFG_STRUCT(GPP_F8
, 0x44000702, 0x2000000),
431 _PAD_CFG_STRUCT(GPP_F9
, 0x44000702, 0x2000000),
433 // I2C5_SDA/ISH_I2C2_SDA
434 _PAD_CFG_STRUCT(GPP_F10
, 0x44000b02, 0x2000000),
436 // I2C5_SCL/ISH_I2C2_SCL
437 _PAD_CFG_STRUCT(GPP_F11
, 0x44000b02, 0x2000000),
440 _PAD_CFG_STRUCT(GPP_F12
, 0x44000702, 0x0),
443 _PAD_CFG_STRUCT(GPP_F13
, 0x44000702, 0x0),
446 _PAD_CFG_STRUCT(GPP_F14
, 0x44000702, 0x0),
449 _PAD_CFG_STRUCT(GPP_F15
, 0x44000702, 0x0),
452 _PAD_CFG_STRUCT(GPP_F16
, 0x44000702, 0x0),
455 _PAD_CFG_STRUCT(GPP_F17
, 0x44000702, 0x0),
458 _PAD_CFG_STRUCT(GPP_F18
, 0x44000702, 0x0),
461 _PAD_CFG_STRUCT(GPP_F19
, 0x44000702, 0x0),
464 _PAD_CFG_STRUCT(GPP_F20
, 0x44000702, 0x0),
467 _PAD_CFG_STRUCT(GPP_F21
, 0x44000702, 0x0),
470 _PAD_CFG_STRUCT(GPP_F22
, 0x44000700, 0x0),
473 _PAD_CFG_STRUCT(GPP_F23
, 0x40100100, 0x0),
476 _PAD_CFG_STRUCT(GPP_G0
, 0x44000700, 0x0),
479 _PAD_CFG_STRUCT(GPP_G1
, 0x44000102, 0x0),
482 _PAD_CFG_STRUCT(GPP_G2
, 0x44000700, 0x0),
485 _PAD_CFG_STRUCT(GPP_G3
, 0x44000700, 0x0),
488 _PAD_CFG_STRUCT(GPP_G4
, 0x44000700, 0x0),
491 _PAD_CFG_STRUCT(GPP_G5
, 0x44000702, 0x0),
494 _PAD_CFG_STRUCT(GPP_G6
, 0x44000700, 0x0),
497 _PAD_CFG_STRUCT(GPP_G7
, 0x44000702, 0x0)
500 void variant_configure_gpios(void)
502 gpio_configure_pads(gpio_table
, ARRAY_SIZE(gpio_table
));