[coreboot-gerrit] Patch set updated for coreboot: 22576b3 lenovo/x60: Add X60T variant as separate port.
Vladimir Serbinenko (phcoder@gmail.com)
gerrit at coreboot.org
Fri Feb 14 02:51:36 CET 2014
Vladimir Serbinenko (phcoder at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5113
-gerrit
commit 22576b37642f84468668259992ca085567f26131
Author: Vladimir Serbinenko <phcoder at gmail.com>
Date: Tue Feb 4 15:01:04 2014 +0100
lenovo/x60: Add X60T variant as separate port.
X60 and X60T differ only by presence of wacom table on
serial port on internal SuperI/O. However detecting this
difference would cost in boot time and code complexity as
detecting requires an attempt to communicate with wacom
over slow serial connection and waiting for it to wakeup.
Since presence of wacom is a characterisitc of model and
know to user at compile time, add it as separate mobo
instead.
Change-Id: If2e699cfa5d11f2cb2b9c254fc6fc71781dce228
Signed-off-by: Vladimir Serbinenko <phcoder at gmail.com>
---
src/mainboard/lenovo/Kconfig | 6 ++++++
src/mainboard/lenovo/x60/Kconfig | 6 +++++-
src/mainboard/lenovo/x60/acpi/superio.asl | 34 +++++++++++++++++++++++++++++++
src/mainboard/lenovo/x60/devicetree.cb | 7 +++++--
src/mainboard/lenovo/x60/mainboard.c | 5 +++++
src/mainboard/lenovo/x60t/Kconfig | 10 +++++++++
src/mainboard/lenovo/x60t/board_info.txt | 7 +++++++
7 files changed, 72 insertions(+), 3 deletions(-)
diff --git a/src/mainboard/lenovo/Kconfig b/src/mainboard/lenovo/Kconfig
index a29fdbf..b16ef7d 100644
--- a/src/mainboard/lenovo/Kconfig
+++ b/src/mainboard/lenovo/Kconfig
@@ -12,6 +12,11 @@ config BOARD_LENOVO_X60
ThinkPad X60s (Model 1702, 1703)
ThinkPad X60 (Model 1709)
+config BOARD_LENOVO_X60T
+ bool "ThinkPad X60 Tablet"
+ help
+ Lenovo X60 convertible tablet
+
config BOARD_LENOVO_X201
bool "ThinkPad X201"
help
@@ -33,6 +38,7 @@ config BOARD_LENOVO_T60
endchoice
source "src/mainboard/lenovo/x60/Kconfig"
+source "src/mainboard/lenovo/x60t/Kconfig"
source "src/mainboard/lenovo/x201/Kconfig"
source "src/mainboard/lenovo/x230/Kconfig"
source "src/mainboard/lenovo/t60/Kconfig"
diff --git a/src/mainboard/lenovo/x60/Kconfig b/src/mainboard/lenovo/x60/Kconfig
index 7ed2665..36c00bc 100644
--- a/src/mainboard/lenovo/x60/Kconfig
+++ b/src/mainboard/lenovo/x60/Kconfig
@@ -1,4 +1,4 @@
-if BOARD_LENOVO_X60
+if BOARD_LENOVO_X60 || BOARD_LENOVO_X60T
config BOARD_SPECIFIC_OPTIONS # dummy
def_bool y
@@ -39,10 +39,14 @@ config DCACHE_RAM_SIZE
hex
default 0x8000
+if BOARD_LENOVO_X60
+
config MAINBOARD_PART_NUMBER
string
default "ThinkPad X60 / X60s"
+endif
+
config MMCONF_BASE_ADDRESS
hex
default 0xf0000000
diff --git a/src/mainboard/lenovo/x60/acpi/superio.asl b/src/mainboard/lenovo/x60/acpi/superio.asl
index e69de29..6786da7 100644
--- a/src/mainboard/lenovo/x60/acpi/superio.asl
+++ b/src/mainboard/lenovo/x60/acpi/superio.asl
@@ -0,0 +1,34 @@
+#if IS_ENABLED(CONFIG_BOARD_LENOVO_X60T)
+ Device (DTR) // Digitizer
+ {
+ Name(_HID, EISAID("WACF004"))
+
+ Name(_CRS, ResourceTemplate()
+ {
+ IO (Decode16, 0x200, 0x200, 0x01, 0x08)
+ IRQNoFlags () {5}
+ })
+
+ Method (_STA, 0)
+ {
+ Return (0xf)
+ }
+ }
+#endif
+
+ Device (COMA) // Serial
+ {
+ Name(_HID, EISAID("PNP0501"))
+ Name(_UID, 2)
+
+ Name(_CRS, ResourceTemplate()
+ {
+ IO (Decode16, 0x3f8, 0x3f8, 0x01, 0x08)
+ IRQNoFlags () {4}
+ })
+
+ Method (_STA, 0)
+ {
+ Return (0xf)
+ }
+ }
diff --git a/src/mainboard/lenovo/x60/devicetree.cb b/src/mainboard/lenovo/x60/devicetree.cb
index 3880f18..5b4e37f 100644
--- a/src/mainboard/lenovo/x60/devicetree.cb
+++ b/src/mainboard/lenovo/x60/devicetree.cb
@@ -127,8 +127,11 @@ chip northbridge/intel/i945
io 0x60 = 0x2f8
end
- device pnp 164e.3 off # Serial Port
- io 0x60 = 0x3f8
+ device pnp 164e.3 on # Digitizer
+ io 0x60 = 0x200
+ irq 0x29 = 0xb0
+ irq 0x70 = 0x5
+ irq 0xf0 = 0x82
end
device pnp 164e.7 on # GPIO
diff --git a/src/mainboard/lenovo/x60/mainboard.c b/src/mainboard/lenovo/x60/mainboard.c
index d1fcb7b..be39674 100644
--- a/src/mainboard/lenovo/x60/mainboard.c
+++ b/src/mainboard/lenovo/x60/mainboard.c
@@ -150,8 +150,13 @@ static int mainboard_smbios_data(device_t dev, int *handle, unsigned long *curre
static void mainboard_enable(device_t dev)
{
+ device_t devwacom;
dev->ops->init = mainboard_init;
dev->ops->get_smbios_data = mainboard_smbios_data;
+
+ devwacom = dev_find_slot_pnp (0x164e, 3);
+ if (devwacom)
+ devwacom->enabled = IS_ENABLED(CONFIG_BOARD_LENOVO_X60T);
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/lenovo/x60t/Kconfig b/src/mainboard/lenovo/x60t/Kconfig
new file mode 100644
index 0000000..57c99ca
--- /dev/null
+++ b/src/mainboard/lenovo/x60t/Kconfig
@@ -0,0 +1,10 @@
+if BOARD_LENOVO_X60T
+
+# Dummy for abuild
+#select ARCH_X86
+
+config MAINBOARD_PART_NUMBER
+ string
+ default "ThinkPad X60 Tablet"
+
+endif
diff --git a/src/mainboard/lenovo/x60t/board_info.txt b/src/mainboard/lenovo/x60t/board_info.txt
new file mode 100644
index 0000000..6ecdbd5
--- /dev/null
+++ b/src/mainboard/lenovo/x60t/board_info.txt
@@ -0,0 +1,7 @@
+Board name: X60 Tablet
+Category: laptop
+ROM package: SOIC-8
+ROM protocol: SPI
+ROM socketed: n
+Flashrom support: y
+Clone of: lenovo/x60
More information about the coreboot-gerrit
mailing list