summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ec/lenovo/h8/h8.c14
1 files changed, 9 insertions, 5 deletions
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);