From coreboot

The wiki is being retired! Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!

This page describes how to use coreboot on the Lenovo G505S mainboard.

This page is a work in progress. ACPI is still being worked on, however due to the nature of ACPI it may take some time to get this right.

Taiidan note - I recommend getting the A10 quad core version of this laptop as the lesser dual core models are very slow.

Known Issues

S3 Suspend/Resume - You will need a Console verbosity set to at least "BIOS_INFO" or greater for it to work! Coreboot is likely too fast for the Embedded Controller firmware on the S3 resume hot path.

S3 Suspend/Resume - Nasty looking dmesg messages seen in Note 2. LKML bug report force_ibs_eilvt_setup().

messages seen in Note 2. LKML bug report force_ibs_eilvt_setup(). " AGP: Please enable the IOMMU option in the BIOS setup " showing up in dmesg - Pass iommu=noaperture to the kernel boot args to ask the IOMMU not to touch the aperture for AGP.

" showing up in - Pass to the kernel boot args to ask the IOMMU not to touch the aperture for AGP. "Re-enabling disabled Topology Extensions Support" showing up in dmesg - See Note 1.

Note 1: Look in src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN/F15TnMsrTables.c for

if (PkgType == PACKAGE_TYPE_FM2) { CpuMsrData |= BIT54; }

this is the wrong package type for us. Fixed in 7671



Note 2: Look in src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/KB/F16KbMsrTables.c and src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN/F15TnMsrTables.c.

Backport fixes that pertain to MSR 0x00000413 and MSR 0xC0000408. The following in seen in dmesg on S3 resume:

[ 396.828594] [Firmware Bug]: cpu 0, try to use APIC500 (LVT offset 0) for vector 0xf9, but the register is already in use for vector 0x400 on another cpu [ 396.828596] [Firmware Bug]: cpu 0, failed to setup threshold interrupt for bank 4, block 0 (MSR00000413=0xc000000001000000) [ 396.828597] [Firmware Bug]: cpu 0, try to use APIC500 (LVT offset 0) for vector 0xf9, but the register is already in use for vector 0x400 on another cpu [ 396.828599] [Firmware Bug]: cpu 0, failed to setup threshold interrupt for bank 4, block 1 (MSRC0000408=0xc000000001000000)

Overview

Hardware

AMD A-series AMD A10-5750M APU

AMD A10-5750M APU AMD AGESA Hudson part of the chipset, AMD AGESA Hudson southbridge

part of the chipset, AMD AGESA Hudson southbridge ENE KB9012 EC However we use the ENE932 EC driver in coreboot's tree.

Details

...

1x MXIC MX25L1606E (SO8, soldered) 16 Mbit SPI flash (BIOS)

Building a coreboot image

Make a fresh clone of Coreboot into a empty directory and run:

make crossgcc-i386

Make a cup of tea.. Then run:

make menuconfig

and select Lenovo/G505S under "Mainboard -> Mainboard vendor/model" leaving everything else as defaults. Then finally do,

make

To flash the board with flashrom externally run:

flashrom -p ft2232_spi:type=2232H,port=A -w build/coreboot.rom

and internally run:

flashrom -p internal:laptop=force_I_want_a_brick -w build/coreboot.rom

Status

Has an IOMMU with Interrupt Remapping and graphics support

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 N/A Hardware virtualization OK RAM EDO N/A SDRAM N/A SO-DIMM N/A DDR N/A DDR2 N/A DDR3 OK Dual channel support N/A 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 XHCI requires blob (so disabled by default) On-board VGA OK 64KByte AtomBIOS blob needed On-board Ethernet OK Qualcomm Atheros QCA8172 Fast Ethernet 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 N/A On-board Bluetooth N/A 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 N/A 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 miniPCIe (populated with Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter) 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 N/A 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 PC speaker OK DiskOnChip N/A Input Trackpoint N/A Touchpad N/A Fn Hotkeys N/A Fingerprint Reader N/A Laptop Docking VGA N/A Docking LAN N/A Docking USB N/A Docking Audio N/A Docking Displayport N/A Thinklight N/A Webcam N/A Miscellaneous Sensors / fan control OK Hardware watchdog Pending What needs to be done here?? 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 OK Wake on mouse Untested TPM Unknown Flashrom OK MXIC MX25L1606E (SO8, soldered) 4MB SPI Flash

Coreboot boot log

See [1] for a recent log.