mb/google/hatch: Use runtime detection for touchscreens/digitizers
Now that power sequencing has been implemented, switch from using ACPI "probed" flag to "detect" flag for all i2c touchscreens. This removes non-present devices from the SSDT and relieves the OS of the burden of probing. BUG=b:121309055 TEST=build/boot Windows/linux on multiple hatch variants, verify all touchscreens functional in OS, dump ACPI and verify only i2c devices actually present on the board have entries in the SSDT. Change-Id: I2eae486eaa5e42cfe42ecc066a58b09fe2bd9138 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/71062 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
251d443e8b
commit
c5ec497bbc
|
@ -188,7 +188,7 @@ chip soc/intel/cannonlake
|
|||
register "hid" = ""ELAN0001""
|
||||
register "desc" = ""ELAN Touchscreen""
|
||||
register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "probed" = "1"
|
||||
register "detect" = "1"
|
||||
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "reset_delay_ms" = "100"
|
||||
register "reset_off_delay_ms" = "5"
|
||||
|
@ -204,7 +204,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.hid" = ""GDIX0000""
|
||||
register "generic.desc" = ""Goodix Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.reset_gpio" =
|
||||
"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "generic.reset_delay_ms" = "150"
|
||||
|
|
|
@ -87,7 +87,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.hid" = ""GTCH7503""
|
||||
register "generic.desc" = ""G2TOUCH Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "generic.reset_delay_ms" = "50"
|
||||
register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D9)"
|
||||
|
@ -101,7 +101,7 @@ chip soc/intel/cannonlake
|
|||
register "hid" = ""ELAN0001""
|
||||
register "desc" = ""ELAN Touchscreen""
|
||||
register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "probed" = "1"
|
||||
register "detect" = "1"
|
||||
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "reset_delay_ms" = "100"
|
||||
register "reset_off_delay_ms" = "5"
|
||||
|
@ -115,7 +115,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.hid" = ""GDIX0000""
|
||||
register "generic.desc" = ""Goodix Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "generic.reset_delay_ms" = "120"
|
||||
register "generic.reset_off_delay_ms" = "3"
|
||||
|
@ -131,7 +131,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.hid" = ""ELAN2513""
|
||||
register "generic.desc" = ""ELAN Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "generic.reset_delay_ms" = "20"
|
||||
register "generic.reset_off_delay_ms" = "2"
|
||||
|
|
|
@ -85,7 +85,7 @@ chip soc/intel/cannonlake
|
|||
register "hid" = ""ELAN0001""
|
||||
register "desc" = ""ELAN Touchscreen""
|
||||
register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "probed" = "1"
|
||||
register "detect" = "1"
|
||||
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "reset_delay_ms" = "100"
|
||||
register "reset_off_delay_ms" = "5"
|
||||
|
@ -101,7 +101,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.hid" = ""GDIX0000""
|
||||
register "generic.desc" = ""Goodix Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.reset_gpio" =
|
||||
"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "generic.reset_delay_ms" = "120"
|
||||
|
|
|
@ -105,7 +105,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.desc" = ""Goodix Touchscreen""
|
||||
register "generic.irq" =
|
||||
"ACPI_IRQ_EDGE_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.reset_gpio" =
|
||||
"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "generic.reset_delay_ms" = "120"
|
||||
|
|
|
@ -121,7 +121,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.desc" = ""Goodix Touchscreen""
|
||||
register "generic.irq" =
|
||||
"ACPI_IRQ_EDGE_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.reset_gpio" =
|
||||
"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "generic.reset_delay_ms" = "500"
|
||||
|
|
|
@ -109,7 +109,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.hid" = ""GTCH7503""
|
||||
register "generic.desc" = ""G2TOUCH Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "generic.reset_delay_ms" = "50"
|
||||
register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D9)"
|
||||
|
@ -123,7 +123,7 @@ chip soc/intel/cannonlake
|
|||
register "hid" = ""ELAN0001""
|
||||
register "desc" = ""ELAN Touchscreen""
|
||||
register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "probed" = "1"
|
||||
register "detect" = "1"
|
||||
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "reset_delay_ms" = "100"
|
||||
register "reset_off_delay_ms" = "5"
|
||||
|
@ -137,7 +137,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.hid" = ""GDIX0000""
|
||||
register "generic.desc" = ""Goodix Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "generic.reset_delay_ms" = "120"
|
||||
register "generic.reset_off_delay_ms" = "3"
|
||||
|
@ -153,7 +153,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.hid" = ""ELAN2513""
|
||||
register "generic.desc" = ""ELAN Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "generic.reset_delay_ms" = "20"
|
||||
register "generic.reset_off_delay_ms" = "2"
|
||||
|
|
|
@ -133,7 +133,7 @@ chip soc/intel/cannonlake
|
|||
register "hid" = ""ELAN0001""
|
||||
register "desc" = ""ELAN Touchscreen""
|
||||
register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "probed" = "1"
|
||||
register "detect" = "1"
|
||||
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "reset_delay_ms" = "100"
|
||||
register "reset_off_delay_ms" = "5"
|
||||
|
@ -147,7 +147,7 @@ chip soc/intel/cannonlake
|
|||
register "hid" = ""RAYD0001""
|
||||
register "desc" = ""Raydium Touchscreen""
|
||||
register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "probed" = "1"
|
||||
register "detect" = "1"
|
||||
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "reset_delay_ms" = "1"
|
||||
register "reset_off_delay_ms" = "2"
|
||||
|
@ -161,7 +161,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.hid" = ""ELAN9004""
|
||||
register "generic.desc" = ""ELAN Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "generic.reset_delay_ms" = "20"
|
||||
register "generic.reset_off_delay_ms" = "2"
|
||||
|
|
|
@ -178,7 +178,7 @@ chip soc/intel/cannonlake
|
|||
register "enable_delay_ms" = "1" # 90 ns
|
||||
register "has_power_resource" = "1"
|
||||
register "disable_gpio_export_in_crs" = "1"
|
||||
register "probed" = "1"
|
||||
register "detect" = "1"
|
||||
device i2c 4b on end
|
||||
end
|
||||
|
||||
|
@ -186,7 +186,7 @@ chip soc/intel/cannonlake
|
|||
register "hid" = ""ELAN0001""
|
||||
register "desc" = ""ELAN Touchscreen""
|
||||
register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "probed" = "1"
|
||||
register "detect" = "1"
|
||||
register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C12)"
|
||||
register "enable_delay_ms" = "10"
|
||||
register "enable_off_delay_ms" = "100"
|
||||
|
|
|
@ -105,7 +105,7 @@ chip soc/intel/cannonlake
|
|||
register "hid" = ""ELAN0001""
|
||||
register "desc" = ""ELAN Touchscreen""
|
||||
register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "probed" = "1"
|
||||
register "detect" = "1"
|
||||
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "reset_delay_ms" = "100"
|
||||
register "reset_off_delay_ms" = "5"
|
||||
|
@ -121,7 +121,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.hid" = ""GDIX0000""
|
||||
register "generic.desc" = ""Goodix Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.reset_gpio" =
|
||||
"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "generic.reset_delay_ms" = "120"
|
||||
|
|
|
@ -209,7 +209,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.hid" = ""ELAN902C""
|
||||
register "generic.desc" = ""ELAN Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C12)"
|
||||
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
|
||||
register "generic.reset_delay_ms" = "20"
|
||||
|
|
|
@ -116,7 +116,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.desc" = ""ELAN Touchscreen USI""
|
||||
register "generic.irq" =
|
||||
"ACPI_IRQ_EDGE_LOW(GPP_D16_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.enable_gpio" =
|
||||
"ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D9)"
|
||||
register "generic.enable_delay_ms" = "12"
|
||||
|
@ -137,7 +137,7 @@ chip soc/intel/cannonlake
|
|||
register "generic.desc" = ""ELAN Touchscreen USI""
|
||||
register "generic.irq" =
|
||||
"ACPI_IRQ_EDGE_LOW(GPP_C7_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.enable_gpio" =
|
||||
"ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D10)"
|
||||
register "generic.enable_delay_ms" = "12"
|
||||
|
|
Loading…
Reference in New Issue