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 <david_wu@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/52851
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Reviewed-by: Marco Chen <marcochen@google.com>
This commit is contained in:
David Wu 2021-05-03 17:10:19 +08:00 committed by Karthik Ramasubramanian
parent d3b49b4cda
commit abfc0b17a1

View file

@ -4,6 +4,13 @@ fw_config
option CAMERA_OVTI5675 1 option CAMERA_OVTI5675 1
option CAMERA_OVTI8856 2 option CAMERA_OVTI8856 2
end 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 end
chip soc/intel/jasperlake chip soc/intel/jasperlake
@ -181,7 +188,30 @@ chip soc/intel/jasperlake
register "generic.has_power_resource" = "1" register "generic.has_power_resource" = "1"
register "generic.disable_gpio_export_in_crs" = "1" register "generic.disable_gpio_export_in_crs" = "1"
register "hid_desc_reg_offset" = "0x01" 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 end
chip drivers/i2c/generic chip drivers/i2c/generic
register "hid" = ""ELAN0001"" register "hid" = ""ELAN0001""
@ -193,7 +223,10 @@ chip soc/intel/jasperlake
register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)" register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
register "enable_delay_ms" = "1" register "enable_delay_ms" = "1"
register "has_power_resource" = "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 end
chip drivers/i2c/generic chip drivers/i2c/generic
register "hid" = ""RAYD0001"" register "hid" = ""RAYD0001""
@ -206,7 +239,10 @@ chip soc/intel/jasperlake
register "enable_delay_ms" = "50" register "enable_delay_ms" = "50"
register "has_power_resource" = "1" register "has_power_resource" = "1"
register "disable_gpio_export_in_crs" = "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
end # I2C 2 end # I2C 2
device pci 15.3 on # I2C 3 device pci 15.3 on # I2C 3