From 83d4509a42cf0aa5491351c3066b9fac76dc0a87 Mon Sep 17 00:00:00 2001 From: Francis Rowe Date: Sat, 13 Dec 2014 06:31:36 -0500 Subject: Add ThinkPad X200S and X200 Tablet support to libreboot (also tidied up the X200-related documentation) --- (limited to 'docs/hcl/x200.html') diff --git a/docs/hcl/x200.html b/docs/hcl/x200.html index e7dbc29..18a1cf8 100644 --- a/docs/hcl/x200.html +++ b/docs/hcl/x200.html @@ -15,20 +15,16 @@

ThinkPad X200

- This sections relates to known hardware compatibility in libreboot. -

-

Or back to main index.

- It is believed that all X200 laptops are compatible. X200s and X200t may also work, - but require soldering (for the initial installation/flashing of a ROM image, or - dumping the current firmware). Only the X200 is tested so far. + It is believed that all X200 laptops are compatible. X200S and X200 Tablet will + also work, depending on the configuration.

It *might* be possible to put an X200 motherboard in an X201 chassis, though this is currently untested - by the libreboot project. The same may also apply between X200s and X201s; again, this is untested. + by the libreboot project. The same may also apply between X200S and X201S; again, this is untested. It's most likely true.

@@ -39,17 +35,135 @@

- The X200 laptops come with ME (and sometimes AMT) before flashing libreboot. Libreboot disables and removes it + The X200 laptops come with the ME (and sometimes AMT in addition) before flashing libreboot. Libreboot disables and removes it by using a modified descriptor: see x200_remove_me.html (contains notes, plus instructions)

- +

Flashing instructions can be found at ../install/index.html#flashrom_x200


+
+ +

Compatibility (without blobs)

+ +

+ Usual limitations apply for native graphics initialization + (no VBT and/or INT10H and only GRUB works so no BIOS, so no DOS/Windows support + - who cares? There is no system but GNU, and Linux is one of it's kernels). +

+ +

+ When connecting the AC adapter while system is powered off, system will then power on. + This probably happens in coreboot aswell (with or without blobs). + It's a minor annoyance, but it should be fixed (if it's not already fixed by now). +

+ +

+ This method of disabling the ME leaves the flash descriptor and gbe in place (non-functional data, fully documented) + and disables the ME using soft straps. This means that the gigabit ethernet will still work (putting the machine in + non-descriptor mode would wipe it out, not to mention require hardware modifications that most users will be unwilling to make). +

+ +

Hardware virtualization (vt-x)

+

