ec/lenovo/h8: Make trackpoint enable a CMOS option.
To be consistent with touchpad counterpart.
Change-Id: I72d09b41b964f80a81fbf409ef69dd368834a3e2
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-on: http://review.coreboot.org/4654
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
diff --git a/src/ec/lenovo/pmh7/pmh7.c b/src/ec/lenovo/pmh7/pmh7.c
index 9607c83..a4d0ccc 100644
--- a/src/ec/lenovo/pmh7/pmh7.c
+++ b/src/ec/lenovo/pmh7/pmh7.c
@@ -55,6 +55,14 @@
pmh7_register_set_bit(0x51, 2);
}
+void pmh7_trackpoint_enable(int onoff)
+{
+ if (onoff)
+ pmh7_register_clear_bit(0x51, 0);
+ else
+ pmh7_register_set_bit(0x51, 0);
+}
+
void pmh7_ultrabay_power_enable(int onoff)
{
if (onoff)
@@ -116,6 +124,10 @@
if (get_option(&val, "touchpad") != CB_SUCCESS)
val = 1;
pmh7_touchpad_enable(val);
+
+ if (get_option(&val, "trackpoint") != CB_SUCCESS)
+ val = 1;
+ pmh7_trackpoint_enable(val);
}
struct chip_operations ec_lenovo_pmh7_ops = {
diff --git a/src/ec/lenovo/pmh7/pmh7.h b/src/ec/lenovo/pmh7/pmh7.h
index 6e13b17..4cd9535 100644
--- a/src/ec/lenovo/pmh7/pmh7.h
+++ b/src/ec/lenovo/pmh7/pmh7.h
@@ -35,4 +35,5 @@
void pmh7_dock_event_enable(int onoff);
void pmh7_touchpad_enable(int onoff);
void pmh7_ultrabay_power_enable(int onoff);
+void pmh7_trackpoint_enable(int onoff);
#endif
diff --git a/src/mainboard/lenovo/t60/cmos.layout b/src/mainboard/lenovo/t60/cmos.layout
index 9017405..fb036e0 100644
--- a/src/mainboard/lenovo/t60/cmos.layout
+++ b/src/mainboard/lenovo/t60/cmos.layout
@@ -113,6 +113,7 @@
1063 1 e 1 wlan
1064 8 h 0 volume
1072 1 e 9 first_battery
+1073 1 e 1 trackpoint
1074 1 e 1 fn_ctrl_swap
1075 1 e 1 sticky_fn
1076 1 e 1 power_management_beeps
diff --git a/src/mainboard/lenovo/x201/cmos.default b/src/mainboard/lenovo/x201/cmos.default
index c0c0d38..29eb509 100644
--- a/src/mainboard/lenovo/x201/cmos.default
+++ b/src/mainboard/lenovo/x201/cmos.default
@@ -10,6 +10,7 @@
wwan=Enable
wlan=Enable
touchpad=Enable
+trackpoint=Enable
fn_ctrl_swap=Disable
sticky_fn=Disable
power_management_beeps=Enable
diff --git a/src/mainboard/lenovo/x201/cmos.layout b/src/mainboard/lenovo/x201/cmos.layout
index 0f8cfa7..6cf3787 100644
--- a/src/mainboard/lenovo/x201/cmos.layout
+++ b/src/mainboard/lenovo/x201/cmos.layout
@@ -91,6 +91,7 @@
413 1 e 1 wwan
414 1 e 1 touchpad
415 1 e 1 wlan
+416 1 e 1 trackpoint
417 1 e 1 fn_ctrl_swap
418 1 e 1 sticky_fn
419 1 e 1 power_management_beeps
diff --git a/src/mainboard/lenovo/x60/cmos.default b/src/mainboard/lenovo/x60/cmos.default
index adbafb5..7520d15 100644
--- a/src/mainboard/lenovo/x60/cmos.default
+++ b/src/mainboard/lenovo/x60/cmos.default
@@ -13,6 +13,7 @@
first_battery=Primary
bluetooth=Enable
wlan=Enable
+trackpoint=Enable
fn_ctrl_swap=Disable
sticky_fn=Disable
power_management_beeps=Enable
diff --git a/src/mainboard/lenovo/x60/cmos.layout b/src/mainboard/lenovo/x60/cmos.layout
index b15f03b6..469371e 100644
--- a/src/mainboard/lenovo/x60/cmos.layout
+++ b/src/mainboard/lenovo/x60/cmos.layout
@@ -113,6 +113,7 @@
1081 1 e 1 bluetooth
1082 1 e 1 wwan
1083 1 e 1 wlan
+1084 1 e 1 trackpoint
1085 1 e 1 fn_ctrl_swap
1086 1 e 1 sticky_fn
1087 1 e 1 power_management_beeps