From a959a1456b8f5fcc641f10e6da14006712a9b0c1 Mon Sep 17 00:00:00 2001 From: Patrick Rudolph Date: Wed, 24 May 2017 18:14:43 +0200 Subject: ec/lenovo/h8/h8: Always enable tp-smapi and thermal Always enable tp-smapi and thermal managment. The devicetree already configures the correct values. This patch makes sure that invalid user-settings are ignored. The tp-smapi bit is required for the SMM handler. The thermal bit should be set to allow the EC to monitor thermal state of the platform. Change-Id: Ia5aa50e0b1148a7cc8e51480623368ee62edb849 Signed-off-by: Patrick Rudolph Reviewed-on: https://review.coreboot.org/19864 Tested-by: build bot (Jenkins) Reviewed-by: Philipp Deppenwiese Reviewed-by: Paul Menzel --- src/ec/lenovo/h8/h8.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/ec/lenovo/h8') diff --git a/src/ec/lenovo/h8/h8.c b/src/ec/lenovo/h8/h8.c index b259d9ae21..5ea4a2cbec 100644 --- a/src/ec/lenovo/h8/h8.c +++ b/src/ec/lenovo/h8/h8.c @@ -209,21 +209,25 @@ static void h8_enable(struct device *dev) { struct ec_lenovo_h8_config *conf = dev->chip_info; u8 val; - u8 beepmask0, beepmask1, config1; + u8 beepmask0, beepmask1, reg8; dev->ops = &h8_dev_ops; h8_log_ec_version(); - ec_write(H8_CONFIG0, conf->config0); - config1 = conf->config1; + /* Always enable I/O range 0x1600-0x160f and thermal management */ + reg8 = conf->config0; + reg8 |= H8_CONFIG0_SMM_H8_ENABLE; + reg8 |= H8_CONFIG0_TC_ENABLE; + ec_write(H8_CONFIG0, reg8); + reg8 = conf->config1; if (conf->has_keyboard_backlight) { if (get_option(&val, "backlight") != CB_SUCCESS) val = 0; /* Both backlights. */ - config1 = (config1 & 0xf3) | ((val & 0x3) << 2); + reg8 = (reg8 & 0xf3) | ((val & 0x3) << 2); } - ec_write(H8_CONFIG1, config1); + ec_write(H8_CONFIG1, reg8); ec_write(H8_CONFIG2, conf->config2); ec_write(H8_CONFIG3, conf->config3); -- cgit v1.2.3