ec/lenovo/h8: Add option to set F1-F12 as primary function
Tested on Lenovo ThinkPad T440p. Change-Id: I83dc2c19341475abeeacd374a1b6cf152ec9b497 Signed-off-by: Iru Cai <mytbk920423@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34639 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
This commit is contained in:
parent
63c95d2e87
commit
7e8eb6bdbe
|
@ -40,6 +40,10 @@ config H8_FN_KEY_AS_VBOOT_RECOVERY_SW
|
||||||
If VBOOT is enabled, press Fn-Key at power on to force a recovery mode
|
If VBOOT is enabled, press Fn-Key at power on to force a recovery mode
|
||||||
boot instead of regular FW_MAIN_x boot.
|
boot instead of regular FW_MAIN_x boot.
|
||||||
|
|
||||||
|
config H8_HAS_PRIMARY_FN_KEYS
|
||||||
|
bool
|
||||||
|
default n
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
config H8_DOCK_EARLY_INIT
|
config H8_DOCK_EARLY_INIT
|
||||||
|
|
|
@ -86,6 +86,14 @@ static void h8_sticky_fn(int on)
|
||||||
ec_clr_bit(0x0, 3);
|
ec_clr_bit(0x0, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void f1_to_f12_as_primary(int on)
|
||||||
|
{
|
||||||
|
if (on)
|
||||||
|
ec_set_bit(0x3b, 3);
|
||||||
|
else
|
||||||
|
ec_clr_bit(0x3b, 3);
|
||||||
|
}
|
||||||
|
|
||||||
static void h8_log_ec_version(void)
|
static void h8_log_ec_version(void)
|
||||||
{
|
{
|
||||||
char ecfw[17];
|
char ecfw[17];
|
||||||
|
@ -334,6 +342,12 @@ static void h8_enable(struct device *dev)
|
||||||
val = 0;
|
val = 0;
|
||||||
h8_sticky_fn(val);
|
h8_sticky_fn(val);
|
||||||
|
|
||||||
|
if (CONFIG(H8_HAS_PRIMARY_FN_KEYS)) {
|
||||||
|
if (get_option(&val, "f1_to_f12_as_primary") != CB_SUCCESS)
|
||||||
|
val = 1;
|
||||||
|
f1_to_f12_as_primary(val);
|
||||||
|
}
|
||||||
|
|
||||||
if (get_option(&val, "first_battery") != CB_SUCCESS)
|
if (get_option(&val, "first_battery") != CB_SUCCESS)
|
||||||
val = PRIMARY_BATTERY;
|
val = PRIMARY_BATTERY;
|
||||||
h8_charge_priority(val);
|
h8_charge_priority(val);
|
||||||
|
|
Loading…
Reference in New Issue