summaryrefslogtreecommitdiff
path: root/src/mainboard/lenovo/x201
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/lenovo/x201')
-rw-r--r--src/mainboard/lenovo/x201/Kconfig4
-rw-r--r--src/mainboard/lenovo/x201/acpi_tables.c2
-rw-r--r--src/mainboard/lenovo/x201/devicetree.cb14
-rw-r--r--src/mainboard/lenovo/x201/romstage.c2
4 files changed, 20 insertions, 2 deletions
diff --git a/src/mainboard/lenovo/x201/Kconfig b/src/mainboard/lenovo/x201/Kconfig
index 803ce65eca..c82971f568 100644
--- a/src/mainboard/lenovo/x201/Kconfig
+++ b/src/mainboard/lenovo/x201/Kconfig
@@ -16,6 +16,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select HAVE_ACPI_RESUME
select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
+ select SUPERIO_NSC_PC87382
+ select DRIVERS_LENOVO_WACOM
config MAINBOARD_DIR
string
@@ -27,7 +29,7 @@ config MAINBOARD_PART_NUMBER
config MAINBOARD_VERSION
string
- default "ThinkPad X201"
+ default "ThinkPad X201 / X201s / X201t"
config MAINBOARD_VENDOR
string
diff --git a/src/mainboard/lenovo/x201/acpi_tables.c b/src/mainboard/lenovo/x201/acpi_tables.c
index 165de0d404..b6e99dd87c 100644
--- a/src/mainboard/lenovo/x201/acpi_tables.c
+++ b/src/mainboard/lenovo/x201/acpi_tables.c
@@ -31,6 +31,7 @@
#include <device/pci.h>
#include <device/pci_ids.h>
#include "southbridge/intel/ibexpeak/nvs.h"
+#include "drivers/lenovo/lenovo.h"
extern const unsigned char AmlCode[];
#if CONFIG_HAVE_ACPI_SLIC
@@ -93,6 +94,7 @@ unsigned long acpi_fill_ssdt_generator(unsigned long current,
const char *oem_table_id)
{
generate_cpu_entries();
+ drivers_lenovo_serial_ports_ssdt_generate("\\_SB.PCI0.LPCB", 0);
return (unsigned long)(acpigen_get_current());
}
diff --git a/src/mainboard/lenovo/x201/devicetree.cb b/src/mainboard/lenovo/x201/devicetree.cb
index 9053f8935e..1db5bf055e 100644
--- a/src/mainboard/lenovo/x201/devicetree.cb
+++ b/src/mainboard/lenovo/x201/devicetree.cb
@@ -143,6 +143,20 @@ chip northbridge/intel/nehalem
end
device pci 1f.0 on # PCI-LPC bridge
subsystemid 0x17aa 0x2166
+ 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 # IDE/SATA
subsystemid 0x17aa 0x2168
diff --git a/src/mainboard/lenovo/x201/romstage.c b/src/mainboard/lenovo/x201/romstage.c
index a18536aae4..2f4efc8baf 100644
--- a/src/mainboard/lenovo/x201/romstage.c
+++ b/src/mainboard/lenovo/x201/romstage.c
@@ -54,7 +54,7 @@ static void pch_enable_lpc(void)
/* Enable EC, PS/2 Keyboard/Mouse */
pci_write_config16(PCH_LPC_DEV, LPC_EN,
CNF2_LPC_EN | CNF1_LPC_EN | MC_LPC_EN | KBC_LPC_EN |
- COMA_LPC_EN);
+ COMA_LPC_EN | GAMEL_LPC_EN);
pci_write_config32(PCH_LPC_DEV, LPC_GEN1_DEC, 0x7c1601);
pci_write_config32(PCH_LPC_DEV, LPC_GEN2_DEC, 0xc15e1);