diff options
author | Vladimir Serbinenko <phcoder@gmail.com> | 2013-11-13 18:31:24 +0100 |
---|---|---|
committer | Vladimir Serbinenko <phcoder@gmail.com> | 2013-12-15 17:49:23 +0100 |
commit | 2c8766891444eb49db2ec54146c7e83c0c1f8304 (patch) | |
tree | 7d478594230ace3c241ea4f19bc9641f0a01d5cf /src | |
parent | cc2f3452e4bd191aef8436863628685f30c925ea (diff) | |
download | coreboot-2c8766891444eb49db2ec54146c7e83c0c1f8304.tar.xz |
ec/lenovo/h8: Fix peripheral init without CMOS config
Currently H8 skips important init if unable to access CMOS config.
Change default to enable all features to have a sane system without
using CMOS config.
Change-Id: I4448ccd21beae8ad23eb22391770c6fe3b83e3b4
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-on: http://review.coreboot.org/4515
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Tested-by: build bot (Jenkins)
Diffstat (limited to 'src')
-rw-r--r-- | src/ec/lenovo/h8/h8.c | 17 | ||||
-rw-r--r-- | src/ec/lenovo/pmh7/pmh7.c | 5 |
2 files changed, 12 insertions, 10 deletions
diff --git a/src/ec/lenovo/h8/h8.c b/src/ec/lenovo/h8/h8.c index d0a9ea956b..ac77001229 100644 --- a/src/ec/lenovo/h8/h8.c +++ b/src/ec/lenovo/h8/h8.c @@ -171,16 +171,17 @@ static void h8_enable(device_t dev) if (get_option(&val, "volume") == CB_SUCCESS) ec_write(H8_VOLUME_CONTROL, val); + if (get_option(&val, "bluetooth") != CB_SUCCESS) + val = 1; + h8_bluetooth_enable(val); - if (get_option(&val, "bluetooth") == CB_SUCCESS) - h8_bluetooth_enable(val); + if (get_option(&val, "first_battery") != CB_SUCCESS) + val = 1; - if (get_option(&val, "first_battery") == CB_SUCCESS) { - tmp = ec_read(H8_CONFIG3); - tmp &= ~(1 << 4); - tmp |= (val & 1)<< 4; - ec_write(H8_CONFIG3, tmp); - } + tmp = ec_read(H8_CONFIG3); + tmp &= ~(1 << 4); + tmp |= (val & 1) << 4; + ec_write(H8_CONFIG3, tmp); h8_set_audio_mute(0); #if !IS_ENABLED(CONFIG_H8_DOCK_EARLY_INIT) diff --git a/src/ec/lenovo/pmh7/pmh7.c b/src/ec/lenovo/pmh7/pmh7.c index b02b52aa8e..9607c83e52 100644 --- a/src/ec/lenovo/pmh7/pmh7.c +++ b/src/ec/lenovo/pmh7/pmh7.c @@ -113,8 +113,9 @@ static void enable_dev(device_t dev) pmh7_backlight_enable(conf->backlight_enable); pmh7_dock_event_enable(conf->dock_event_enable); - if (get_option(&val, "touchpad") == CB_SUCCESS) - pmh7_touchpad_enable(val); + if (get_option(&val, "touchpad") != CB_SUCCESS) + val = 1; + pmh7_touchpad_enable(val); } struct chip_operations ec_lenovo_pmh7_ops = { |