From 4902e9b35f1b62c2c28e582e33ad55d2543f1483 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Wed, 11 Jan 2023 17:41:37 -0600 Subject: drivers/i2c/generic: Drop 'disable_gpio_export_in_crs' flag Exposing the GPIOs via an ACPI PowerResource and the _CRS results in the OS driver and ACPI thinking they own the GPIO. This can cause timing problems because it's not clear which system should be controlling the GPIO. Previously, we flagged as an error any device which set the 'has_power_resource' flag but did not set 'disable_gpio_export_in_crs.' There's no reason to require explicit disablement however, so drop the superfluous 'disable' flag, and change the _CRS generation to check if the GPIOs will be exported via the 'has_power_resource' flag instead. BUG=b:265055477 TEST=build/boot skyrim, dump SSDT and verify touchscreen GPIOs only listed under PRx, not under _CRS. Change-Id: I837ae6c6fe4b8e1c4e10686406cba06bdb7759d2 Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/71849 Tested-by: build bot (Jenkins) Reviewed-by: Martin L Roth --- src/mainboard/google/reef/variants/pyro/devicetree.cb | 1 - src/mainboard/google/reef/variants/snappy/devicetree.cb | 2 -- 2 files changed, 3 deletions(-) (limited to 'src/mainboard/google/reef/variants') diff --git a/src/mainboard/google/reef/variants/pyro/devicetree.cb b/src/mainboard/google/reef/variants/pyro/devicetree.cb index 42adab7ed1..ee1e0f3d87 100644 --- a/src/mainboard/google/reef/variants/pyro/devicetree.cb +++ b/src/mainboard/google/reef/variants/pyro/devicetree.cb @@ -204,7 +204,6 @@ chip soc/intel/apollolake register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_152)" 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" = "0x1" device i2c 0xA on end end diff --git a/src/mainboard/google/reef/variants/snappy/devicetree.cb b/src/mainboard/google/reef/variants/snappy/devicetree.cb index f63c808126..197c911226 100644 --- a/src/mainboard/google/reef/variants/snappy/devicetree.cb +++ b/src/mainboard/google/reef/variants/snappy/devicetree.cb @@ -245,7 +245,6 @@ chip soc/intel/apollolake register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_152)" 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" = "0x20" device i2c 2c on end end @@ -259,7 +258,6 @@ chip soc/intel/apollolake register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_152)" 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 40 on end end -- cgit v1.2.3