ec/lenovo/h8: Allow user to disable powermanagement beeps.

They're pretty annoying.

Change-Id: I44d26dc168927a9cedfd6ecc4c9a51a3a7b362c7
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-on: http://review.coreboot.org/4662
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
Vladimir Serbinenko 2014-01-11 20:56:47 +01:00
parent 6d6298dddc
commit 9a3b9c42d3
10 changed files with 22 additions and 2 deletions

View File

@ -48,5 +48,6 @@ struct ec_lenovo_h8_config {
u8 eventf_enable; u8 eventf_enable;
u8 trackpoint_enable; u8 trackpoint_enable;
u8 has_power_management_beeps;
}; };
#endif #endif

View File

@ -160,6 +160,7 @@ static void h8_enable(device_t dev)
{ {
struct ec_lenovo_h8_config *conf = dev->chip_info; struct ec_lenovo_h8_config *conf = dev->chip_info;
u8 val, tmp; u8 val, tmp;
u8 beepmask0, beepmask1;
h8_log_ec_version(); h8_log_ec_version();
@ -168,8 +169,18 @@ static void h8_enable(device_t dev)
ec_write(H8_CONFIG2, conf->config2); ec_write(H8_CONFIG2, conf->config2);
ec_write(H8_CONFIG3, conf->config3); ec_write(H8_CONFIG3, conf->config3);
ec_write(H8_SOUND_ENABLE0, conf->beepmask0); beepmask0 = conf->beepmask0;
ec_write(H8_SOUND_ENABLE1, conf->beepmask1); beepmask1 = conf->beepmask1;
if (conf->has_power_management_beeps
&& get_option(&val, "power_management_beeps") == CB_SUCCESS
&& val == 0) {
beepmask0 = 0x00;
beepmask1 = 0x00;
}
ec_write(H8_SOUND_ENABLE0, beepmask0);
ec_write(H8_SOUND_ENABLE1, beepmask1);
ec_write(H8_SOUND_REPEAT, 0x00); ec_write(H8_SOUND_REPEAT, 0x00);
ec_write(0x10, conf->event0_enable); ec_write(0x10, conf->event0_enable);

View File

@ -114,6 +114,7 @@ entries
1072 1 e 9 first_battery 1072 1 e 9 first_battery
1074 1 e 1 fn_ctrl_swap 1074 1 e 1 fn_ctrl_swap
1075 1 e 1 sticky_fn 1075 1 e 1 sticky_fn
1076 1 e 1 power_management_beeps
# ----------------------------------------------------------------- # -----------------------------------------------------------------
enumerations enumerations

View File

@ -128,6 +128,7 @@ chip northbridge/intel/i945
register "beepmask0" = "0xfe" register "beepmask0" = "0xfe"
register "beepmask1" = "0x96" register "beepmask1" = "0x96"
register "has_power_management_beeps" = "1"
register "event2_enable" = "0xff" register "event2_enable" = "0xff"
register "event3_enable" = "0xff" register "event3_enable" = "0xff"

View File

@ -11,4 +11,5 @@ wwan=Enable
touchpad=Enable touchpad=Enable
fn_ctrl_swap=Disable fn_ctrl_swap=Disable
sticky_fn=Disable sticky_fn=Disable
power_management_beeps=Enable
sata_mode=AHCI sata_mode=AHCI

View File

@ -92,6 +92,7 @@ entries
414 1 e 1 touchpad 414 1 e 1 touchpad
417 1 e 1 fn_ctrl_swap 417 1 e 1 fn_ctrl_swap
418 1 e 1 sticky_fn 418 1 e 1 sticky_fn
419 1 e 1 power_management_beeps
421 1 e 9 sata_mode 421 1 e 9 sata_mode
#422 562 r 0 unused #422 562 r 0 unused

View File

@ -58,6 +58,7 @@ chip northbridge/intel/nehalem
register "beepmask0" = "0xfe" register "beepmask0" = "0xfe"
register "beepmask1" = "0x96" register "beepmask1" = "0x96"
register "has_power_management_beeps" = "1"
register "event2_enable" = "0xff" register "event2_enable" = "0xff"
register "event3_enable" = "0xff" register "event3_enable" = "0xff"

View File

@ -14,3 +14,4 @@ first_battery=Primary
bluetooth=Enable bluetooth=Enable
fn_ctrl_swap=Disable fn_ctrl_swap=Disable
sticky_fn=Disable sticky_fn=Disable
power_management_beeps=Enable

View File

@ -114,6 +114,7 @@ entries
1082 1 e 1 wwan 1082 1 e 1 wwan
1085 1 e 1 fn_ctrl_swap 1085 1 e 1 fn_ctrl_swap
1086 1 e 1 sticky_fn 1086 1 e 1 sticky_fn
1087 1 e 1 power_management_beeps
# ----------------------------------------------------------------- # -----------------------------------------------------------------
enumerations enumerations

View File

@ -106,6 +106,7 @@ chip northbridge/intel/i945
register "beepmask0" = "0xfe" register "beepmask0" = "0xfe"
register "beepmask1" = "0x96" register "beepmask1" = "0x96"
register "has_power_management_beeps" = "1"
register "event2_enable" = "0xff" register "event2_enable" = "0xff"
register "event3_enable" = "0xff" register "event3_enable" = "0xff"