diff options
author | Vladimir Serbinenko <phcoder@gmail.com> | 2014-01-11 10:29:14 +0100 |
---|---|---|
committer | Vladimir Serbinenko <phcoder@gmail.com> | 2014-01-12 17:42:11 +0100 |
commit | fc7090b249ddfc7d5332ca8bee0f322607643960 (patch) | |
tree | 4c8462b0e78136a05d26081ae6654257368aca92 | |
parent | 128741682250e196ccc9ff0bf9e7a5db5dfcdbd3 (diff) | |
download | coreboot-fc7090b249ddfc7d5332ca8bee0f322607643960.tar.xz |
ec/lenovo/h8: Add an option to swap ctrl and fn.
Tested on my X201 and X230.
Change-Id: I3c7ec65681157d15c6e87eea64779a08e03ae5a8
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-on: http://review.coreboot.org/4660
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
-rw-r--r-- | src/ec/lenovo/h8/h8.c | 12 | ||||
-rw-r--r-- | src/mainboard/lenovo/t60/cmos.layout | 1 | ||||
-rw-r--r-- | src/mainboard/lenovo/x201/cmos.default | 1 | ||||
-rw-r--r-- | src/mainboard/lenovo/x201/cmos.layout | 3 | ||||
-rw-r--r-- | src/mainboard/lenovo/x60/cmos.default | 1 | ||||
-rw-r--r-- | src/mainboard/lenovo/x60/cmos.layout | 1 |
6 files changed, 18 insertions, 1 deletions
diff --git a/src/ec/lenovo/h8/h8.c b/src/ec/lenovo/h8/h8.c index 8dfec0614c..e44a2781f5 100644 --- a/src/ec/lenovo/h8/h8.c +++ b/src/ec/lenovo/h8/h8.c @@ -62,6 +62,14 @@ static void h8_wwan_enable(int on) ec_clr_bit(0x3a, 6); } +static void h8_fn_ctrl_swap(int on) +{ + if (on) + ec_set_bit(0xce, 4); + else + ec_clr_bit(0xce, 4); +} + static void h8_log_ec_version(void) { char ecfw[17]; @@ -190,6 +198,10 @@ static void h8_enable(device_t dev) h8_wwan_enable(val); + if (get_option(&val, "fn_ctrl_swap") != CB_SUCCESS) + val = 0; + h8_fn_ctrl_swap(val); + if (get_option(&val, "first_battery") != CB_SUCCESS) val = 1; diff --git a/src/mainboard/lenovo/t60/cmos.layout b/src/mainboard/lenovo/t60/cmos.layout index a179752960..10f75c03a7 100644 --- a/src/mainboard/lenovo/t60/cmos.layout +++ b/src/mainboard/lenovo/t60/cmos.layout @@ -112,6 +112,7 @@ entries 1062 1 e 1 wwan 1064 8 h 0 volume 1072 1 e 9 first_battery +1074 1 e 1 fn_ctrl_swap # ----------------------------------------------------------------- enumerations diff --git a/src/mainboard/lenovo/x201/cmos.default b/src/mainboard/lenovo/x201/cmos.default index 4577e70cca..ae57b97b88 100644 --- a/src/mainboard/lenovo/x201/cmos.default +++ b/src/mainboard/lenovo/x201/cmos.default @@ -9,3 +9,4 @@ first_battery=Primary bluetooth=Enable wwan=Enable touchpad=Enable +fn_ctrl_swap=Disable diff --git a/src/mainboard/lenovo/x201/cmos.layout b/src/mainboard/lenovo/x201/cmos.layout index 39591783e3..f91fb5190b 100644 --- a/src/mainboard/lenovo/x201/cmos.layout +++ b/src/mainboard/lenovo/x201/cmos.layout @@ -90,7 +90,8 @@ entries 412 1 e 1 bluetooth 413 1 e 1 wwan 414 1 e 1 touchpad -#415 569 r 0 unused +417 1 e 1 fn_ctrl_swap +#419 565 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 5d82ff0078..a2620a94eb 100644 --- a/src/mainboard/lenovo/x60/cmos.default +++ b/src/mainboard/lenovo/x60/cmos.default @@ -12,3 +12,4 @@ volume=0x3 tft_brightness=0xff first_battery=Primary bluetooth=Enable +fn_ctrl_swap=Disable diff --git a/src/mainboard/lenovo/x60/cmos.layout b/src/mainboard/lenovo/x60/cmos.layout index 45bb95abab..9482072744 100644 --- a/src/mainboard/lenovo/x60/cmos.layout +++ b/src/mainboard/lenovo/x60/cmos.layout @@ -112,6 +112,7 @@ entries 1080 1 e 9 first_battery 1081 1 e 1 bluetooth 1082 1 e 1 wwan +1085 1 e 1 fn_ctrl_swap # ----------------------------------------------------------------- enumerations |