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  /* B4 : H1_PCH_INT_ODL ==> TPM_AP_INT_ODL */
9  /* C12 : AP_PEN_DET_ODL ==> NC */
10  PAD_NC(GPP_C12, UP_20K),
11  /* C18 : AP_I2C_EMR_SDA */
13  /* C19 : AP_I2C_EMR_SCL */
15  /* C22 : UART2_RTS_N ==> NC */
16  PAD_NC(GPP_C22, UP_20K),
17  /* D12 : WCAM_RST_L ==> NC */
19  /* D14 : EN_PP1200_CAMERA ==> NC */
21  /* D15 : UCAM_RST_L ==> NC */
23  /* D18 : I2S_MCLK ==> NC */
25  /* D19 : WWAN_WLAN_COEX1 ==> NC */
27  /* D20 : WWAN_WLAN_COEX2 ==> NC */
29  /* D21 : WWAN_WLAN_COEX3 ==> NC */
31  /* E0 : CLK_24M_UCAM ==> NC */
32  PAD_NC(GPP_E0, NONE),
33  /* E2 : CLK_24M_WCAM ==> NC */
34  PAD_NC(GPP_E2, NONE),
35  /* E17 : HDMI_DDC_SCL ==> NC */
37  /* H1 : EN_PP3300_SD_U ==> NC */
38  PAD_NC(GPP_H1, NONE),
39  /* H6 : AP_I2C_CAM_SDA ==> NC */
40  PAD_NC(GPP_H6, NONE),
41  /* H7 : AP_I2C_CAM_SCL ==> NC */
42  PAD_NC(GPP_H7, NONE),
43  /* H16 : AP_SUB_IO_L ==> HP_RST_ODL */
44  PAD_CFG_GPO(GPP_H16, 1, PWROK),
45  /* G0 : SD_CMD ==> NC */
46  PAD_NC(GPP_G0, NONE),
47  /* G1 : SD_DATA0 ==> NC */
48  PAD_NC(GPP_G1, NONE),
49  /* G2 : SD_DATA1 ==> NC */
50  PAD_NC(GPP_G2, NONE),
51  /* G3 : SD_DATA2 ==> NC */
52  PAD_NC(GPP_G3, NONE),
53  /* G4 : SD_DATA3 ==> NC */
54  PAD_NC(GPP_G4, NONE),
55  /* G5 : SD_CD_ODL ==> NC */
56  PAD_NC(GPP_G5, UP_20K),
57  /* G6 : SD_CLK ==> NC */
58  PAD_NC(GPP_G6, NONE),
59  /* G7 : SD_SDIO_WP ==> NC */
60  PAD_NC(GPP_G7, NONE),
61  /* S2 : DMIC1_CLK ==> NC */
62  PAD_NC(GPP_S2, NONE),
63  /* S3 : DMIC1_DATA ==> NC */
64  PAD_NC(GPP_S3, NONE),
65 };
66 
67 const struct pad_config *variant_override_gpio_table(size_t *num)
68 {
70  return override_gpio_table;
71 }
#define GPP_C12
#define GPP_H16
#define GPP_E0
#define GPP_D14
#define GPP_D12
#define GPP_H6
#define GPP_C22
#define GPP_H7
#define GPP_H1
#define GPP_C18
#define GPP_S3
#define GPP_D18
#define GPP_E17
#define GPP_E2
#define GPP_C19
#define GPP_S2
#define GPP_D19
#define GPP_D15
#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
#define PAD_CFG_GPO(pad, val, rst)
Definition: gpio_defs.h:247