ec/lenovo/h8: Add Kconfig to select use of Thermal Zone 1

Looking at the ACPI dumps of many older Thinkpads, most do not have a
second thermal zone (zone 1), they only use zone 0. This doesn't seem
to be a problem for most boards in the tree currently, but newer boards
(such as the T480) are reporting critical temperature errors on zone 1,
due to differences in the EC RAM layout (ie, TMP1 is not valid).

To mitigate this issue with the T480 (and likely other newer boards),
only include the ACPI code for thermal zone 1 for boards which need it.
Explicitly select it for those boards based on ACPI dump analysis and
model similarity.

Change-Id: Ic022f2e14b2cae74656c0ac85ba8410d50cdc9de
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/88415
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
This commit is contained in:
Matt DeVillier 2025-07-12 17:17:42 -05:00
commit 621b1061d0
8 changed files with 12 additions and 1 deletions

View file

@ -73,4 +73,8 @@ config H8_HAS_WWAN_GPIO_DETECTION
bool
default n
config H8_HAS_2ND_THERMAL_ZONE
bool
default n
endif # EC_LENOVO_H8

View file

@ -130,7 +130,7 @@ External (\PPKG, MethodObj)
Name (_PR0, Package () { FPWR })
}
}
#if CONFIG(H8_HAS_2ND_THERMAL_ZONE)
ThermalZone(THM1)
{
/* Thermal zone polling frequency: 10 seconds */
@ -168,4 +168,5 @@ External (\PPKG, MethodObj)
Return (C2K(\_SB.PCI0.LPCB.EC.TMP1))
}
}
#endif
}

View file

@ -11,6 +11,7 @@ config BOARD_SPECIFIC_OPTIONS
select SOUTHBRIDGE_INTEL_I82801IX
select EC_LENOVO_PMH7
select EC_LENOVO_H8
select H8_HAS_2ND_THERMAL_ZONE
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_BDC_GPIO_DETECTION if !BOARD_LENOVO_R500
select BOARD_ROMSIZE_KB_8192 if !BOARD_LENOVO_R500

View file

@ -22,6 +22,7 @@ config BOARD_SPECIFIC_OPTIONS
select DRIVERS_LENOVO_HYBRID_GRAPHICS
select INTEL_GMA_HAVE_VBT
select MAINBOARD_USES_IFD_GBE_REGION
select H8_HAS_2ND_THERMAL_ZONE
select H8_HAS_BAT_THRESHOLDS_IMPL
select MAINBOARD_HAS_LIBGFXINIT
select DRIVERS_RICOH_RCE822

View file

@ -25,6 +25,7 @@ config BOARD_SPECIFIC_OPTIONS
select HAVE_CMOS_DEFAULT
select I945_LVDS
select INTEL_GMA_HAVE_VBT
select H8_HAS_2ND_THERMAL_ZONE
select H8_HAS_BDC_GPIO_DETECTION if BOARD_LENOVO_T60 || BOARD_LENOVO_R60
config MAINBOARD_DIR

View file

@ -10,6 +10,7 @@ config BOARD_SPECIFIC_OPTIONS
select SOUTHBRIDGE_INTEL_I82801IX
select EC_LENOVO_PMH7
select EC_LENOVO_H8
select H8_HAS_2ND_THERMAL_ZONE if BOARD_LENOVO_X200
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_BDC_GPIO_DETECTION if BOARD_LENOVO_X200
select NO_UART_ON_SUPERIO

View file

@ -24,6 +24,7 @@ config BOARD_SPECIFIC_OPTIONS
select MAINBOARD_HAS_TPM1
select INTEL_GMA_HAVE_VBT
select MAINBOARD_USES_IFD_GBE_REGION
select H8_HAS_2ND_THERMAL_ZONE
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_BDC_GPIO_DETECTION

View file

@ -16,6 +16,7 @@ config BOARD_SPECIFIC_OPTIONS
select EC_LENOVO_H8
select DRIVERS_I2C_CK505
select DRIVER_LENOVO_SERIALS
select H8_HAS_2ND_THERMAL_ZONE
select H8_HAS_BDC_GPIO_DETECTION
select HAVE_OPTION_TABLE
select INTEL_INT15