From eada34faaa19766ed9e1584130b1a99491f47487 Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Sat, 11 Jan 2014 04:22:35 +0100 Subject: ec/lenovo/h8: Make trackpoint enable a CMOS option. To be consistent with touchpad counterpart. Change-Id: I72d09b41b964f80a81fbf409ef69dd368834a3e2 Signed-off-by: Vladimir Serbinenko Reviewed-on: http://review.coreboot.org/4654 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- src/ec/lenovo/pmh7/pmh7.c | 12 ++++++++++++ src/ec/lenovo/pmh7/pmh7.h | 1 + 2 files changed, 13 insertions(+) (limited to 'src/ec/lenovo') 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 -- cgit v1.2.3