diff options
author | Sven Schnelle <svens@stackframe.org> | 2011-06-05 20:47:49 +0200 |
---|---|---|
committer | Sven Schnelle <svens@stackframe.org> | 2011-06-09 10:05:46 +0200 |
commit | 1b8068e24467d812752c71888c4880d3cac41cf8 (patch) | |
tree | 8aa3ade449cb9ba3f61cbb19f9f78dd4ee872fcb | |
parent | cc5dd98c1b93281651781643dfbc7efc7f34a174 (diff) |
H8 EC: add volume CMOS setting
Change-Id: I5332c8fa52556db34dfb5e772bf544f0323e823d
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/12
Tested-by: build bot (Jenkins)
-rw-r--r-- | src/ec/lenovo/h8/h8.c | 5 | ||||
-rw-r--r-- | src/ec/lenovo/h8/h8.h | 3 | ||||
-rw-r--r-- | src/mainboard/lenovo/t60/cmos.layout | 1 | ||||
-rw-r--r-- | src/mainboard/lenovo/x60/cmos.layout | 1 |
4 files changed, 10 insertions, 0 deletions
diff --git a/src/ec/lenovo/h8/h8.c b/src/ec/lenovo/h8/h8.c index e2e5f998be..ef308b1bac 100644 --- a/src/ec/lenovo/h8/h8.c +++ b/src/ec/lenovo/h8/h8.c @@ -25,6 +25,7 @@ #include <stdlib.h> #include "h8.h" #include "chip.h" +#include <pc80/mc146818rtc.h> void h8_trackpoint_enable(int on) { @@ -95,6 +96,8 @@ int h8_ultrabay_device_present(void) static void h8_enable(device_t dev) { struct ec_lenovo_h8_config *conf = dev->chip_info; + u8 val; + h8_log_ec_version(); ec_write(H8_CONFIG0, conf->config0); @@ -127,6 +130,8 @@ static void h8_enable(device_t dev) h8_wlan_enable(conf->wlan_enable); h8_trackpoint_enable(conf->trackpoint_enable); + if (!get_option(&val, "volume")) + ec_write(H8_VOLUME_CONTROL, val); } struct chip_operations ec_lenovo_h8_ops = { diff --git a/src/ec/lenovo/h8/h8.h b/src/ec/lenovo/h8/h8.h index b5d8f017bf..c87ace43c9 100644 --- a/src/ec/lenovo/h8/h8.h +++ b/src/ec/lenovo/h8/h8.h @@ -70,6 +70,9 @@ int h8_ultrabay_device_present(void); #define H8_FAN_CONTROL 0x2f #define H8_FAN_CONTROL_AUTO 0x80 + +#define H8_VOLUME_CONTROL 0x30 +#define H8_VOLUME_CONTROL_MUTE 0x40 /* Embedded controller events */ #define H8_EVENT_FN_F1 0x10 #define H8_EVENT_FN_F2 0x11 diff --git a/src/mainboard/lenovo/t60/cmos.layout b/src/mainboard/lenovo/t60/cmos.layout index 3144c1e4cd..a946b4b120 100644 --- a/src/mainboard/lenovo/t60/cmos.layout +++ b/src/mainboard/lenovo/t60/cmos.layout @@ -108,6 +108,7 @@ entries 1052 4 r 0 C1DRT1 1060 1 e 1 touchpad +1064 8 h 0 volume # ----------------------------------------------------------------- enumerations diff --git a/src/mainboard/lenovo/x60/cmos.layout b/src/mainboard/lenovo/x60/cmos.layout index c8790789b8..1875e599e6 100644 --- a/src/mainboard/lenovo/x60/cmos.layout +++ b/src/mainboard/lenovo/x60/cmos.layout @@ -107,6 +107,7 @@ entries 1048 4 r 0 C0DRT1 1052 4 r 0 C1DRT1 +1064 8 h 0 volume # ----------------------------------------------------------------- enumerations |