aboutsummaryrefslogtreecommitdiffstats
path: root/src/mainboard/lenovo
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/lenovo')
-rw-r--r--src/mainboard/lenovo/x200/Kconfig2
-rw-r--r--src/mainboard/lenovo/x200/Kconfig.name2
-rw-r--r--src/mainboard/lenovo/x200/devicetree.cb16
-rw-r--r--src/mainboard/lenovo/x200/mainboard.c7
4 files changed, 26 insertions, 1 deletions
diff --git a/src/mainboard/lenovo/x200/Kconfig b/src/mainboard/lenovo/x200/Kconfig
index 01556b33e..7bae12d56 100644
--- a/src/mainboard/lenovo/x200/Kconfig
+++ b/src/mainboard/lenovo/x200/Kconfig
@@ -21,6 +21,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
select INTEL_INT15
+ select SUPERIO_NSC_PC87382
+ select DRIVERS_LENOVO_WACOM
config MAINBOARD_DIR
string
diff --git a/src/mainboard/lenovo/x200/Kconfig.name b/src/mainboard/lenovo/x200/Kconfig.name
index bda1c1f48..8e1dd430b 100644
--- a/src/mainboard/lenovo/x200/Kconfig.name
+++ b/src/mainboard/lenovo/x200/Kconfig.name
@@ -1,2 +1,2 @@
config BOARD_LENOVO_X200
- bool "ThinkPad X200"
+ bool "ThinkPad X200 / X200t"
diff --git a/src/mainboard/lenovo/x200/devicetree.cb b/src/mainboard/lenovo/x200/devicetree.cb
index cc27d2594..09bc08f7c 100644
--- a/src/mainboard/lenovo/x200/devicetree.cb
+++ b/src/mainboard/lenovo/x200/devicetree.cb
@@ -176,6 +176,22 @@ chip northbridge/intel/gm45
register "eventc_enable" = "0xff"
register "eventd_enable" = "0xff"
end
+
+ chip superio/nsc/pc87382
+ device pnp 164e.3 on # Digitizer
+ io 0x60 = 0x200
+ irq 0x29 = 0xb0
+ irq 0x70 = 0x5
+ irq 0xf0 = 0x82
+ end
+ # IR, not connected
+ device pnp 164e.2 off end
+ # GPIO, not connected
+ device pnp 164e.7 off end
+ # DLPC, not connected
+ device pnp 164e.19 off end
+ end
+
end
device pci 1f.2 on # SATA/IDE 1
subsystemid 0x17aa 0x20f8
diff --git a/src/mainboard/lenovo/x200/mainboard.c b/src/mainboard/lenovo/x200/mainboard.c
index 5354834e3..0ecffdac9 100644
--- a/src/mainboard/lenovo/x200/mainboard.c
+++ b/src/mainboard/lenovo/x200/mainboard.c
@@ -31,6 +31,7 @@
#include <ec/lenovo/pmh7/pmh7.h>
#include <ec/acpi/ec.h>
#include <ec/lenovo/h8/h8.h>
+#include "drivers/lenovo/lenovo.h"
#include "cstates.c" /* Include it, as the linker won't find
the overloaded weak function in there. */
@@ -49,6 +50,11 @@ const char *smbios_mainboard_bios_version(void)
return s;
}
+static void fill_ssdt(void)
+{
+ drivers_lenovo_serial_ports_ssdt_generate("\\_SB.PCI0.LPCB", 0);
+}
+
static void mainboard_init(device_t dev)
{
/* This sneaked in here, because X200 SuperIO chip isn't really
@@ -62,6 +68,7 @@ static void mainboard_enable(device_t dev)
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 2);
dev->ops->init = mainboard_init;
+ dev->ops->acpi_fill_ssdt_generator = fill_ssdt;
}
struct chip_operations mainboard_ops = {