Teddy Shih has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/60245 )
Change subject: mb/google/dedede/var/beadrix: Configure GPIO settings ......................................................................
mb/google/dedede/var/beadrix: Configure GPIO settings
Override GPIO pad configurations based on the beadrix's schematic.
BUG=b:204882915 BRANCH=None TEST=Built test coreboot image
Signed-off-by: Teddy Shih teddyshih@ami.corp-partner.google.com Change-Id: I53fc8088ff8ebb2790ac8cd68186cf9de908b414 --- M src/mainboard/google/dedede/variants/beadrix/Makefile.inc A src/mainboard/google/dedede/variants/beadrix/gpio.c 2 files changed, 83 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/45/60245/1
diff --git a/src/mainboard/google/dedede/variants/beadrix/Makefile.inc b/src/mainboard/google/dedede/variants/beadrix/Makefile.inc index 566f5cc..e835c69 100644 --- a/src/mainboard/google/dedede/variants/beadrix/Makefile.inc +++ b/src/mainboard/google/dedede/variants/beadrix/Makefile.inc @@ -1,3 +1,5 @@ ## SPDX-License-Identifier: GPL-2.0-or-later
romstage-y += memory.c + +ramstage-y += gpio.c diff --git a/src/mainboard/google/dedede/variants/beadrix/gpio.c b/src/mainboard/google/dedede/variants/beadrix/gpio.c new file mode 100644 index 0000000..368818d --- /dev/null +++ b/src/mainboard/google/dedede/variants/beadrix/gpio.c @@ -0,0 +1,81 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include <baseboard/gpio.h> +#include <baseboard/variants.h> + +/* Pad configuration in ramstage*/ +static const struct pad_config gpio_table[] = { + /* A11 : TOUCH_RPT_EN ==> NC */ + PAD_NC(GPP_A11, NONE), + + /* C18 : AP_I2C_EMR_SDA ==> NC */ + PAD_NC(GPP_C18, NONE), + /* C19 : AP_I2C_EMR_SCL ==> NC */ + PAD_NC(GPP_C19, NONE), + /* C22 : UART2_RTS_N ==> NC */ + PAD_NC(GPP_C22, NONE), + + /* D12 : WCAM_RST_L ==> NC */ + PAD_NC(GPP_D12, NONE), + /* D13 : EN_PP2800_CAMERA ==> NC */ + PAD_NC(GPP_D13, NONE), + /* D14 : EN_PP1200_CAMERA ==> NC */ + PAD_NC(GPP_D14, NONE), + /* D15 : UCAM_RST_L ==> NC */ + PAD_NC(GPP_D15, NONE), + /* D19 : WWAN_WLAN_COEX1 ==> TP */ + PAD_NC(GPP_D19, NONE), + /* D20 : WWAN_WLAN_COEX2 ==> TP */ + PAD_NC(GPP_D20, NONE), + /* D21 : WWAN_WLAN_COEX3 ==> TP */ + PAD_NC(GPP_D21, NONE), + + /* E1 : EMR_RESET_L ==> NC */ + PAD_NC(GPP_E1, NONE), + /* E2 : CLK_24M_WCAM ==> NC */ + PAD_NC(GPP_E2, NONE), + /* E5 : AP_SUB_IO_2 ==> TP */ + PAD_NC(GPP_E5, NONE), + /* E10 : GPP_E10/SML_DATA0 ==> NC */ + PAD_NC(GPP_E10, NONE), + + /* G0 : SD_CMD ==> NC */ + PAD_NC(GPP_G0, NONE), + /* G1 : SD_DATA0 ==> NC */ + PAD_NC(GPP_G1, NONE), + /* G2 : SD_DATA1 ==> NC */ + PAD_NC(GPP_G2, NONE), + /* G3 : SD_DATA2 ==> NC */ + PAD_NC(GPP_G3, NONE), + /* G4 : SD_DATA3 ==> NC */ + PAD_NC(GPP_G4, NONE), + /* G5 : SD_CD_ODL ==> NC */ + PAD_NC(GPP_G5, NONE), + /* G6 : SD_CLK ==> NC */ + PAD_NC(GPP_G6, NONE), + /* G7 : SD_SDIO_WP ==> NC */ + PAD_NC(GPP_G7, NONE), + + /* H1 : EN_PP3300_SD_U ==> NC */ + PAD_NC(GPP_H1, NONE), +}; + +/* TODO static const struct pad_config lte_disable_pads[] = { + PAD_NC(GPP_A10, NONE), + PAD_NC(GPP_D0, NONE), + PAD_NC(GPP_H17, NONE), +}; */ + +const struct pad_config *variant_override_gpio_table(size_t *num) +{ + *num = ARRAY_SIZE(gpio_table); + return gpio_table; +} + +/* TODO static void fw_config_handle(void *unused) +{ + if (!fw_config_probe(FW_CONFIG(DB_PORTS, DB_PORTS_1C_1A_LTE))) + gpio_configure_pads(lte_disable_pads, ARRAY_SIZE(lte_disable_pads)); +} + +BOOT_STATE_INIT_ENTRY(BS_DEV_ENABLE, BS_ON_ENTRY, fw_config_handle, NULL); */