summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShon Wang <shon.wang@quanta.corp-partner.google.com>2023-09-18 10:14:39 +0800
committerFelix Held <felix-coreboot@felixheld.de>2023-09-29 13:13:11 +0000
commitc368775460dbf18d6bd807c45719a6b219dc7edc (patch)
treedf08ded9b67c041fc0add79517d78f64cb4a6e9d /src
parentb41b0f5f9054d7cb573c428cac012cc8f4bac09b (diff)
mb/google/nissa/var/yavilla: Add elan and G2 i2c touchscreen
Implement support for elan i2c touchscreen and use fw_config to pick between i2c or HID-over-i2c touchscreen. Support G2 TS have different slave address by fw_config BUG=b:295272539 BRANCH=firmware-nissa-15217.B TEST=build and verified touchscreen work Change-Id: I5e3f85106606d84e1cfa204e62b7b2662db6546b Signed-off-by: Shon Wang <shon.wang@quanta.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/77996 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Derek Huang <derekhuang@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/google/brya/Kconfig.name1
-rw-r--r--src/mainboard/google/brya/variants/yavilla/overridetree.cb45
2 files changed, 45 insertions, 1 deletions
diff --git a/src/mainboard/google/brya/Kconfig.name b/src/mainboard/google/brya/Kconfig.name
index 95acffdc65..03a851980b 100644
--- a/src/mainboard/google/brya/Kconfig.name
+++ b/src/mainboard/google/brya/Kconfig.name
@@ -427,6 +427,7 @@ config BOARD_GOOGLE_YAVILLA
select DRIVERS_INTEL_MIPI_CAMERA
select HAVE_WWAN_POWER_SEQUENCE
select INTEL_GMA_HAVE_VBT
+ select EC_GOOGLE_CHROMEEC_INCLUDE_SSFC_IN_FW_CONFIG
config BOARD_GOOGLE_ZYDRON
bool "-> Zydron"
diff --git a/src/mainboard/google/brya/variants/yavilla/overridetree.cb b/src/mainboard/google/brya/variants/yavilla/overridetree.cb
index 8e8cf768b9..d31a8f99fa 100644
--- a/src/mainboard/google/brya/variants/yavilla/overridetree.cb
+++ b/src/mainboard/google/brya/variants/yavilla/overridetree.cb
@@ -40,6 +40,11 @@ fw_config
option INTEL_YAVIJO_WIFI 5
option UNUSED 15
end
+ field TOUCH_PANEL 40 41
+ option TOUCH_ELAN_I2C 0
+ option TOUCH_ELAN_HID_I2C 1
+ option TOUCH_G2_HID_I2c 2
+ end
end
chip soc/intel/alderlake
@@ -257,7 +262,9 @@ chip soc/intel/alderlake
register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
register "enable_delay_ms" = "1"
register "has_power_resource" = "1"
- device i2c 10 on end
+ device i2c 10 on
+ probe TOUCH_PANEL TOUCH_ELAN_I2C
+ end
end
chip drivers/i2c/hid
register "generic.hid" = ""ELAN2513""
@@ -274,6 +281,25 @@ chip soc/intel/alderlake
register "generic.enable_delay_ms" = "1"
register "generic.has_power_resource" = "1"
register "hid_desc_reg_offset" = "0x01"
+ device i2c 10 on
+ probe TOUCH_PANEL TOUCH_ELAN_HID_I2C
+ end
+ end
+ chip drivers/i2c/hid
+ register "generic.hid" = ""ELAN2513""
+ register "generic.desc" = ""ELAN Touchscreen""
+ register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
+ register "generic.detect" = "1"
+ register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
+ register "generic.reset_delay_ms" = "20"
+ register "generic.reset_off_delay_ms" = "2"
+ register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
+ register "generic.stop_delay_ms" = "280"
+ register "generic.stop_off_delay_ms" = "2"
+ register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
+ register "generic.enable_delay_ms" = "1"
+ register "generic.has_power_resource" = "1"
+ register "hid_desc_reg_offset" = "0x01"
device i2c 15 on end
end
chip drivers/i2c/hid
@@ -283,6 +309,23 @@ chip soc/intel/alderlake
register "generic.detect" = "1"
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
register "generic.reset_delay_ms" = "50"
+ register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
+ register "generic.stop_delay_ms" = "100"
+ register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
+ register "generic.enable_delay_ms" = "1"
+ register "generic.has_power_resource" = "1"
+ register "hid_desc_reg_offset" = "0x01"
+ device i2c 10 on
+ probe TOUCH_PANEL TOUCH_G2_HID_I2c
+ end
+ end
+ chip drivers/i2c/hid
+ register "generic.hid" = ""GTCH7503""
+ register "generic.desc" = ""G2TOUCH Touchscreen""
+ register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
+ register "generic.detect" = "1"
+ register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
+ register "generic.reset_delay_ms" = "50"
register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
register "generic.enable_delay_ms" = "1"
register "generic.has_power_resource" = "1"