summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ec/lenovo/h8/h8.c5
-rw-r--r--src/ec/lenovo/h8/h8.h3
-rw-r--r--src/mainboard/lenovo/t60/cmos.layout1
-rw-r--r--src/mainboard/lenovo/x60/cmos.layout1
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