Difference between revisions of "Board:lenovo/g505s"

From coreboot
Jump to: navigation, search
(Status)
m (buyin advice)
 
(5 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
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.
 
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 ==
 
== 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 - 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. [https://lkml.org/lkml/2012/3/28/249 LKML] [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1152484 bug report] [http://lxr.free-electrons.com/source/arch/x86/kernel/cpu/perf_event_amd_ibs.c#L784 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.
 
* "''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.
 +
* "'''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 [http://review.coreboot.org/#/c/7671/ 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 ==
 
== Overview ==
Line 37: Line 59:
  
 
== Status ==
 
== Status ==
 +
 +
Has an IOMMU with Interrupt Remapping and graphics support
  
 
{{Status|
 
{{Status|
Line 73: Line 97:
 
|Onboard_VGA_comments = 64KByte AtomBIOS blob needed
 
|Onboard_VGA_comments = 64KByte AtomBIOS blob needed
 
|Onboard_ethernet_status = OK
 
|Onboard_ethernet_status = OK
 +
|Onboard_ethernet_comments = Qualcomm Atheros QCA8172 Fast Ethernet
 
|Onboard_audio_status = OK
 
|Onboard_audio_status = OK
 
|Onboard_audio_comments = Basic two channel audio works fine.
 
|Onboard_audio_comments = Basic two channel audio works fine.
Line 83: Line 108:
 
|ISA_cards_status = N/A
 
|ISA_cards_status = N/A
 
|AMR_cards_status = N/A
 
|AMR_cards_status = N/A
|Mini_PCI_cards_status = OK
+
|Mini_PCI_cards_status = N/A
 
|Mini_PCI_cards_comments =
 
|Mini_PCI_cards_comments =
 
|PCIX_cards_status = N/A
 
|PCIX_cards_status = N/A
 
|AGP_cards_status = N/A
 
|AGP_cards_status = N/A
|PCI_cards_status = OK
+
|PCI_cards_status = N/A
 
|PCI_cards_comments =  
 
|PCI_cards_comments =  
 
|PCIE_x1_status = OK
 
|PCIE_x1_status = OK
|PCIE_x1_comments =
+
|PCIE_x1_comments = miniPCIe (populated with Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter)
 
|PCIE_x2_status = N/A
 
|PCIE_x2_status = N/A
 
|PCIE_x4_status = N/A
 
|PCIE_x4_status = N/A

Latest revision as of 07:02, 23 March 2018

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().
  • "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.
  • "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 AGESA Hudson 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.

Public domain I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.

In case this is not legally possible:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.