[coreboot-gerrit] New patch to review for coreboot: b08cb63 ec/lenovo/h8: Implement locking Fn option.

Vladimir Serbinenko (phcoder@gmail.com) gerrit at coreboot.org
Sat Jan 11 13:34:07 CET 2014


Vladimir Serbinenko (phcoder at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4661

-gerrit

commit b08cb63494a23e541f6a67d49563479ccc6fc442
Author: Vladimir Serbinenko <phcoder at gmail.com>
Date:   Sat Jan 11 10:55:31 2014 +0100

    ec/lenovo/h8: Implement locking Fn option.
    
    Useful for accessibility.
    
    Change-Id: I4da5adcea02428d936023891de08684cae77c44e
    Signed-off-by: Vladimir Serbinenko <phcoder at gmail.com>
---
 src/ec/lenovo/h8/h8.c                  | 12 ++++++++++++
 src/mainboard/lenovo/t60/cmos.layout   |  1 +
 src/mainboard/lenovo/x201/cmos.default |  1 +
 src/mainboard/lenovo/x201/cmos.layout  |  1 +
 src/mainboard/lenovo/x60/cmos.default  |  1 +
 src/mainboard/lenovo/x60/cmos.layout   |  1 +
 6 files changed, 17 insertions(+)

diff --git a/src/ec/lenovo/h8/h8.c b/src/ec/lenovo/h8/h8.c
index 409fb05..0e65a0e 100644
--- a/src/ec/lenovo/h8/h8.c
+++ b/src/ec/lenovo/h8/h8.c
@@ -70,6 +70,14 @@ static void h8_fn_ctrl_swap(int on)
 		ec_clr_bit(0xce, 4);
 }
 
+static void h8_fn_locking(int on)
+{
+	if (on)
+		ec_set_bit(0x0, 3);
+	else
+		ec_clr_bit(0x0, 3);
+}
+
 static void h8_log_ec_version(void)
 {
 	char ecfw[17];
@@ -202,6 +210,10 @@ static void h8_enable(device_t dev)
 		val = 0;
 	h8_fn_ctrl_swap(val);
 
+	if (get_option(&val, "locking_fn") != CB_SUCCESS)
+		val = 0;
+	h8_fn_locking(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 10f75c0..72172ea 100644
--- a/src/mainboard/lenovo/t60/cmos.layout
+++ b/src/mainboard/lenovo/t60/cmos.layout
@@ -113,6 +113,7 @@ entries
 1064         8       h       0        volume
 1072         1       e       9        first_battery
 1074         1       e       1        fn_ctrl_swap
+1075         1       e       1        locking_fn
 # -----------------------------------------------------------------
 
 enumerations
diff --git a/src/mainboard/lenovo/x201/cmos.default b/src/mainboard/lenovo/x201/cmos.default
index ae57b97..43b44d8 100644
--- a/src/mainboard/lenovo/x201/cmos.default
+++ b/src/mainboard/lenovo/x201/cmos.default
@@ -10,3 +10,4 @@ bluetooth=Enable
 wwan=Enable
 touchpad=Enable
 fn_ctrl_swap=Disable
+locking_fn=Disable
diff --git a/src/mainboard/lenovo/x201/cmos.layout b/src/mainboard/lenovo/x201/cmos.layout
index f91fb51..035c1b7 100644
--- a/src/mainboard/lenovo/x201/cmos.layout
+++ b/src/mainboard/lenovo/x201/cmos.layout
@@ -91,6 +91,7 @@ entries
 413         1       e       1        wwan
 414         1       e       1        touchpad
 417         1       e       1        fn_ctrl_swap
+418         1       e       1        locking_fn
 #419        565     r       0        unused
 
 # coreboot config options: check sums
diff --git a/src/mainboard/lenovo/x60/cmos.default b/src/mainboard/lenovo/x60/cmos.default
index a2620a9..3e0e094 100644
--- a/src/mainboard/lenovo/x60/cmos.default
+++ b/src/mainboard/lenovo/x60/cmos.default
@@ -13,3 +13,4 @@ tft_brightness=0xff
 first_battery=Primary
 bluetooth=Enable
 fn_ctrl_swap=Disable
+locking_fn=Disable
diff --git a/src/mainboard/lenovo/x60/cmos.layout b/src/mainboard/lenovo/x60/cmos.layout
index 9482072..8475fef 100644
--- a/src/mainboard/lenovo/x60/cmos.layout
+++ b/src/mainboard/lenovo/x60/cmos.layout
@@ -113,6 +113,7 @@ entries
 1081         1       e       1        bluetooth
 1082         1       e       1        wwan
 1085         1       e       1        fn_ctrl_swap
+1086         1       e       1        locking_fn
 # -----------------------------------------------------------------
 
 enumerations



More information about the coreboot-gerrit mailing list