Vladimir Serbinenko (phcoder@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4663
-gerrit
commit 926cf5aaaffce10c3011177993a1955239d6d1f6 Author: Vladimir Serbinenko phcoder@gmail.com Date: Sat Jan 11 13:02:49 2014 +0100
ec/lenovo/h8: Allow control of low-battery beep.
Change-Id: I2f422e83f2afcf0cc3f3ecbace01a8f4f39e87d4 Signed-off-by: Vladimir Serbinenko phcoder@gmail.com --- src/ec/lenovo/h8/h8.c | 24 ++++++++++++++++++------ src/mainboard/lenovo/t60/cmos.layout | 1 + src/mainboard/lenovo/x201/cmos.default | 1 + src/mainboard/lenovo/x201/cmos.layout | 3 ++- src/mainboard/lenovo/x60/cmos.default | 1 + src/mainboard/lenovo/x60/cmos.layout | 1 + 6 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/src/ec/lenovo/h8/h8.c b/src/ec/lenovo/h8/h8.c index d6a07e7..956ba30 100644 --- a/src/ec/lenovo/h8/h8.c +++ b/src/ec/lenovo/h8/h8.c @@ -160,6 +160,7 @@ static void h8_enable(device_t dev) { struct ec_lenovo_h8_config *conf = dev->chip_info; u8 val, tmp; + u8 beepmask0, beepmask1;
h8_log_ec_version();
@@ -168,16 +169,27 @@ static void h8_enable(device_t dev) ec_write(H8_CONFIG2, conf->config2); ec_write(H8_CONFIG3, conf->config3);
+ beepmask0 = conf->beepmask0; + beepmask1 = conf->beepmask1; + if (get_option(&val, "power_management_beeps") != CB_SUCCESS) val = 1;
- if (val) { - ec_write(H8_SOUND_ENABLE0, conf->beepmask0); - ec_write(H8_SOUND_ENABLE1, conf->beepmask1); - } else { - ec_write(H8_SOUND_ENABLE0, 0x00); - ec_write(H8_SOUND_ENABLE1, 0x00); + if (!val) { + beepmask0 = 0; + beepmask1 = 0; } + + if (get_option(&val, "low_battery_beep") != CB_SUCCESS) + val = 1; + if (val) + beepmask0 |= 2; + else + beepmask0 &= ~2; + + ec_write(H8_SOUND_ENABLE0, beepmask0); + ec_write(H8_SOUND_ENABLE1, beepmask1); + ec_write(H8_SOUND_REPEAT, 0x00);
ec_write(0x10, conf->event0_enable); diff --git a/src/mainboard/lenovo/t60/cmos.layout b/src/mainboard/lenovo/t60/cmos.layout index 94358a2..cba2605 100644 --- a/src/mainboard/lenovo/t60/cmos.layout +++ b/src/mainboard/lenovo/t60/cmos.layout @@ -115,6 +115,7 @@ entries 1074 1 e 1 fn_ctrl_swap 1075 1 e 1 locking_fn 1076 1 e 1 power_management_beeps +1077 1 e 1 low_battery_beep # -----------------------------------------------------------------
enumerations diff --git a/src/mainboard/lenovo/x201/cmos.default b/src/mainboard/lenovo/x201/cmos.default index d133d98..ba3e66e 100644 --- a/src/mainboard/lenovo/x201/cmos.default +++ b/src/mainboard/lenovo/x201/cmos.default @@ -12,3 +12,4 @@ touchpad=Enable fn_ctrl_swap=Disable locking_fn=Disable power_management_beeps=Enable +low_battery_beep=Enable diff --git a/src/mainboard/lenovo/x201/cmos.layout b/src/mainboard/lenovo/x201/cmos.layout index 5252fa2..43911e2 100644 --- a/src/mainboard/lenovo/x201/cmos.layout +++ b/src/mainboard/lenovo/x201/cmos.layout @@ -93,7 +93,8 @@ entries 417 1 e 1 fn_ctrl_swap 418 1 e 1 locking_fn 419 1 e 1 power_management_beeps -#420 564 r 0 unused +420 1 e 1 low_battery_beep +#421 563 r 0 unused
# coreboot config options: check sums 984 16 h 0 check_sum diff --git a/src/mainboard/lenovo/x60/cmos.default b/src/mainboard/lenovo/x60/cmos.default index 2992c53..59552d9 100644 --- a/src/mainboard/lenovo/x60/cmos.default +++ b/src/mainboard/lenovo/x60/cmos.default @@ -15,3 +15,4 @@ bluetooth=Enable fn_ctrl_swap=Disable locking_fn=Disable power_management_beeps=Enable +low_battery_beep=Enable diff --git a/src/mainboard/lenovo/x60/cmos.layout b/src/mainboard/lenovo/x60/cmos.layout index b5d0993..1f3d889 100644 --- a/src/mainboard/lenovo/x60/cmos.layout +++ b/src/mainboard/lenovo/x60/cmos.layout @@ -115,6 +115,7 @@ entries 1085 1 e 1 fn_ctrl_swap 1086 1 e 1 locking_fn 1087 1 e 1 power_management_beeps +1088 1 e 1 low_battery_beep # -----------------------------------------------------------------
enumerations