From 012ef7735d6878ef63aa0315863636bfb88e6c1f Mon Sep 17 00:00:00 2001 From: Bill XIE Date: Thu, 29 Nov 2018 20:37:35 +0800 Subject: mainboard/lenovo/t430s: Add ThinkPad T431s as a variant The code is based on autoport and that for T430s Tested: - CPU i5-3337U - Slotted DIMM 2GiB - Soldered RAM 4GiB from samsung (There may be more models here) - Camera - pci-e and usb2 on M.2 slot with A key for wlan - sata and usb2 (no superspeed components) on M.2 slot with B key for wwan - On board SDHCI connected to pci-e - USB3 ports - libgfxinit-based graphic init - NVRAM options for North and South bridges - Sound - Thinkpad EC - S3 - TPM1 on LPC - EHCI debug on SSP2 (USB3 port on the left) - Linux 4.9.110-3 within Debian GNU/Linux stable, loaded from Linux payload (Heads), Seabios may also work. Not tested: - Fingerprint reader on USB2 (not present on mine) - Keyboard backlight (not present on mine) - "sticky_fn" flag in nvram Not implemented yet: - Fn locking in nvram (may not be identical to "sticky_fn") - C-based native graphic init (since T431s has eDP instead of LVDS) - Detecting the model of Soldered RAM at runtime, and loading the corresponding SPD datum (3 observed) from CBFS (the mechanism may be similar to that on x1_carbon_gen1 and s230u, but I do not know how to find gpio ports for that, and SPD data stored in vendor firmware.) Change-Id: Ic8062cacf5e8232405bb5757e1b1d063541f354a Signed-off-by: Bill XIE Reviewed-on: https://review.coreboot.org/c/30021 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Rudolph --- Documentation/mainboard/lenovo/t431s.md | 42 +++++++++++++++++++++ .../mainboard/lenovo/t431s_bc_removed.jpg | Bin 0 -> 84127 bytes .../mainboard/lenovo/t431s_flash_chip.jpg | Bin 0 -> 62186 bytes .../mainboard/lenovo/t431s_programming.jpg | Bin 0 -> 68522 bytes 4 files changed, 42 insertions(+) create mode 100644 Documentation/mainboard/lenovo/t431s.md create mode 100644 Documentation/mainboard/lenovo/t431s_bc_removed.jpg create mode 100644 Documentation/mainboard/lenovo/t431s_flash_chip.jpg create mode 100644 Documentation/mainboard/lenovo/t431s_programming.jpg (limited to 'Documentation/mainboard/lenovo') diff --git a/Documentation/mainboard/lenovo/t431s.md b/Documentation/mainboard/lenovo/t431s.md new file mode 100644 index 0000000000..146e1c12a3 --- /dev/null +++ b/Documentation/mainboard/lenovo/t431s.md @@ -0,0 +1,42 @@ +# Lenovo T431s + +## Disassembly Instructions + +You must remove the following parts before flipping the mainboard +off the main frame: + +![t431s_bc_removed](t431s_bc_removed.jpg) + +* Base cover +* Hard disk drive +* Battery pack +* Keyboard + +Its [Hardware Maintenance Manual](https://thinkpads.com/support/hmm/hmm_pdf/t431s_hmm_en_0c10894_02.pdf) could be used as a guidance of disassembly. + +![t431s_flash_chip](t431s_flash_chip.jpg) + +The WSON-8 flash chip (surrounded with red circle in the photo above) +sits on the opposite side of the mainboard, under a piece of insulating +tape. If solders between the chip and soldering pads fortunately +overflows beside the chip as tiny tin balls attached to soldering pads, +it will be possible to use a pomona 5250 clip to hold the chip, with +its metal tips just attached to tin balls, thus connecting the chip to +the programmer. + +![t431s_programming](t431s_programming.jpg) + +```eval_rst +:doc:`../../flash_tutorial/ext_power` +``` + +Currently, detecting the model of soldered RAM at runtime and loading +the corresponding SPD datum from CBFS is not implemented yet. You may +have to dump the SPD data when running the vendor firmware with +inteltool, and replace the content of the SPD hex with what is dumped. + +(the mechanism may be similar to that on x1_carbon_gen1 and s230u, but +I do not know how to find gpio ports for that, and SPD data stored in +vendor firmware.) + +[T420 / T520 / X220 / T420s / W520 common]: xx20_series.md diff --git a/Documentation/mainboard/lenovo/t431s_bc_removed.jpg b/Documentation/mainboard/lenovo/t431s_bc_removed.jpg new file mode 100644 index 0000000000..4f8ddd6bf6 Binary files /dev/null and b/Documentation/mainboard/lenovo/t431s_bc_removed.jpg differ diff --git a/Documentation/mainboard/lenovo/t431s_flash_chip.jpg b/Documentation/mainboard/lenovo/t431s_flash_chip.jpg new file mode 100644 index 0000000000..48c861e8b1 Binary files /dev/null and b/Documentation/mainboard/lenovo/t431s_flash_chip.jpg differ diff --git a/Documentation/mainboard/lenovo/t431s_programming.jpg b/Documentation/mainboard/lenovo/t431s_programming.jpg new file mode 100644 index 0000000000..c49562a9b7 Binary files /dev/null and b/Documentation/mainboard/lenovo/t431s_programming.jpg differ -- cgit v1.2.3