diff --git a/src/ec/lenovo/pmh7/pmh7.c b/src/ec/lenovo/pmh7/pmh7.c index 9607c83e52..a4d0ccc466 100644 --- a/src/ec/lenovo/pmh7/pmh7.c +++ b/src/ec/lenovo/pmh7/pmh7.c @@ -55,6 +55,14 @@ void pmh7_touchpad_enable(int onoff) 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 @@ static void enable_dev(device_t dev) 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 6e13b17965..4cd9535b7b 100644 --- a/src/ec/lenovo/pmh7/pmh7.h +++ b/src/ec/lenovo/pmh7/pmh7.h @@ -35,4 +35,5 @@ void pmh7_backlight_enable(int onoff); 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 9017405bba..fb036e0054 100644 --- a/src/mainboard/lenovo/t60/cmos.layout +++ b/src/mainboard/lenovo/t60/cmos.layout @@ -113,6 +113,7 @@ entries 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 c0c0d38cdd..29eb509e0b 100644 --- a/src/mainboard/lenovo/x201/cmos.default +++ b/src/mainboard/lenovo/x201/cmos.default @@ -10,6 +10,7 @@ bluetooth=Enable 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 0f8cfa73e2..6cf3787ddd 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 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 adbafb54ed..7520d152e6 100644 --- a/src/mainboard/lenovo/x60/cmos.default +++ b/src/mainboard/lenovo/x60/cmos.default @@ -13,6 +13,7 @@ tft_brightness=0xff 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 b15f03b65b..469371e415 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 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