From 21f52c8af87bad32f139f06f2a74543020249741 Mon Sep 17 00:00:00 2001 From: Tyler Wang Date: Tue, 1 Nov 2022 15:12:57 +0800 Subject: [PATCH] mb/google/nissa/var/craask: Disable stylus GPIO pins based on fw_config BUG=b:257879909 Test:Boot to OS on craask and check stylus GPIO pins Signed-off-by: Tyler Wang Change-Id: I7e3a2583187c8a8e2616a5272b5a7a61debe982b Reviewed-on: https://review.coreboot.org/c/coreboot/+/69138 Reviewed-by: Tarun Tuli Reviewed-by: Reka Norman Reviewed-by: Kangheui Won Reviewed-by: Eric Lai Tested-by: build bot (Jenkins) --- .../google/brya/variants/craask/fw_config.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/mainboard/google/brya/variants/craask/fw_config.c b/src/mainboard/google/brya/variants/craask/fw_config.c index 602eeabfe1..5b8f05859b 100644 --- a/src/mainboard/google/brya/variants/craask/fw_config.c +++ b/src/mainboard/google/brya/variants/craask/fw_config.c @@ -42,6 +42,13 @@ static const struct pad_config sd_disable_pads[] = { PAD_NC_LOCK(GPP_H13, NONE, LOCK_CONFIG), }; +static const struct pad_config stylus_disable_pads[] = { + /* F13 : SOC_PEN_DETECT_R_ODL */ + PAD_NC_LOCK(GPP_F13, NONE, LOCK_CONFIG), + /* F15 : SOC_PEN_DETECT_ODL */ + PAD_NC_LOCK(GPP_F15, NONE, LOCK_CONFIG), +}; + void fw_config_gpio_padbased_override(struct pad_config *padbased_table) { if (!fw_config_probe(FW_CONFIG(DB_USB, DB_1C_LTE))) { @@ -62,4 +69,9 @@ void fw_config_gpio_padbased_override(struct pad_config *padbased_table) ARRAY_SIZE(sd_disable_pads)); } + if (fw_config_probe(FW_CONFIG(STYLUS, STYLUS_ABSENT))) { + printk(BIOS_INFO, "Disable Stylus GPIO pins.\n"); + gpio_padbased_override(padbased_table, stylus_disable_pads, + ARRAY_SIZE(stylus_disable_pads)); + } }