Difference between revisions of "Board:lenovo/t530"

From coreboot
Jump to: navigation, search
(Status)
 
(11 intermediate revisions by 3 users not shown)
Line 19: Line 19:
 
             +-1f.2  8086:1e03
 
             +-1f.2  8086:1e03
 
             \-1f.3  8086:1e22
 
             \-1f.3  8086:1e22
 +
 +
== Proprietary components status ==
 +
* CPU Microcode (optional)
 +
* ME(Management Engine) => you do not have to touch it (just leave it where it is)
 +
* EC(Embedded Controller) =>  you do not have to touch it (just leave it where it is)
  
 
== Status ==
 
== Status ==
 +
[[Intel_Native_Raminit]] has it's own status page.
  
 
{{Status|
 
{{Status|
Line 42: Line 48:
 
|RAM_DDR3_status = OK
 
|RAM_DDR3_status = OK
 
|RAM_DDR3_comments = Native
 
|RAM_DDR3_comments = Native
|RAM_dualchannel_status = N/A
+
|RAM_dualchannel_status = OK
|RAM_ecc_status = ?
+
|RAM_ecc_status = N/A
  
 
|IDE_status = N/A
 
|IDE_status = N/A
Line 64: Line 70:
 
|Onboard_CF_status = N/A
 
|Onboard_CF_status = N/A
 
|Onboard_PCMCIA_status = N/A
 
|Onboard_PCMCIA_status = N/A
 +
|Onboard_Wifi_status = Untested
 +
|Onboard_Bluetooth_status = Untested
  
 
|ISA_cards_status = N/A
 
|ISA_cards_status = N/A
Line 78: Line 86:
 
|PCIE_x4_status = N/A
 
|PCIE_x4_status = N/A
 
|PCIE_x8_status = N/A
 
|PCIE_x8_status = N/A
|PCIE_x16_status = N/A
+
|PCIE_x16_status = OK
 
|PCIE_x32_status = N/A
 
|PCIE_x32_status = N/A
 
|HTX_status = N/A
 
|HTX_status = N/A
Line 89: Line 97:
 
|PS2_mouse_status = OK
 
|PS2_mouse_status = OK
 
|Game_port_status = N/A
 
|Game_port_status = N/A
|IR_status = Untested
+
|IR_status = N/A
 
|IR_comments =  
 
|IR_comments =  
 
|Speaker_status = OK
 
|Speaker_status = OK
 
|DiskOnChip_status = N/A
 
|DiskOnChip_status = N/A
 +
 +
|Trackpoint_status = OK
 +
|Touchpad_status = OK
 +
|FnHotkeys_status = OK
 +
|Fingerprint_status = OK
 +
 +
|Docking_VGA_status = OK
 +
|Docking_LAN_status = OK
 +
|Docking_USB_status = OK
 +
|Docking_Audio_status = Untested
 +
|Docking_Displayport_status = Untested
 +
|Thinklight_status = OK
 +
|Webcam_status = OK
  
 
|Sensors_status = OK
 
|Sensors_status = OK
 
|Sensors_comments =
 
|Sensors_comments =
|Watchdog_status = Pending
+
|Watchdog_status = OK
|Watchdog_comments = What needs to be done here??
+
|Watchdog_comments = Disabled early.
 
|SMBus_status = OK
 
|SMBus_status = OK
 
|CAN_bus_status = N/A
 
|CAN_bus_status = N/A
Line 120: Line 141:
 
}}
 
}}
  
== Proprietary components status ==
+
== Building Firmware ==
* CPU Microcode (optional)
+
Please have a look at [[Intel_Sandybridge_Build_Tutorial]].
* ME(Management Engine) => you do not have to touch it (just leave it where it is)
 
* EC(Embedded Controller) =>  you do not have to touch it (just leave it where it is)
 
 
 
== GPIO layout ==
 
  
This information should not be considered reliable in any way, shape or form
+
== Nvidia GPU ==
 
+
State of dual graphics on Lenovo Notebooks: [[Board:lenovo/Nvidia_Optimus]]
* GPIO57 - OUT - controls..
 
 
 
== General Purpose Events layout ==
 
 
 
* GPE? - EC SCI
 
* GPE? - EC SMI
 
  
 
== Flashing ==
 
== Flashing ==
Line 144: Line 155:
 
* Descriptor (12K)
 
* Descriptor (12K)
 
* ME firmware (5M-12K)
 
* ME firmware (5M-12K)
 +
* GbE firmware
 
* System flash (7M)
 
