From 1a00629ae205c90b612568703da92ea74a2f45d8 Mon Sep 17 00:00:00 2001 From: Haikun Zhou Date: Mon, 24 Feb 2025 16:22:45 +0800 Subject: [PATCH] mb/google/skywalker: Set up open-drain ChromeOS pins Set open-drain GPIOs for ChromeOS as input and bias-disable mode. Also set AP_HDMI_RST_ODL to low, which is the only open-drain output pin. BUG=b:397102113 BRANCH=none TEST=build pass Change-Id: I4375c25768de8f1462c491b2c84b9cf31f118126 Signed-off-by: Haikun Zhou Reviewed-on: https://review.coreboot.org/c/coreboot/+/87796 Reviewed-by: Yidi Lin Reviewed-by: Yu-Ping Wu Tested-by: build bot (Jenkins) --- src/mainboard/google/skywalker/chromeos.c | 14 +++++++++++++ src/mainboard/google/skywalker/gpio.h | 25 +++++++++++++++++------ 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/mainboard/google/skywalker/chromeos.c b/src/mainboard/google/skywalker/chromeos.c index ffc0e9550b..02abb5f899 100644 --- a/src/mainboard/google/skywalker/chromeos.c +++ b/src/mainboard/google/skywalker/chromeos.c @@ -11,9 +11,23 @@ void setup_chromeos_gpios(void) { gpio_input(GPIO_EC_AP_INT_ODL); gpio_input(GPIO_GSC_AP_INT_ODL); + gpio_input(GPIO_HP_INT_ODL); + gpio_input(GPIO_SPKR_INT_ODL); + gpio_input(GPIO_SAR_INT_ODL); + gpio_input(GPIO_PEN_EJECT_OD); + gpio_input(GPIO_TCHSCR_INT_1V8_ODL); + gpio_input(GPIO_AP_WP_ODL); + gpio_input(GPIO_EC_AP_DPOC_EN_ODL); + gpio_input(GPIO_TCHPAD_INT_ODL); + gpio_input(GPIO_HDMI_AP_INT_ODL); + gpio_input(GPIO_FP_AP_INT_1V8_S3_ODL); + gpio_input(GPIO_SD_CD_ODL); + gpio_input(GPIO_HDMI_HPD_1V8_ODL); + gpio_output(GPIO_AP_EC_WARM_RST_REQ, 0); gpio_output(GPIO_XHCI_INIT_DONE, 0); gpio_output(GPIO_AP_SUSPEND_L, 1); + gpio_output(GPIO_AP_HDMI_RST_ODL, 0); } void fill_lb_gpios(struct lb_gpios *gpios) diff --git a/src/mainboard/google/skywalker/gpio.h b/src/mainboard/google/skywalker/gpio.h index 22ee14d855..5bd8744126 100644 --- a/src/mainboard/google/skywalker/gpio.h +++ b/src/mainboard/google/skywalker/gpio.h @@ -5,12 +5,25 @@ #include -#define GPIO_XHCI_INIT_DONE GPIO(GBE_MDC) -#define GPIO_USB3_HUB_RST_L GPIO(GPIO07) -#define GPIO_EC_AP_INT_ODL GPIO(GBE_MDIO) -#define GPIO_AP_EC_WARM_RST_REQ GPIO(GBE_AUX_PPS0) -#define GPIO_GSC_AP_INT_ODL GPIO(GBE_AUX_PPS1) -#define GPIO_AP_SUSPEND_L GPIO(CONN_TOP_DATA) +#define GPIO_XHCI_INIT_DONE GPIO(GBE_MDC) +#define GPIO_USB3_HUB_RST_L GPIO(GPIO07) +#define GPIO_EC_AP_INT_ODL GPIO(GBE_MDIO) +#define GPIO_AP_EC_WARM_RST_REQ GPIO(GBE_AUX_PPS0) +#define GPIO_GSC_AP_INT_ODL GPIO(GBE_AUX_PPS1) +#define GPIO_AP_SUSPEND_L GPIO(CONN_TOP_DATA) +#define GPIO_HP_INT_ODL GPIO(GPIO04) +#define GPIO_SPKR_INT_ODL GPIO(GPIO08) +#define GPIO_SAR_INT_ODL GPIO(GPIO09) +#define GPIO_PEN_EJECT_OD GPIO(GPIO11) +#define GPIO_TCHSCR_INT_1V8_ODL GPIO(GPIO15) +#define GPIO_AP_WP_ODL GPIO(GPIO16) +#define GPIO_EC_AP_DPOC_EN_ODL GPIO(GPIO17) +#define GPIO_TCHPAD_INT_ODL GPIO(GBE_RXD1) +#define GPIO_HDMI_AP_INT_ODL GPIO(GBE_RXC) +#define GPIO_FP_AP_INT_1V8_S3_ODL GPIO(GBE_RXDV) +#define GPIO_SD_CD_ODL GPIO(GBE_INTR) +#define GPIO_HDMI_HPD_1V8_ODL GPIO(CONN_TOP_CLK) +#define GPIO_AP_HDMI_RST_ODL GPIO(GBE_TXC) void setup_chromeos_gpios(void);