folio_9480m.md
1 # HP EliteBook Folio 9480m 2 3 This page is about the notebook [HP EliteBook Folio 9480m]. 4 5 ## Release status 6 7 HP EliteBook Folio 9480m was released in 2014 and is now end of life. 8 It can be bought from a secondhand market like Taobao or eBay. 9 10 ## Required proprietary blobs 11 12 The following blobs are required to operate the hardware: 13 14 1. EC firmware 15 2. Intel ME firmware 16 3. mrc.bin 17 18 HP EliteBook Folio 9480m uses SMSC MEC1322 as its embedded controller. 19 The EC firmware is stored in the flash chip, but we don't need to touch it 20 or use it in the coreboot build process. 21 22 Intel ME firmware is in the flash chip. It is not needed when building coreboot. 23 24 The Haswell memory reference code binary is needed when building coreboot. 25 Please see [mrc.bin](../../northbridge/intel/haswell/mrc.bin). 26 27 ## Programming 28 29 Before flashing, remove the battery and the hard drive cover according to the 30 [Maintenance and Service Guide] of this laptop. 31 32  33 34 HP EliteBook Folio 9480m has two flash chips, a 16MiB system flash, and a 2MiB 35 private flash. To install coreboot, we need to program both flash chips. 36 Read [HP Sure Start] for detailed information. 37 38 To access the system flash, we need to connect the AC adapter to the machine, 39 then clip on the flash chip with an SOIC-8 clip. An [STM32-based flash programmer] 40 made with an STM32 development board is tested to work. 41 42 To access the private flash chip, we can use a ch341a based flash programmer and 43 flash the chip with the AC adapter disconnected. 44 45 Before flashing coreboot, we need to do the following: 46 47 1. Erase the private flash to disable the IFD protection 48 2. Modify the IFD to shrink the BIOS region, so that we'll not use or override 49 the protected bootblock and PEI region, as well as the EC firmware 50 51 To erase the private flash chip, attach it with the flash programmer via the SOIC-8 clip, 52 then run: 53 54 flashrom -p <programmer> --erase 55 56 To modify the IFD, we need a new flash layout. The flash layout of the OEM firmware is: 57 58 00000000:00000fff fd 59 00001000:00002fff gbe 60 00003000:005fffff me 61 00600000:00ffffff bios 62 63 The default coreboot configuration sets the flash chip size to 12MiB, so set the end of the 64 BIOS region to 0xbfffff in the new layout. The modified IFD is as follows (Platform Data 65 region pd is the region protected by HP Sure Start): 66 67 00000000:00000fff fd 68 00001000:00002fff gbe 69 00003000:005fffff me 70 00600000:00bfffff bios 71 00eb5000:00ffffff pd 72 73 Write the above layout in a file, and use ifdtool to modify the IFD of a flash image. 74 Suppose the above layout file is ``layout.txt`` and the origin content of the system flash 75 is in ``factory-sys.rom``, run: 76 77 ifdtool -n layout.txt factory-sys.rom 78 79 Then a flash image with a new IFD will be in ``factory-sys.rom.new``. 80 81 Flash the IFD of the system flash: 82 83 flashrom -p <programmer> --ifd -i fd -w factory-sys.rom.new 84 85 Then flash the coreboot image: 86 87 # first extend the 12M coreboot.rom to 16M 88 fallocate -l 16M build/coreboot.rom 89 flashrom -p <programmer> --ifd -i bios -w build/coreboot.rom 90 91 After coreboot is installed, the coreboot firmware can be updated with internal flashing: 92 93 flashrom -p internal --ifd -i bios --noverify-all -w build/coreboot.rom 94 95 ## Debugging 96 97 The board can be debugged with EHCI debug. The EHCI debug port is the USB port on the left. 98 99 ## Test status 100 101 ### Known issues 102 103 - GRUB payload freezes just like previous EliteBook laptops 104 - Sometimes the PCIe WLAN module can not be found in the OS after booting to the system 105 - Sometimes all the USB devices can not be found in the OS after S3 resume 106 107 ### Untested 108 109 - Fingerprint reader 110 - Smart Card reader 111 112 ### Working 113 114 - i5-4310U CPU with 4G+4G memory 115 - SATA and M.2 SATA disk 116 - Ethernet 117 - WLAN 118 - WWAN 119 - SD card reader 120 - USB 121 - Keyboard and touchpad 122 - DisplayPort 123 - VGA 124 - Dock 125 - Audio output from speaker and headphone jack 126 - Webcam 127 - TPM 128 - EC ACPI 129 - S3 resume 130 - Arch Linux with Linux 5.8.9 131 - Memory initialization with mrc.bin version 1.6.1 Build 2 132 - Graphics initialization with libgfxinit 133 - Payload: SeaBIOS, edk2 134 - EC firmware 135 - KBC Revision 92.15 from OEM firmware version 01.33 136 - KBC Revision 92.17 from OEM firmware version 01.50 137 - Internal flashing under coreboot 138 139 ## Technology 140 141 ```{eval-rst} 142 +------------------+-----------------------------+ 143 | CPU | Intel Haswell-ULT | 144 +------------------+-----------------------------+ 145 | PCH | Intel Lynx Point Low Power | 146 +------------------+-----------------------------+ 147 | EC | SMSC MEC1322 | 148 +------------------+-----------------------------+ 149 | Coprocessor | Intel Management Engine | 150 +------------------+-----------------------------+ 151 ``` 152 153 [HP EliteBook Folio 9480m]: https://support.hp.com/us-en/product/hp-elitebook-folio-9480m-notebook-pc/7089926 154 [Maintenance and Service Guide]: http://h10032.www1.hp.com/ctg/Manual/c05228980 155 [STM32-based flash programmer]: https://github.com/dword1511/stm32-vserprog 156 [HP Sure Start]: hp_sure_start.md