1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #include <baseboard/gpio.h>
4 #include <baseboard/variants.h>
6 #include <vendorcode/google/chromeos/chromeos.h>
8 #if !CONFIG(SOC_INTEL_CANNONLAKE_PCH_H)
9 static const struct pad_config gpio_table
[] = {
11 /* A0 : RCINB_TIME_SYNC_1 */
18 /* A7 : PRIQAB_GSP10_CS1B */
19 PAD_CFG_GPI_SCI_HIGH(GPP_A7
, UP_20K
, DEEP
, EDGE_SINGLE
),
21 PAD_CFG_GPO(GPP_A8
, 1, PLTRST
),
22 /* A9 : CLKOUT_LPC_0_ESPI_CLK */
23 /* A10 : CLKOUT_LPC_1 */
24 /* A11 : PMEB_GSP11_CS1B */
25 PAD_CFG_GPI_SCI_LOW(GPP_A11
, UP_20K
, DEEP
, LEVEL
),
26 /* A12 : BM_BUSYB_ISH__GP_6 */
27 /* A13 : SUSWARNB_SUSPWRDNACK */
28 PAD_CFG_GPO(GPP_A13
, 1, PLTRST
),
29 /* A14 : SUS_STATB_ESPI_RESETB */
31 PAD_CFG_GPO(GPP_A15
, 1, PLTRST
),
32 /* A16 : SD_1P8_SEL */
33 PAD_CFG_TERM_GPO(GPP_A16
, 1, UP_20K
, PLTRST
),
34 /* A17 : SD_VDD1_PWR_EN_B_ISH_GP_7 */
36 PAD_CFG_NF(GPP_A18
, UP_20K
, DEEP
, NF1
),
38 PAD_CFG_NF(GPP_A19
, UP_20K
, DEEP
, NF1
),
40 PAD_CFG_NF(GPP_A20
, UP_20K
, DEEP
, NF1
),
42 PAD_CFG_NF(GPP_A21
, UP_20K
, DEEP
, NF1
),
44 PAD_CFG_NF(GPP_A22
, UP_20K
, DEEP
, NF1
),
46 PAD_CFG_NF(GPP_A23
, UP_20K
, DEEP
, NF1
),
51 PAD_CFG_GPI_APIC(GPP_B2
, NONE
, DEEP
, LEVEL
, NONE
),
53 PAD_CFG_GPI_APIC(GPP_B3
, NONE
, PLTRST
, LEVEL
, NONE
),
55 PAD_CFG_GPO(GPP_B4
, 1, DEEP
),
56 /* B5 : SRCCLKREQB_0 */
57 /* B6 : SRCCLKREQB_1 */
58 /* B7 : SRCCLKREQB_2 */
59 /* B8 : SRCCLKREQB_3 */
60 /* B9 : SRCCLKREQB_4 */
61 /* B10 : SRCCLKREQB_5 */
62 /* B11 : EXT_PWR_GATEB */
63 PAD_CFG_NF(GPP_B11
, NONE
, DEEP
, NF1
),
67 PAD_CFG_GPO(GPP_B14
, 1, PLTRST
),
68 /* B15 : GSPI0_CS0B */
69 PAD_CFG_GPO(GPP_B15
, 0, DEEP
),
71 PAD_CFG_GPI_APIC(GPP_B16
, NONE
, PLTRST
, LEVEL
, NONE
),
72 /* B17 : GSPI0_MISO */
73 PAD_CFG_GPO(GPP_B17
, 1, PLTRST
),
74 /* B18 : GSPI0_MOSI */
75 PAD_CFG_GPO(GPP_B18
, 1, PLTRST
),
76 /* B19 : GSPI1_CS0B */
77 /* B20 : GSPI1_CLK_NFC_CLK */
78 /* B21 : GSPI1_MISO_NFC_CLKREQ */
80 /* B23 : SML1ALERTB_PCHHOTB */
81 PAD_CFG_GPO(GPP_B23
, 1, DEEP
),
86 PAD_CFG_GPO(GPP_C2
, 1, DEEP
),
90 PAD_CFG_GPI_SCI_LOW(GPP_C5
, NONE
, DEEP
, LEVEL
),
94 PAD_CFG_GPI_APIC(GPP_C8
, UP_20K
, DEEP
, LEVEL
, INVERT
),
96 PAD_CFG_GPI_SCI_LOW(GPP_C9
, UP_20K
, PLTRST
, EDGE_SINGLE
),
97 /* C10 : UART0_RTSB */
98 PAD_CFG_GPO(GPP_C10
, 0, PLTRST
),
99 /* C11 : UART0_CTSB */
100 PAD_CFG_TERM_GPO(GPP_C11
, 1, UP_20K
, DEEP
),
101 /* C12 : UART1_RXD_ISH_UART1_RXD */
102 PAD_CFG_GPO(GPP_C12
, 1, PLTRST
),
103 /* C13 : UART1_RXD_ISH_UART1_TXD */
104 /* C14 : UART1_RXD_ISH_UART1_RTSB */
105 /* C15 : UART1_RXD_ISH_UART1_CTSB */
106 PAD_CFG_GPO(GPP_C15
, 1, PLTRST
),
113 * Note: It's unconfirmed if this redundancy to the bootblock table is necessary.
115 /* C20 : UART2_RXD */
116 PAD_CFG_NF(GPP_C20
, NONE
, DEEP
, NF1
),
117 /* C21 : UART2_TXD */
118 PAD_CFG_NF(GPP_C21
, NONE
, DEEP
, NF1
),
119 /* C22 : UART2_RTSB */
120 /* C23 : UART2_CTSB */
122 /* D0 : SPI1_CSB_BK_0 */
123 /* D1 : SPI1_CLK_BK_1 */
124 /* D2 : SPI1_MISO_IO_1_BK_2 */
125 /* D3 : SPI1_MOSI_IO_0_BK_3 */
126 /* D4 : IMGCLKOUT_0_BK_4 */
127 /* D5 : ISH_I2C0_SDA */
128 /* D6 : ISH_I2C0_SCL */
129 /* D7 : ISH_I2C1_SDA */
130 /* D8 : ISH_I2C1_SCL */
131 /* D9 : ISH_SPI_CSB */
132 PAD_CFG_GPO(GPP_D9
, 1, PLTRST
),
133 /* D10 : ISH_SPI_CLK */
134 PAD_CFG_GPI_APIC(GPP_D10
, UP_20K
, PLTRST
, LEVEL
, INVERT
),
135 /* D11 : ISH_SPI_MISO_GP_BSSB_CLK */
136 PAD_CFG_GPI_SCI_LOW(GPP_D11
, NONE
, DEEP
, LEVEL
),
137 /* D12 : ISH_SPI_MOSI_GP_BSSB_DI */
138 /* D13 : ISH_UART0_RXD_SML0BDATA */
139 PAD_CFG_GPO(GPP_D13
, 1, DEEP
),
140 /* D14 : ISH_UART0_TXD_SML0BCLK */
141 PAD_CFG_GPO(GPP_D14
, 1, PLTRST
),
142 /* D15 : ISH_UART0_RTSB_GPSPI2_CS1B */
143 /* D16 : ISH_UART0_CTSB_SML0BALERTB */
144 PAD_CFG_GPI_SCI_HIGH(GPP_D16
, NONE
, DEEP
, LEVEL
),
145 /* D17 : DMIC_CLK_1_SNDW3_CLK */
146 /* D18 : DMIC_DATA_1_SNDW3_DATA */
147 /* D19 : DMIC_CLK_0_SNDW4_CLK */
148 /* D20 : DMIC_DATA_0_SNDW4_DATA */
149 /* D21 : SPI1_IO_2 */
150 PAD_CFG_NF(GPP_D21
, NONE
, PLTRST
, NF1
),
151 /* D22 : SPI1_IO_3 */
152 PAD_CFG_NF(GPP_D22
, NONE
, PLTRST
, NF1
),
155 /* E1 : SATAXPCIE_1_SATAGP_1 */
156 /* E2 : SATAXPCIE_2_SATAGP_2 */
157 PAD_CFG_GPI(GPP_E2
, UP_20K
, PLTRST
),
159 PAD_CFG_GPI_SMI(GPP_E3
, NONE
, PLTRST
, EDGE_SINGLE
, NONE
),
160 /* E4 : SATA_DEVSLP_0 */
161 PAD_CFG_NF(GPP_E4
, NONE
, DEEP
, NF1
),
162 /* E5 : SATA_DEVSLP_1 */
163 /* E6 : SATA_DEVSLP_2 */
164 PAD_CFG_GPI_SCI(GPP_E6
, NONE
, DEEP
, OFF
, NONE
),
166 PAD_CFG_GPI_INT(GPP_E7
, NONE
, PLTRST
, EDGE_SINGLE
),
168 /* E9 : USB2_OCB_0_GP_BSSB_CLK */
169 /* E10 : USB2_OCB_1_GP_BSSB_DI */
170 /* E11 : USB2_OCB_2 */
171 /* E12 : USB2_OCB_3 */
172 /* E13 : DDSP_HPD_0_DISP_MISC_0 */
173 /* E14 : DDSP_HPD_0_DISP_MISC_1 */
174 /* E15 : DDSP_HPD_0_DISP_MISC_2 */
176 PAD_CFG_GPO(GPP_E16
, 1, PLTRST
),
177 /* E17 : EDP_HPD_DISP_MISC_4 */
178 /* E18 : DDPB_CTRLCLK */
179 /* E19 : DDPB_CTRLDATA */
180 /* E20 : DDPC_CTRLCLK */
181 /* E21 : DDPC_CTRLDATA */
182 /* E22 : DDPD_CTRLCLK */
183 /* E23 : DDPD_CTRLDATA */
185 /* F0 : CNV_GNSS_PA_BLANKING */
186 PAD_CFG_GPI(GPP_F0
, NONE
, PLTRST
),
187 /* F1 : CNV_GNSS_FAT */
188 PAD_CFG_TERM_GPO(GPP_F1
, 1, UP_20K
, DEEP
),
189 /* F2 : CNV_GNSS_SYSCK */
190 PAD_CFG_TERM_GPO(GPP_F2
, 1, UP_20K
, PLTRST
),
192 PAD_CFG_TERM_GPO(GPP_F3
, 0, UP_20K
, PLTRST
),
193 /* F4 : CNV_BRI_DT_UART0_RTSB */
194 /* F5 : CNV_BRI_RSP_UART0_RXD */
195 /* F6 : CNV_RGI_DT_UART0_TXD */
196 /* F7 : CNV_RGI_DT_RSP_UART9_CTSB */
197 /* F8 : CNV_MFUART2_RXD */
198 PAD_CFG_NF(GPP_F8
, UP_20K
, DEEP
, NF1
),
199 /* F9 : CNV_MFUART2_TXD */
200 PAD_CFG_NF(GPP_F9
, UP_20K
, DEEP
, NF1
),
202 PAD_CFG_GPO(GPP_F10
, 1, PLTRST
),
204 /* F12 : EMMC_DATA0 */
205 /* F13 : EMMC_DATA1 */
206 /* F14 : EMMC_DATA2 */
207 /* F15 : EMMC_DATA3 */
208 /* F16 : EMMC_DATA4 */
209 /* F17 : EMMC_DATA5 */
210 /* F18 : EMMC_DATA6 */
211 /* F19 : EMMC_DATA9 */
212 /* F20 : EMMC_RCLK */
214 /* F22 : EMMC_RESETB */
216 PAD_CFG_GPI(GPP_F23
, UP_20K
, DEEP
),
218 /* G1 : SD3_D0_SD4_RCLK_P */
219 /* G2 : SD3_D1_SD4_RCLK_N */
223 PAD_CFG_NF(GPP_G5
, UP_20K
, DEEP
, NF1
),
226 PAD_CFG_NF(GPP_G7
, DN_20K
, DEEP
, NF1
),
238 /* H10 : I2C5_SDA_ISH_I2C2_SDA */
239 PAD_CFG_GPO(GPP_H10
, 1, PLTRST
),
240 /* H11 : I2C5_SCL_ISH_I2C2_SCL */
241 PAD_CFG_GPO(GPP_H11
, 1, PLTRST
),
242 /* H12 : M2_SKT2_CFG_0_DFLEXIO_0 */
243 PAD_CFG_GPO(GPP_H12
, 1, PLTRST
),
244 /* H13 : M2_SKT2_CFG_1_DFLEXIO_1 */
245 PAD_CFG_GPO(GPP_H13
, 1, PLTRST
),
246 /* H14 : M2_SKT2_CFG_2 */
247 PAD_CFG_GPO(GPP_H14
, 1, PLTRST
),
248 /* H15 : M2_SKT2_CFG_3 */
249 PAD_CFG_GPO(GPP_H15
, 1, PLTRST
),
250 /* H16 : CAM5_PWR_EN */
251 PAD_CFG_GPO(GPP_H16
, 1, PLTRST
),
252 /* H17 : CAM5_FLASH_STROBE */
253 PAD_CFG_GPO(GPP_H17
, 1, PLTRST
),
255 /* H19 : TIMESYNC_0 */
256 PAD_CFG_GPO(GPP_H19
, 1, PLTRST
),
257 /* H20 : IMGCLKOUT_1 */
258 /* H21 : GPPC_H_21 */
259 /* H22 : GPPC_H_22 */
260 PAD_CFG_GPI(GPP_H22
, NONE
, DEEP
),
261 #if CONFIG(BOARD_INTEL_WHISKEYLAKE_RVP) || CONFIG(BOARD_INTEL_COMETLAKE_RVPU)
262 PAD_CFG_GPO(GPP_H22
, 1, PLTRST
),
264 PAD_CFG_GPI(GPP_H22
, NONE
, DEEP
),
266 /* H23 : GPPC_H_23 */
269 /* GPD_0 : BATLOWB */
270 /* GPD_1 : ACPRESENT */
271 /* GPD_2 : LAN_WAKEB */
272 /* GPD_3 : PWRBTNB */
273 /* GPD_4 : SLP_S3B */
274 /* GPD_5 : SLP_S4B */
278 /* GPD-9 : SLP_WLANB */
279 /* GPD-10 : SLP_5B */
280 /* GPD_11 : LANPHYPC */
284 static const struct pad_config gpio_table
[] = {
286 /* A0 : RCIN_ESPI_ALERT1 */
293 /* A7 : PRIQAB_ESPI_ALERT0 */
295 PAD_CFG_GPO(GPP_A8
, 1, PLTRST
),
296 /* A9 : CLKOUT_LPC_0_ESPI_CLK */
297 /* A10 : CLKOUT_LPC_1 */
298 /* A11 : I2S_CODEC_INT */
299 PAD_CFG_GPI_APIC_LOW(GPP_A11
, UP_20K
, PLTRST
),
300 /* A12 : BM_BUSYB_ISH__GP_6 */
301 /* A13 : SUSWARNB_SUSPWRDNACK */
302 PAD_CFG_GPO(GPP_A13
, 1, PLTRST
),
303 /* A14 : SUS_STATB_ESPI_RESETB */
305 PAD_CFG_GPO(GPP_A15
, 1, PLTRST
),
306 /* A16 : TCH_PAD_INT_N */
307 PAD_CFG_GPI_APIC(GPP_A16
, NONE
, PLTRST
, LEVEL
, INVERT
),
308 /* A17 : SD_VDD1_PWR_EN_B_ISH_GP_7 */
316 /* B0 : SPI_TPM_INIT */
317 PAD_CFG_GPI_SCI_LOW(GPP_B0
, UP_20K
, DEEP
, EDGE_SINGLE
),
320 PAD_CFG_GPI_APIC(GPP_B2
, NONE
, DEEP
, LEVEL
, NONE
),
321 /* B3 : BT_RF_KILL */
322 PAD_CFG_GPO(GPP_B3
, 1, DEEP
),
323 /* B4 : WIFI_RF_KILL */
324 PAD_CFG_GPO(GPP_B4
, 1, DEEP
),
325 /* B5 : SRCCLKREQB_0 */
326 /* B6 : SRCCLKREQB_1 */
327 /* B7 : SRCCLKREQB_2 */
328 /* B8 : SRCCLKREQB_3 */
329 /* B9 : SRCCLKREQB_4 */
330 /* B10 : SRCCLKREQB_5 */
335 PAD_CFG_GPO(GPP_B14
, 1, PLTRST
),
336 /* B15 : GSPI0_CS0B */
337 PAD_CFG_GPO(GPP_B15
, 0, DEEP
),
338 /* B16 : GSPI0_CLK */
339 PAD_CFG_GPI_APIC(GPP_B16
, NONE
, PLTRST
, LEVEL
, NONE
),
340 /* B17 : GSPI0_MISO */
341 PAD_CFG_GPO(GPP_B17
, 1, PLTRST
),
342 /* B18 : I2C_TCH_PNL_PWREN */
343 PAD_CFG_GPO(GPP_B18
, 1, PLTRST
),
344 /* B19 : GSPI1_CS0B */
345 /* B20 : GSPI1_CLK */
346 /* B21 : GSPI1_MISO */
347 /* B22 : GSP1_MOSI */
348 /* B23 : EC_SLP_S0_CS_N */
349 PAD_CFG_GPO(GPP_B23
, 1, PLTRST
),
354 PAD_CFG_GPO(GPP_C2
, 1, DEEP
),
357 /* C5 : WIFI_WAKE_N */
358 PAD_CFG_GPI_SCI_LOW(GPP_C5
, NONE
, DEEP
, LEVEL
),
362 PAD_CFG_GPI_APIC(GPP_C8
, UP_20K
, DEEP
, LEVEL
, INVERT
),
364 PAD_CFG_GPI_SCI_LOW(GPP_C9
, UP_20K
, PLTRST
, EDGE_SINGLE
),
365 /* C10 : UART0_RTSB */
366 PAD_CFG_GPO(GPP_C10
, 0, PLTRST
),
367 /* C11 : UART0_CTSB */
368 PAD_CFG_TERM_GPO(GPP_C11
, 1, UP_20K
, DEEP
),
369 /* C12 : UART1_RXD_ISH_UART1_RXD */
370 PAD_CFG_GPO(GPP_C12
, 1, PLTRST
),
371 /* C13 : UART1_RXD_ISH_UART1_TXD */
372 /* C14 : SSD1_RESET */
373 PAD_CFG_GPO(GPP_C14
, 1, PLTRST
),
374 /* C15 : SSD2_RESET */
375 PAD_CFG_GPO(GPP_C15
, 1, PLTRST
),
380 /* C20 : UART2_RXD */
381 /* C21 : UART2_TXD */
382 /* C22 : UART2_RTSB */
383 /* C23 : UART2_CTSB */
385 /* D0 : SPI1_CSB_BK_0 */
386 /* D1 : SPI1_CLK_BK_1 */
387 /* D2 : SPI1_MISO_IO_1_BK_2 */
388 /* D3 : SPI1_MOSI_IO_0_BK_3 */
389 /* D4 : IMGCLKOUT_0_BK_4 */
390 /* D5 : ISH_I2C0_SDA */
391 /* D6 : ISH_I2C0_SCL */
393 PAD_CFG_GPI_INT(GPP_D7
, NONE
, PLTRST
, LEVEL
),
395 PAD_CFG_GPI_INT(GPP_D8
, NONE
, PLTRST
, LEVEL
),
396 /* D9 : ISH_SPI_CSB */
397 PAD_CFG_GPO(GPP_D9
, 1, PLTRST
),
398 /* D10 : ISH_SPI_CLK */
399 PAD_CFG_GPI_APIC(GPP_D10
, UP_20K
, PLTRST
, LEVEL
, INVERT
),
400 /* D11 : ISH_SPI_MISO_GP_BSSB_CLK */
401 PAD_CFG_GPI_SCI_LOW(GPP_D11
, NONE
, DEEP
, LEVEL
),
402 /* D12 : ISH_SPI_MOSI_GP_BSSB_DI */
403 /* D13 : ISH_UART0_RXD_SML0BDATA */
404 PAD_CFG_GPO(GPP_D13
, 1, DEEP
),
405 /* D14 : ISH_UART0_TXD_SML0BCLK */
406 PAD_CFG_GPO(GPP_D14
, 1, PLTRST
),
407 /* D15 : ISH_UART0_RTSB_GPSPI2_CS1B */
408 /* D16 : ISH_UART0_CTSB_SML0BALERTB */
409 PAD_CFG_GPI_SCI_HIGH(GPP_D16
, NONE
, DEEP
, LEVEL
),
410 /* D17 : DMIC_CLK_1_SNDW3_CLK */
411 /* D18 : DMIC_DATA_1_SNDW3_DATA */
412 /* D19 : DMIC_CLK_0_SNDW4_CLK */
413 /* D20 : DMIC_DATA_0_SNDW4_DATA */
414 /* D21 : SPI1_IO_2 */
415 PAD_CFG_NF(GPP_D21
, NONE
, PLTRST
, NF1
),
416 /* D22 : SPI1_IO_3 */
417 PAD_CFG_NF(GPP_D22
, NONE
, PLTRST
, NF1
),
418 /* D23 : ISH_I2C2_SCL_I2C3_SCL */
420 /* E0 : SATAXPCIE_0_SATAGP_0 */
421 /* E1 : SATAXPCIE_1_SATAGP_1 */
422 /* E2 : SATAXPCIE_2_SATAGP_2 */
423 PAD_CFG_GPI(GPP_E2
, UP_20K
, PLTRST
),
425 PAD_CFG_GPI_SMI(GPP_E3
, NONE
, PLTRST
, EDGE_SINGLE
, NONE
),
426 /* E4 : SATA_DEVSLP_0 */
427 PAD_CFG_NF(GPP_E4
, NONE
, DEEP
, NF1
),
428 /* E5 : SATA_DEVSLP_1 */
429 /* E6 : SATA_DEVSLP_2 */
430 PAD_CFG_GPI_SCI(GPP_E6
, NONE
, DEEP
, OFF
, NONE
),
432 PAD_CFG_GPI_INT(GPP_E7
, NONE
, PLTRST
, EDGE_SINGLE
),
434 /* E9 : USB2_OCB_0 */
435 /* E10 : USB2_OCB_1 */
436 /* E11 : USB2_OCB_2 */
437 /* E12 : USB2_OCB_3 */
439 /* F0 : SATAXPCIE_3_SATAGP_3 */
440 /* F1 : SATAXPCIE_4_SATAGP_4 */
441 /* F2 : SATAXPCIE_5_SATAGP_5 */
442 /* F3 : SATAXPCIE_6_SATAGP_6 */
443 /* F4 : SLOT2_RST_N */
444 PAD_CFG_GPO(GPP_F4
, 1, PLTRST
),
445 /* F5 : SATA_DEVSLP_3 */
446 /* F6 : SATA_DEVSLP_4 */
448 PAD_CFG_GPI_INT(GPP_F7
, NONE
, PLTRST
, LEVEL
),
449 /* F8 : SATA_DEVSLP_6 */
450 /* F9 : PEG_SLOT_RST */
451 PAD_CFG_GPO(GPP_F9
, 1, PLTRST
),
452 /* F10 : BIOS_RECOVERY */
453 PAD_CFG_GPI_INT(GPP_F10
, NONE
, PLTRST
, LEVEL
),
454 /* F11 : SATA_SLOAD */
455 /* F12 : SATA_S-DATA_OUT1 */
456 /* F13 : SATA_S-DATA_OUT0 */
458 /* F15 : USB2_OC_4 */
459 /* F16 : USB2_OC_5 */
460 /* F17 : USB2_OC_6 */
461 /* F18 : USB2_OC_7 */
462 /* F19 : EDP_VDDEN */
463 /* F20 : EDP_BKLTEN */
464 /* F21 : EDP_BKLTCTL */
465 /* F22 : DDPF_C_TRLCLK */
466 /* F23 : DDPF_C_TRLDATA */
473 /* G5 : GPP_G_5_SD3_CDB */
474 PAD_CFG_NF(GPP_G5
, UP_20K
, DEEP
, GPIO
),
476 /* G7 : GPP_G_7_SD3_WP */
477 PAD_CFG_NF(GPP_G7
, UP_20K
, DEEP
, GPIO
),
479 /* H0 : SRCCLKREQB_6 */
480 /* H1 : SRCCLKREQB_7 */
481 /* H2 : SRCCLKREQB_8 */
482 /* H3 : SRCCLKREQB_9 */
483 /* H4 : SRCCLKREQB_10 */
484 /* H5 : SRCCLKREQB_11 */
485 /* H6 : SRCCLKREQB_12 */
486 /* H7 : SRCCLKREQB_13 */
487 /* H8 : SRCCLKREQB_14 */
488 /* H9 : SRCCLKREQB_15 */
489 /* H10 : Audio Power Enable */
490 PAD_CFG_GPO(GPP_H10
, 1, PLTRST
),
491 /* H11 : SML_2_DATA */
492 /* H12 : SML_2_ALERT */
493 /* H13 : SML_3_CLK */
494 /* H14 : SML_3_DATA */
495 /* H15 : SML_3_ALERT */
496 /* H16 : TBT_CIO_PWREN */
497 PAD_CFG_GPO(GPP_H16
, 1, PLTRST
),
498 /* H17 : TBT_FORCE_PWR */
499 PAD_CFG_GPO(GPP_H17
, 0, PLTRST
),
500 /* H18 : SML_4_ALERT */
501 /* H19 : ISH_I2C0_SDA */
502 /* H20 : ISH_I2C0_SCL */
503 /* H21 : ISH_I2C1_SDA */
504 /* H22 : ISH_I2C1_SCL */
505 /* H23 : TBT_CIO_PLUG_EVENT_N */
506 PAD_CFG_GPI_SCI_LOW(GPP_H23
, NONE
, PLTRST
, EDGE_SINGLE
),
508 /* I0 : DDPB_HPD_0 */
509 /* I1 : DDPC_HPD_1 */
510 /* I2 : DPPD_HPD_2 */
511 /* I3 : DPPE_HPD_3 */
513 /* I5 : DDPB_C_TRLCLK */
514 /* I6 : DDPB_C_TRLDATA */
515 /* I7 : DDPC_C_TRLCLK */
516 /* I8 : DDPC_C_TRLDATA */
517 /* I9 : DDPD_C_TRLCLK */
518 /* I10 : DDPD_C_TRLDATA */
519 /* I11 : M2_SKT2_C_FG0 */
520 /* I12 : M2_SKT2_CFG1 */
521 /* I13 : M2_SKT2_C_FG2 */
522 /* I14 : M2_SKT2_C_FG3 */
524 /* J0 : I2C_TCH_PNL_INT */
525 PAD_CFG_GPI_APIC(GPP_J0
, UP_20K
, PLTRST
, EDGE_SINGLE
, INVERT
),
526 /* J1 : CPU_C10_GATE */
528 PAD_CFG_GPI_APIC(GPP_J2
, NONE
, PLTRST
, EDGE_SINGLE
, NONE
),
530 PAD_CFG_GPO(GPP_J3
, 1, PLTRST
),
531 /* J4 : CNV_BRI_DT_UART0_RTS */
532 /* J5 : CNV_BRI_RSP_UART0_RXD */
533 /* J6 : CNV_RGI_DT_UART0_TXD */
534 /* J7 : CNV_RGI_RSP_UART0_CTS */
535 /* J8 : CNV_M_FUART2_RXD */
536 /* J9 : CNV_M_FUART2_TXD */
537 /* J10 : I2C_TCH_PNL_RST_N */
538 PAD_CFG_GPO(GPP_J10
, 1, PLTRST
),
539 /* J11 : SPEAKER_PD */
540 PAD_CFG_GPO(GPP_J11
, 1, PLTRST
),
543 /* K1 : SATA_ODD_PWRGT_R */
544 PAD_CFG_GPO(GPP_K1
, 1, PLTRST
),
545 /* K2 : SATA_ODD_DA_N */
546 PAD_CFG_GPI_SCI_HIGH(GPP_K2
, NONE
, PLTRST
, EDGE_SINGLE
),
555 /* K11 : RUNTIME_SCI */
556 PAD_CFG_GPI_SCI_LOW(GPP_K11
, UP_20K
, PLTRST
, LEVEL
),
560 /* K15 : GSXSRESET */
562 /* K17 : ADR_COMPLETE */
563 /* K18 : SLOT2_WAKE_N */
564 PAD_CFG_GPI_SCI_LOW(GPP_K18
, NONE
, PLTRST
, LEVEL
),
568 /* K22 : IMGCLKOUT_0 */
569 /* K23 : IMGCLKOUT_1 */
572 /* GPD_0 : BATLOWB */
573 /* GPD_1 : ACPRESENT */
574 /* GPD_2 : LAN_WAKEB */
575 /* GPD_3 : PWRBTNB */
576 /* GPD_4 : SLP_S3B */
577 /* GPD_5 : SLP_S4B */
581 /* GPD-9 : SLP_WLANB */
582 /* GPD-10 : SLP_5B */
583 /* GPD_11 : LANPHYPC */
587 /* Early pad configuration in bootblock */
588 static const struct pad_config early_gpio_table
[] = {
589 /* C20 : UART2_RXD */
590 PAD_CFG_NF(GPP_C20
, NONE
, DEEP
, NF1
),
591 /* C21 : UART2_TXD */
592 PAD_CFG_NF(GPP_C21
, NONE
, DEEP
, NF1
),
595 const struct pad_config
*__weak
variant_gpio_table(size_t *num
)
597 *num
= ARRAY_SIZE(gpio_table
);
601 const struct pad_config
*__weak
602 variant_early_gpio_table(size_t *num
)
604 *num
= ARRAY_SIZE(early_gpio_table
);
605 return early_gpio_table
;
608 static const struct cros_gpio cros_gpios
[] = {
609 CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL
, CROS_GPIO_DEVICE_NAME
),
612 DECLARE_WEAK_CROS_GPIOS(cros_gpios
);