Vladimir Serbinenko (phcoder@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5113
-gerrit
commit 3bfa7b0d831ca46d56ec99a5e8991d950186d69c Author: Vladimir Serbinenko phcoder@gmail.com Date: Tue Feb 4 15:01:04 2014 +0100
lenovo/x60: Support digitizer on X60T variant.
Change-Id: If2e699cfa5d11f2cb2b9c254fc6fc71781dce228 Signed-off-by: Vladimir Serbinenko phcoder@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..4e994ba 100644 --- a/src/mainboard/lenovo/x60/acpi/superio.asl +++ b/src/mainboard/lenovo/x60/acpi/superio.asl @@ -0,0 +1,34 @@ + Device (COMA) // Serial + { + Name(_HID, EISAID("PNP0501")) + Name(_UID, 1) + + Name(_CRS, ResourceTemplate() + { + IO (Decode16, 0x3f8, 0x3f8, 0x01, 0x08) + IRQNoFlags () {4} + }) + + Method (_STA, 0) + { + Return (0xf) + } + } + +#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 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