coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
gpio.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #include <baseboard/gpio.h>
4 #include <baseboard/variants.h>
5 
6 /* Pad configuration in ramstage */
7 static const struct pad_config override_gpio_table[] = {
8  /* A11 : TOUCH_RPT_EN ==> NC */
10  /* B4 : H1_PCH_INT_ODL ==> TPM_AP_INT_ODL */
11  /* C12 : AP_PEN_DET_ODL ==> NC */
12  PAD_NC(GPP_C12, UP_20K),
13  /* C18 : AP_I2C_EMR_SDA */
15  /* C19 : AP_I2C_EMR_SCL */
17  /* C22 : UART2_RTS_N ==> NC */
18  PAD_NC(GPP_C22, UP_20K),
19  /* D4 : TOUCH_INT_ODL ==> NC */
20  PAD_NC(GPP_D4, NONE),
21  /* D5 : TOUCH_RESET_L ==> NC */
22  PAD_NC(GPP_D5, NONE),
23  /* D6 : EN_PP3300_TOUCH_S0 ==> NC */
24  PAD_NC(GPP_D6, NONE),
25  /* D12 : WCAM_RST_L ==> NC */
27  /* D14 : EN_PP1200_CAMERA ==> NC */
29  /* D15 : UCAM_RST_L ==> NC */
31  /* D19 : WWAN_WLAN_COEX1 ==> NC */
33  /* D20 : WWAN_WLAN_COEX2 ==> NC */
35  /* D21 : WWAN_WLAN_COEX3 ==> NC */
37  /* E0 : CLK_24M_UCAM ==> NC */
38  PAD_NC(GPP_E0, NONE),
39  /* E2 : CLK_24M_WCAM ==> NC */
40  PAD_NC(GPP_E2, NONE),
41  /* H1 : EN_PP3300_SD_U ==> NC */
42  PAD_NC(GPP_H1, NONE),
43  /* H4 : AP_I2C_TS_SDA ==> NC */
44  PAD_NC(GPP_H4, NONE),
45  /* H5 : AP_I2C_TS_SCL ==> NC */
46  PAD_NC(GPP_H5, NONE),
47  /* H6 : AP_I2C_CAM_SDA ==> NC */
48  PAD_NC(GPP_H6, NONE),
49  /* H7 : AP_I2C_CAM_SCL ==> NC */
50  PAD_NC(GPP_H7, NONE),
51  /* G0 : SD_CMD ==> NC */
52  PAD_NC(GPP_G0, NONE),
53  /* G1 : SD_DATA0 ==> NC */
54  PAD_NC(GPP_G1, NONE),
55  /* G2 : SD_DATA1 ==> NC */
56  PAD_NC(GPP_G2, NONE),
57  /* G3 : SD_DATA2 ==> NC */
58  PAD_NC(GPP_G3, NONE),
59  /* G4 : SD_DATA3 ==> NC */
60  PAD_NC(GPP_G4, NONE),
61  /* G5 : SD_CD_ODL ==> NC */
62  PAD_NC(GPP_G5, UP_20K),
63  /* G6 : SD_CLK ==> NC */
64  PAD_NC(GPP_G6, NONE),
65  /* G7 : SD_SDIO_WP ==> NC */
66  PAD_NC(GPP_G7, NONE),
67 };
68 
69 const struct pad_config *variant_override_gpio_table(size_t *num)
70 {
72  return override_gpio_table;
73 }
#define GPP_C12
#define GPP_E0
#define GPP_D14
#define GPP_D12
#define GPP_D6
#define GPP_H6
#define GPP_C22
#define GPP_H7
#define GPP_H1
#define GPP_D5
#define GPP_C18
#define GPP_D4
#define GPP_E2
#define GPP_H5
#define GPP_A11
#define GPP_C19
#define GPP_D19
#define GPP_D15
#define GPP_H4
#define ARRAY_SIZE(a)
Definition: helpers.h:12
#define GPP_G1
Definition: gpio_soc_defs.h:89
#define GPP_G7
Definition: gpio_soc_defs.h:95
#define GPP_G4
Definition: gpio_soc_defs.h:92
#define GPP_G2
Definition: gpio_soc_defs.h:90
#define GPP_D21
#define GPP_G6
Definition: gpio_soc_defs.h:94
#define GPP_G0
Definition: gpio_soc_defs.h:88
#define GPP_D20
#define GPP_G3
Definition: gpio_soc_defs.h:91
#define GPP_G5
Definition: gpio_soc_defs.h:93
const struct pad_config *__weak variant_override_gpio_table(size_t *num)
Definition: gpio.c:450
static const struct pad_config override_gpio_table[]
Definition: gpio.c:7
#define PAD_NC(pin)
Definition: gpio_defs.h:263