* System flash (7M)
  
ME firmware is not readable.
+
The 'Descriptor' region locks the flash and so you need to flash externally. ME firmware region is not readable from the CPU.
Vendor firmware locks the flash and so you need to flash externally (unless until someone figures out a way around it).
+
 
 +
More precisely:
 +
 
 +
  0x54: 0x00000000 FREG0: Warning: Flash Descriptor region (0x00000000-0x00000fff) is read-only.
 +
  0x58: 0x0bff0500 FREG1: BIOS region (0x00500000-0x00bfffff) is read-write.
 +
  0x5C: 0x04ff0003 FREG2: Warning: Management Engine region (0x00003000-0x004fffff) is locked.
 +
  0x60: 0x00020001 FREG3: Gigabit Ethernet region (0x00001000-0x00002fff) is read-write
 +
 
 +
=== Outline ===
  
 
Proceeds as follows:
 
Proceeds as follows:
 
* Turn off your laptop, remove battery and AC adapter.
 
* Turn off your laptop, remove battery and AC adapter.
* Remove the keyboard.
+
* Dismantle machine.
* Connect your external SPI flasher to the top SPI chip which is under palm resting space, on left side of the board. It's a 4M chip. IF you've chosen CBFS_SIZE 4M or smaller that's the only chip you need to reflash.
+
* Connect external SPI flasher to the 4MB chip.
  
I recommend using SOIC clip. Depending on the flasher you use, you may have to use separate
+
Remark: You will need a SOIC clip to connect an external SPI programmer.
3.3V source. Make sure not to feed more than 3.3V ot the chip. I used
+
 
buspirate as flasher and 3.3V power lines from another computer.
+
=== Flashing Process ===
 +
 
 +
1.) Read out the flash to make a backup '''Twice''', compare to ensure they match and then save a
 +
copy of it on external media:
  
* Read the flash. Twice. Compare the files to be sure. Save a copy of it on
 
external media.
 
 
  flashrom -p <yourprogrammer> -r flash.bin
 
  flashrom -p <yourprogrammer> -r flash.bin
 
  flashrom -p <yourprogrammer> -r flash2.bin
 
  flashrom -p <yourprogrammer> -r flash2.bin
 
  diff flash.bin flash2.bin
 
  diff flash.bin flash2.bin
  
If they don't match, do not proceed. If the file is 8M, you're flashing wrong chip, connect to the right one.
+
'''If they don't match, do not proceed and if the file size is 8M you are flashing the wrong chip.'''
 +
 
 +
2.) Since you have to write only top 4M out of the 12M coreboot.rom, first split out those 4M by:
  
* Write the flash. Since you have to write only top 4M, first split out those 4M:
 
 
   dd of=top.rom bs=1M if=build/coreboot.rom skip=8
 
   dd of=top.rom bs=1M if=build/coreboot.rom skip=8
  
* Use flashrom to flash top.rom.
+
Then use flashrom to flash top.rom.
 
 
If you have trouble reading the chip successfully,
 
the most common problems are
 
*insufficient power supply
 
*bad contacts
 
*too long wires
 
*bad pinout
 
The cable shipped with buspirate was too long, and needed to be trimmed.
 
 
 
