[coreboot] HP Elitebook 8570w support
il_gaby at hotmail.com
Sat Apr 21 22:19:04 CEST 2018
I bought an Elitebook 8570w few years ago, and ever since I've been trying to set up some features to make it work better. However, the BIOS configuration utility is pretty bald, so after reaching out HP Support with no luck and having googled for years, I'm still wearing nappies.
The main problems are two: ASPM and Intel HD4000. Even though MS-Windows manages to turn off the discrete NVidia K2000M and start using the Intel card, (although in a subtle way, as it won't provide any information about the device in use), I haven't been able to make it work in Linux (OpenSuse); moreover, it's not even shown with 'lspci'. This means I'm not able to disable dGPU in order to use Intel one for lower power consumption purposes.
As for ASPM, I couldn't find a way of turning it ON other than overriding FADT from the EFIShell. If I do it this way, and add 'pcie_aspm=force' as boot parameter, I still see 'ASPM: Could not configure common clock', and ASPM appears 'disabled' in most of the devices listed with 'lspci'. Actually, the few that appear 'enabled' if I override FADT will also show that way if I don't. On the other hand, If I don't override FADT, I get 'ACPI FADT declares the system doesn't support PCIe ASPM, so disable it' and some others.
Few questions: Assuming it's possible to flash the ROM to use 'coreboot' instead of the firmware provided by HP, would I be able to enable at least this two features? will I need to de-solder the ROM chip to do it?, would I lose other functionalities? I mean, is it possible to know whether all other devices are also supported?
Following the guide I found in FAQs, I attached bellow what I understand is necessary to answer this questions. Please let me know if it's not complete.
Thanks in advance!
HP EliteBook 8570w:
Motherboard: HP 176b
CPU: 8x Intel Core i7-3820QM @ 2.7Ghz
Chipset: Mobile Intel QM77 Express
VGA: Intel HD4000 / NVidia K2000M (Hybrid)
HP product specifications' website: https://support.hp.com/gb-en/product/hp-elitebook-8570w-mobile-workstation/5257502/document/c03414805#AbT1
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QM77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K2000M] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1)
24:00.0 FireWire (IEEE 1394): JMicron Technology Corp. IEEE 1394 Host Controller (rev 30)
24:00.1 System peripheral: JMicron Technology Corp. SD/MMC Host Controller (rev 30)
24:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller (rev 30)
25:00.0 Network controller: Intel Corporation Centrino Ultimate-N 6300 (rev 3e)
-[0000:00]-+-00.0 Intel Corporation 3rd Gen Core processor DRAM Controller [8086:0154]
+-01.0---+-00.0 NVIDIA Corporation GK107GLM [Quadro K2000M] [10de:0ffb]
| \-00.1 NVIDIA Corporation GK107 HDMI Audio Controller [10de:0e1b]
+-14.0 Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller [8086:1e31]
+-16.0 Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 [8086:1e3a]
+-19.0 Intel Corporation 82579LM Gigabit Network Connection [8086:1502]
+-1a.0 Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 [8086:1e2d]
+-1b.0 Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller [8086:1e20]
+-1c.2---+-00.0 JMicron Technology Corp. IEEE 1394 Host Controller [197b:2380]
| +-00.1 JMicron Technology Corp. SD/MMC Host Controller [197b:2392]
| \-00.2 JMicron Technology Corp. Standard SD Host Controller [197b:2391]
+-1c.3-----00.0 Intel Corporation Centrino Ultimate-N 6300 [8086:422b]
+-1d.0 Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 [8086:1e26]
+-1f.0 Intel Corporation QM77 Express Chipset LPC Controller [8086:1e55]
+-1f.2 Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] [8086:1e03]
\-1f.3 Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller [8086:1e22]
Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x4e...
Found SMSC LPC47N217 (id=0x7a, rev=0x08) at 0x4e
No dump available for this Super I/O
Probing for VIA Super I/O at 0x3f0...
PCI device 1106:0686 not found.
'flashrom -p internal -V'
Found chipset "Intel QM77" with PCI ID 8086:1e55.
Enabling flash write... Root Complex Register Block address = 0xfed1c000
GCS = 0xc21: BIOS Interface Lock-Down: enabled, Boot BIOS Straps: 0x3 (SPI)
Top Swap: not enabled
0xfff80000/0xffb80000 FWH IDSEL: 0x0
0xfff00000/0xffb00000 FWH IDSEL: 0x0
0xffe80000/0xffa80000 FWH IDSEL: 0x1
0xffe00000/0xffa00000 FWH IDSEL: 0x1
0xffd80000/0xff980000 FWH IDSEL: 0x2
0xffd00000/0xff900000 FWH IDSEL: 0x2
0xffc80000/0xff880000 FWH IDSEL: 0x3
0xffc00000/0xff800000 FWH IDSEL: 0x3
0xff700000/0xff300000 FWH IDSEL: 0x4
0xff600000/0xff200000 FWH IDSEL: 0x5
0xff500000/0xff100000 FWH IDSEL: 0x6
0xff400000/0xff000000 FWH IDSEL: 0x7
0xfff80000/0xffb80000 FWH decode enabled
0xfff00000/0xffb00000 FWH decode enabled
0xffe80000/0xffa80000 FWH decode enabled
0xffe00000/0xffa00000 FWH decode enabled
0xffd80000/0xff980000 FWH decode enabled
0xffd00000/0xff900000 FWH decode enabled
0xffc80000/0xff880000 FWH decode enabled
0xffc00000/0xff800000 FWH decode enabled
0xff700000/0xff300000 FWH decode disabled
0xff600000/0xff200000 FWH decode disabled
0xff500000/0xff100000 FWH decode disabled
0xff400000/0xff000000 FWH decode disabled
Maximum FWH chip size: 0x100000 bytes
SPI Read Configuration: prefetching enabled, caching enabled,
BIOS_CNTL = 0x2a: BIOS Lock Enable: enabled, BIOS Write Enable: disabled
Warning: BIOS region SMM protection is enabled!
Warning: Setting Bios Control at 0xdc from 0x2a to 0x09 failed.
New value is 0x2a.
SPIBAR = 0x00007fb869355000 + 0x3800
0x04: 0xe008 (HSFS)
HSFS: FDONE=0, FCERR=0, AEL=0, BERASE=1, SCIP=0, FDOPSS=1, FDV=1, FLOCKDN=1
Warning: SPI Configuration Lockdown activated.
Reading OPCODES... done
0x06: 0x0004 (HSFC)
HSFC: FGO=0, FCYCLE=2, FDBC=0, SME=0
0x50: 0x00000a0b (FRAP)
BMWAG 0x00, BMRAG 0x00, BRWA 0x0a, BRRA 0x0b
0x54: 0x00000000 FREG0: Warning: Flash Descriptor region (0x00000000-0x00000fff) is read-only.
0x58: 0x0fff0b00 FREG1: BIOS region (0x00b00000-0x00ffffff) is read-write.
0x5C: 0x0aff0003 FREG2: Warning: Management Engine region (0x00003000-0x00afffff) is locked.
0x60: 0x00020001 FREG3: Gigabit Ethernet region (0x00001000-0x00002fff) is read-write.
Not all flash regions are freely accessible by flashrom. This is most likely
due to an active ME. Please see https://flashrom.org/ME for details.
0x74: 0x8fff0f70 PR0: Warning: 0x00f70000-0x00ffffff is read-only.
Writes have been disabled for safety reasons. You can enforce write
support with the ich_spi_force programmer option, but you will most likely
harm your hardware! If you force flashrom you will get no support if
something breaks. On a few mainboards it is possible to enable write
access by setting a jumper (see its documentation or the board itself).
0x90: 0x84 (SSFS)
SSFS: SCIP=0, FDONE=1, FCERR=0, AEL=0
0x91: 0xfc4200 (SSFC)
SSFC: SCGO=0, ACS=0, SPOP=0, COP=0, DBC=2, SME=0, SCF=4
0x94: 0x5006 (PREOP)
0x96: 0x7f48 (OPTYPE)
0x98: 0x0405039f (OPMENU)
0x9c: 0x0102d820 (OPMENU+4)
0xA0: 0x00000000 (BBAR)
0xC4: 0x00800000 (LVSCC)
LVSCC: BES=0x0, WG=0, WSR=0, WEWS=0, EO=0x0, VCL=1
0xC8: 0x00002005 (UVSCC)
UVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20
0xD0: 0x00000000 (FPB)
PROBLEMS, continuing anyway
Found Winbond flash chip "W25Q128.V" (16384 kB, SPI) mapped at physical address 0x00000000ff000000.
Chip status register is 0x00.
Found Winbond flash chip "W25Q128.V" (16384 kB, SPI).
This chip may contain one-time programmable memory. flashrom cannot read
and may never be able to write it, hence it may not be able to completely
clone the contents of this chip (see man page for details).
No operations were specified.
Restoring MMIO space at 0x7fb8693588a0
Restoring PCI config space for 00:1f:0 reg 0xdc
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the coreboot