From abfc0b17a1d3b2683addd5c617ab3cf385acf0d4 Mon Sep 17 00:00:00 2001 From: David Wu Date: Mon, 3 May 2021 17:10:19 +0800 Subject: mb/google/dedede/var/magolor: Select touchscreen based on SSFC in FW_CONFIG Select touchscreen(s) based on touchscreen source provisioned in SSFC of CBI (higher 32 bits of FW_CONFIG in coreboot). The reason is to avoid to enable multiple touchscreen ICs with the same slave address. BUG=b:186609348 TEST=build and boot to OS. Change-Id: I087ea677a8865fc8c5b3f7c9773bd7f97924dbb3 Signed-off-by: David Wu Reviewed-on: https://review.coreboot.org/c/coreboot/+/52851 Tested-by: build bot (Jenkins) Reviewed-by: Karthik Ramasubramanian Reviewed-by: Marco Chen --- .../google/dedede/variants/magolor/overridetree.cb | 42 ++++++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) (limited to 'src/mainboard') diff --git a/src/mainboard/google/dedede/variants/magolor/overridetree.cb b/src/mainboard/google/dedede/variants/magolor/overridetree.cb index 841f7d6062..5ad07da46f 100644 --- a/src/mainboard/google/dedede/variants/magolor/overridetree.cb +++ b/src/mainboard/google/dedede/variants/magolor/overridetree.cb @@ -4,6 +4,13 @@ fw_config option CAMERA_OVTI5675 1 option CAMERA_OVTI8856 2 end + field TS_SOURCE 41 44 + option TS_UNPROVISIONED 0 + option TS_ELAN_6915 1 + option TS_ELAN_6918 2 + option TS_ELAN_0001 3 + option TS_RAYD_0001 4 + end end chip soc/intel/jasperlake @@ -181,7 +188,30 @@ chip soc/intel/jasperlake register "generic.has_power_resource" = "1" register "generic.disable_gpio_export_in_crs" = "1" register "hid_desc_reg_offset" = "0x01" - device i2c 15 on end + device i2c 15 on + probe TS_SOURCE TS_UNPROVISIONED + probe TS_SOURCE TS_ELAN_6915 + end + end + chip drivers/i2c/hid + register "generic.hid" = ""ELAN6918"" + register "generic.desc" = ""ELAN Touchscreen"" + register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)" + register "generic.probed" = "1" + register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D5)" + register "generic.reset_delay_ms" = "20" + register "generic.reset_off_delay_ms" = "2" + register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)" + register "generic.stop_delay_ms" = "280" + register "generic.stop_off_delay_ms" = "2" + register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)" + register "generic.enable_delay_ms" = "1" + register "generic.has_power_resource" = "1" + register "generic.disable_gpio_export_in_crs" = "1" + register "hid_desc_reg_offset" = "0x01" + device i2c 10 on + probe TS_SOURCE TS_ELAN_6918 + end end chip drivers/i2c/generic register "hid" = ""ELAN0001"" @@ -193,7 +223,10 @@ chip soc/intel/jasperlake register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)" register "enable_delay_ms" = "1" register "has_power_resource" = "1" - device i2c 10 on end + device i2c 10 on + probe TS_SOURCE TS_UNPROVISIONED + probe TS_SOURCE TS_ELAN_0001 + end end chip drivers/i2c/generic register "hid" = ""RAYD0001"" @@ -206,7 +239,10 @@ chip soc/intel/jasperlake register "enable_delay_ms" = "50" register "has_power_resource" = "1" register "disable_gpio_export_in_crs" = "1" - device i2c 39 on end + device i2c 39 on + probe TS_SOURCE TS_UNPROVISIONED + probe TS_SOURCE TS_RAYD_0001 + end end end # I2C 2 device pci 15.3 on # I2C 3 -- cgit v1.2.3