aboutsummaryrefslogtreecommitdiff
path: root/src/ec/lenovo
diff options
context:
space:
mode:
authorSven Schnelle <svens@stackframe.org>2011-10-15 17:31:01 +0200
committerSven Schnelle <svens@stackframe.org>2011-10-20 16:06:35 +0200
commitb5381105325391553b17c6ec2455233fc27e73b8 (patch)
tree244f77d68819d0cd504ac3ac2ec47d56fb78c349 /src/ec/lenovo
parent2588db496d8037c9e548a9dd75360a3785b0ae7f (diff)
T60: Add support for Ultrabay Legacy I/O devices (40Y8122)
Those modules have basically the same Super I/O capabilities as the Docking station. Unfortunately, the Super I/O in the module shares the same I/O address as the Docking station, so we're not allowed to connect the LPC Docking Bus if such a module is present. To be able to detect this device and use it as early console for coreboot, we have to initialize the GPIO Controller before, as this device is detected via GPIO06. Change-Id: If7c38bb6797f76cf28f09f3614ab9a33878571fb Signed-off-by: Sven Schnelle <svens@stackframe.org> Reviewed-on: http://review.coreboot.org/282 Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/ec/lenovo')
-rw-r--r--src/ec/lenovo/pmh7/Makefile.inc2
-rw-r--r--src/ec/lenovo/pmh7/pmh7.c4
2 files changed, 6 insertions, 0 deletions
diff --git a/src/ec/lenovo/pmh7/Makefile.inc b/src/ec/lenovo/pmh7/Makefile.inc
index 4c891b25ab..e441980def 100644
--- a/src/ec/lenovo/pmh7/Makefile.inc
+++ b/src/ec/lenovo/pmh7/Makefile.inc
@@ -1 +1,3 @@
driver-y += pmh7.c
+smm-$(CONFIG_HAVE_SMI_HANDLER) += pmh7.c
+romstage-y += pmh7.c
diff --git a/src/ec/lenovo/pmh7/pmh7.c b/src/ec/lenovo/pmh7/pmh7.c
index 30460c9021..844e233e9f 100644
--- a/src/ec/lenovo/pmh7/pmh7.c
+++ b/src/ec/lenovo/pmh7/pmh7.c
@@ -91,6 +91,8 @@ void pmh7_register_write(int reg, int val)
outb(val, EC_LENOVO_PMH7_DATA);
}
+#ifndef __PRE_RAM__
+#ifndef __SMM__
static void enable_dev(device_t dev)
{
struct ec_lenovo_pmh7_config *conf = dev->chip_info;
@@ -115,3 +117,5 @@ struct chip_operations ec_lenovo_pmh7_ops = {
CHIP_NAME("Lenovo Power Management Hardware Hub 7")
.enable_dev = enable_dev,
};
+#endif
+#endif