+ The X200, when run without CPU microcode updates in coreboot, currently kernel panics + if running QEMU with vt-x enabled on 2 cores for the guest. With a single core enabled + for the guest, the guest panics (but the host is fine). Working around this in QEMU + might be possible; if not, software virtualization should work fine (it's just slower). +

+

+ The following errata datasheet from Intel might help with investigation: + http://download.intel.com/design/mobile/specupdt/320121.pdf +

+ +
+ +
+ +
+ +

X200S and X200 Tablet.

+ +

+ X200S and X200 Tablet have raminit issues at the time of writing + (GS45 chipset. X200 uses GM45). +

+ +

+ X200S is known to work, but only with certain CPU+RAM configurations. + The current stumbling block is RCOMP and SFF, mentioned in + https://www.cs.cmu.edu/~410/doc/minimal_boot.pdf. +

+

+ The X200 Tablet should also work, but it is not guaranteed. +

+

+ The issues mostly relate to raminit (memory initialization). With an + unpatched coreboot, you get the following: text/x200s/cblog00.txt. + No SODIMM combination that was tested would work. At first glance, it looks + like GS45 (chipset that X200S uses. X200 uses GM45) is unsupported, but + there is a workaround that can be used to make certain models of the X200S + work, depending on the RAM. +

+

+ The datasheet for GS45 describes two modes: low-performance and + high-performance. Low performance uses the SU range of ultra-low + voltage procesors (SU9400, for example), and high-performance uses the + SL range of processors (SL9400, for example). According to datasheets, + GS45 behaves very similarly to GM45 when operating in high-performance + mode. +

+

+ The theory then was that you could simply remove + the checks in coreboot and make it pass GS45 off as GM45; the idea is + that, with a high-performance mode CPU (SL9400, for example) it would + just boot up and work. +

+

+ This suspicion was confirmed with the following log: + text/x200s/cblog01.txt. + The memory modules in this case are 2x4GB. However, not all + configurations work: text/x200s/cblog02.txt (2x2GB) + and text/x200s/cblog03.txt (1x2GB) + show a failed bootup. +

+

+ This was then pushed as a patch for coreboot, which can be found at + http://review.coreboot.org/#/c/7786/ + (libreboot merges this patch in coreboot-libre now. Check the 'getcb' script in + src or git). +

+ +

Proper GS45 raminit

+

+ A new northbridge gs45 should be added to coreboot, based on gm45, + and a new port x200st (X200S and X200T) should be added based on + the x200 port. +

+

+ This port would have proper raminit. Alternatively, gs45 (if + raminit is taken to be the only issue with it) can be part of + gm45 northbridge support (and X200S/Tablet being part of the X200 + port) with conditional checks in the raminit that make raminit + work differently (as required) for GS45. nico_h and pgeorgi/patrickg + in the coreboot IRC channel should know more about raminit on gm45 + and likely gs45. +

+

+ pgeorgi recommends to run SerialICE on the factory BIOS (for X200S), + comparing it with X200 (factory BIOS) and X200 (gm45 raminit code + in coreboot), to see what the differences are. Then tweak raminit + code based on that. +

+ +
+ +
+

LCD compatibility list

Unless otherwise noted (italic styling, underlined), these are CCFL 1280x800 screens with TN panels inside. @@ -68,21 +182,21 @@ Tested LCD panels (confirmed working):

Untested LCD panels (status unknown):

Back to top of page. @@ -128,10 +242,10 @@

  • ThinkWiki.de - X200 Displayumbau (achtung: du musst lesen und/oder spreche deutsch; oder ein freund fur hilfe)
  • -

    X200s

    +

    X200S

    http://forum.thinkpads.com/viewtopic.php?p=618928#p618928 - explains that the X200s screens/assemblies are thinner. You need to replace the whole lid with one from a normal X200/X201. + explains that the X200S screens/assemblies are thinner. You need to replace the whole lid with one from a normal X200/X201.

    @@ -159,6 +273,48 @@


    +
    + +

    New targets

    + +

    + ThinkPad R400/R500/T400/T400S/T500/W500. These all use either the GM45 or GS45 + chipset, and should be easy-ish to port to coreboot (based on the X200 port and + the GM45 code), then adapted for use in libreboot. +

    + +

    + There may be issues (most likely to do with raminit) on some of them, and + some of them might sometimse come with ATI graphics (to be avoided) instead + of Intel. +

    + +

    + For example, the R400 currently has issues with raminit (not yet ported to coreboot) + where it's DDR3 memory reported as DDR2, as shown in + text/r400/r400_dmidecode.txt +

    + +
    + +
    + +
    + +

    Unsorted notes

    + +
    +<sgsit> do you know if it's possible to flash thinkpads over the LPC debug connector at the front edge?
    +<sgsit> that would make life much easier for machines like this
    +<sgsit> all the Wistron manufactured machines have this thing called a "golden finger", normally at the front edge of the board
    +<sgsit> you can plug a board in which gives diagnostic codes but i'm wondering whether it is capable of more
    +<sgsit> http://www.endeer.cz/bios.tools/bios.html
    +
    + +
    + +
    +

    Copyright © 2014 Francis Rowe <info@gluglug.org.uk>
    This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions. -- cgit v0.9.1