mb/google/nissa/var/gothrax: Add probe and GPIO config for touchpanel

Add FW_CONFIG probe to separate touch panel settings.
  TOUCH_PANEL_ENABLE/TOUCH_PANEL_DISABLE
Use different gpio tables based on the value of TOUCH_PANEL.

BUG=b:325987249
TEST=emerge-nissa coreboot and run in DUT

Change-Id: I23c62406a932815ff1cfafe05b70468b1f9cca54
Signed-off-by: Yunlong Jia <yunlong.jia@ecs.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80850
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Kyle Lin <kylelinck@google.com>
This commit is contained in:
Yunlong Jia
2024-03-01 02:05:16 +00:00
committed by Subrata Banik
parent 809d8c5d28
commit 735524529a
2 changed files with 22 additions and 3 deletions

View File

@ -2,6 +2,7 @@
#include <baseboard/variants.h>
#include <soc/gpio.h>
#include <fw_config.h>
/* Pad configuration in ramstage */
static const struct pad_config override_gpio_table[] = {
@ -80,6 +81,13 @@ static const struct pad_config romstage_gpio_table[] = {
PAD_CFG_GPO(GPP_H20, 1, DEEP),
};
static const struct pad_config romstage_gpio_table_nontp[] = {
/* H12 : UART0_RTS# ==> SD_PERST_L */
PAD_CFG_GPO(GPP_H12, 1, DEEP),
/* H20 : IMGCLKOUT1 ==> WLAN_PERST_L */
PAD_CFG_GPO(GPP_H20, 1, DEEP),
};
const struct pad_config *variant_gpio_override_table(size_t *num)
{
*num = ARRAY_SIZE(override_gpio_table);
@ -94,6 +102,11 @@ const struct pad_config *variant_early_gpio_table(size_t *num)
const struct pad_config *variant_romstage_gpio_table(size_t *num)
{
*num = ARRAY_SIZE(romstage_gpio_table);
return romstage_gpio_table;
if (fw_config_probe(FW_CONFIG(TOUCH_PANEL, TOUCH_PANEL_DISABLE))) {
*num = ARRAY_SIZE(romstage_gpio_table_nontp);
return romstage_gpio_table_nontp;
} else {
*num = ARRAY_SIZE(romstage_gpio_table);
return romstage_gpio_table;
}
}

View File

@ -24,6 +24,10 @@ fw_config
option WFC_PRESENT 0
option WFC_ABSENT 1
end
field TOUCH_PANEL 9
option TOUCH_PANEL_ENABLE 0
option TOUCH_PANEL_DISABLE 1
end
end
chip soc/intel/alderlake
@ -226,7 +230,9 @@ chip soc/intel/alderlake
register "generic.enable_delay_ms" = "6"
register "generic.has_power_resource" = "1"
register "hid_desc_reg_offset" = "0x01"
device i2c 0x10 on end
device i2c 0x10 on
probe TOUCH_PANEL TOUCH_PANEL_ENABLE
end
end
end
device ref i2c2 on