ec/lenovo/h8: Add backlight control.

Change-Id: I773793bf53d91ae787bd0d0ae7bd882243196d56
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-on: http://review.coreboot.org/4678
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
Vladimir Serbinenko 2014-01-12 15:19:50 +01:00
parent eada34faaa
commit f3c3dae580
2 changed files with 10 additions and 2 deletions

View File

@ -47,6 +47,7 @@ struct ec_lenovo_h8_config {
u8 evente_enable; u8 evente_enable;
u8 eventf_enable; u8 eventf_enable;
u8 has_keyboard_backlight;
u8 has_power_management_beeps; u8 has_power_management_beeps;
}; };
#endif #endif

View File

@ -160,12 +160,19 @@ 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; u8 beepmask0, beepmask1, config1;
h8_log_ec_version(); h8_log_ec_version();
ec_write(H8_CONFIG0, conf->config0); ec_write(H8_CONFIG0, conf->config0);
ec_write(H8_CONFIG1, conf->config1); config1 = conf->config1;
if (conf->has_keyboard_backlight) {
if (get_option(&val, "backlight") != CB_SUCCESS)
val = 0; /* Both backlights. */
config1 = (config1 & 0xf3) | ((val & 0x3) << 2);
}
ec_write(H8_CONFIG1, config1);
ec_write(H8_CONFIG2, conf->config2); ec_write(H8_CONFIG2, conf->config2);
ec_write(H8_CONFIG3, conf->config3); ec_write(H8_CONFIG3, conf->config3);