See also [http://flashrom.org/ISP In-System Programming]
 

Latest revision as of 13:39, 31 December 2017

Specification

The machine has:

- Chipset: Intel QM77
- GPU's: Intel Integrated HD Graphics
       : Discrete NVIDIA NVS 5400M (1 GB VRAM) with Optimus Technology

and pci configuration of:

-[0000:00]-+-00.0  8086:0154
           +-02.0  8086:0166
           +-16.0  8086:1e3a
           +-19.0  8086:1502
           +-1a.0  8086:1e2d
           +-1b.0  8086:1e20
           +-1c.0-[02]----00.0  1180:e823
           +-1c.1-[03]----00.0  8086:4238
           +-1c.2-[04-0b]--
           +-1d.0  8086:1e26
           +-1f.0  8086:1e55
           +-1f.2  8086:1e03
           \-1f.3  8086:1e22

Proprietary components status

  • CPU Microcode (optional)
  • ME(Management Engine) => you do not have to touch it (just leave it where it is)
  • EC(Embedded Controller) => you do not have to touch it (just leave it where it is)

Status

Intel_Native_Raminit has it's own status page.

Device/functionality Status Comments
CPU
CPU works OK
L1 cache enabled OK Always on
L2 cache enabled OK Always on
L3 cache enabled N/A
Multiple CPU support N/A
Multi-core support OK
Hardware virtualization OK
RAM
EDO N/A
SDRAM N/A
SO-DIMM N/A
DDR N/A
DDR2 N/A
DDR3 OK Native
Dual channel support OK
ECC support N/A
On-board Hardware
On-board IDE 3.5" N/A
On-board IDE 2.5" N/A
On-board SATA OK
On-board SCSI N/A
On-board USB OK
On-board VGA OK BIOS/console: works.
On-board Ethernet OK
On-board Audio OK Basic two channel audio works fine.
On-board Modem N/A
On-board FireWire N/A
On-board Smartcard reader N/A
On-board CompactFlash N/A
On-board PCMCIA N/A
On-board Wifi Untested
On-board Bluetooth Untested
On-board SD card reader N/A
Add-on slots/cards
ISA add-on cards N/A
Audio/Modem-Riser (AMR/CNR) cards N/A
PCI add-on cards OK
Mini-PCI add-on cards N/A
Mini-PCI-Express add-on cards Unknown
PCI-X add-on cards N/A
AGP graphics cards N/A
PCI Express x1 add-on cards OK
PCI Express x2 add-on cards N/A
PCI Express x4 add-on cards N/A
PCI Express x8 add-on cards N/A
PCI Express x16 add-on cards OK
PCI Express x32 add-on cards N/A
HTX add-on cards N/A
Legacy / Super I/O
Floppy N/A
Serial port 1 (COM1) N/A
Serial port 2 (COM2) N/A
Parallel port N/A
PS/2 keyboard OK
PS/2 mouse OK
Game port N/A
Infrared N/A
PC speaker OK
DiskOnChip N/A
Input
Trackpoint OK
Touchpad OK
Fn Hotkeys OK
Fingerprint Reader OK
Laptop
Docking VGA OK
Docking LAN OK
Docking USB OK
Docking Audio Untested
Docking Displayport Untested
Thinklight OK
Webcam OK
Miscellaneous
Sensors / fan control OK
Hardware watchdog OK Disabled early.
SMBus OK
CAN bus N/A
CPU frequency scaling OK
Other powersaving features N/A
ACPI WIP Mostly working, needs a good Review!
Reboot OK
Poweroff OK
Suspend OK
Nonstandard LEDs N/A
High precision event timers (HPET) OK
Random number generator (RNG) OK
Wake on modem ring N/A
Wake on LAN Untested
Wake on keyboard Untested
Wake on mouse Untested
TPM Unknown
Flashrom OK MXIC MX25L3206E 4MB SPI Flash

Building Firmware

Please have a look at Intel_Sandybridge_Build_Tutorial.

Nvidia GPU

State of dual graphics on Lenovo Notebooks: Board:lenovo/Nvidia_Optimus

Flashing

Location of the SPI chips

T530 has 2 flash chips of 8M and 4M. They're concatenated to one virtual flash chip of 12M which is itself subdivided in roughly in 4 parts:

  • Descriptor (12K)
  • ME firmware (5M-12K)
  • GbE firmware
  • System flash (7M)

The 'Descriptor' region locks the flash and so you need to flash externally. ME firmware region is not readable from the CPU.

More precisely:

 0x54: 0x00000000 FREG0: Warning: Flash Descriptor region (0x00000000-0x00000fff) is read-only.
 0x58: 0x0bff0500 FREG1: BIOS region (0x00500000-0x00bfffff) is read-write.
 0x5C: 0x04ff0003 FREG2: Warning: Management Engine region (0x00003000-0x004fffff) is locked.
 0x60: 0x00020001 FREG3: Gigabit Ethernet region (0x00001000-0x00002fff) is read-write

Outline

Proceeds as follows:

  • Turn off your laptop, remove battery and AC adapter.
  • Dismantle machine.
  • Connect external SPI flasher to the 4MB chip.

Remark: You will need a SOIC clip to connect an external SPI programmer.

Flashing Process

1.) Read out the flash to make a backup Twice, compare to ensure they match and then save a copy of it on external media:

flashrom -p <yourprogrammer> -r flash.bin
flashrom -p <yourprogrammer> -r flash2.bin
diff flash.bin flash2.bin

If they don't match, do not proceed and if the file size is 8M you are flashing the wrong chip.

2.) Since you have to write only top 4M out of the 12M coreboot.rom, first split out those 4M by:

 dd of=top.rom bs=1M if=build/coreboot.rom skip=8

Then use flashrom to flash top.rom.