Difference between revisions of "Board:lenovo/g505s"

From coreboot
Jump to: navigation, search
(Known Issues)
m (buyin advice)
 
(14 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!
+
* 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.
                      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.
 +
* "'''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 31: Line 53:
 
  make
 
  make
  
To flash the board with '''flashrom''' run:
+
To flash the board with '''flashrom''' externally run:
  flashrom -p ft2232_spi:type=2232H,port=A -c "MX25L1605A/MX25L1606E" -w build/coreboot.rom
+
  flashrom -p ft2232_spi:type=2232H,port=A -w build/coreboot.rom
''assuming'' you have a SPI flasher setup.
+
and internally run:
 +
flashrom -p internal:laptop=force_I_want_a_brick -w build/coreboot.rom
  
 
== Status ==
 
== Status ==
 +
 +
Has an IOMMU with Interrupt Remapping and graphics support
  
 
{{Status|
 
{{Status|
Line 56: Line 81:
 
|RAM_DDR2_status = N/A
 
|RAM_DDR2_status = N/A
 
|RAM_DDR3_status = OK
 
|RAM_DDR3_status = OK
|RAM_DDR3_comments = Tested with 4GB two-rank module.
+
|RAM_DDR3_comments =
 
|RAM_dualchannel_status = N/A
 
|RAM_dualchannel_status = N/A
|RAM_ecc_status = ?
+
|RAM_ecc_status = N/A
  
 
|IDE_status = N/A
 
|IDE_status = N/A
 
|IDE_CF_status = N/A
 
|IDE_CF_status = N/A
 
|IDE_25_status = N/A
 
|IDE_25_status = N/A
|CDROM_DVD_status = N/A
+
|CDROM_DVD_status = OK
 
|SATA_status = OK
 
|SATA_status = OK
 
|SATA_comments =  
 
|SATA_comments =  
 
|Onboard_SCSI_status = N/A
 
|Onboard_SCSI_status = N/A
 
|USB_status = OK
 
|USB_status = OK
|USB_comments =  
+
|USB_comments = XHCI requires blob (so disabled by default)
 
|Onboard_VGA_status = OK
 
|Onboard_VGA_status = OK
|Onboard_VGA_comments = BIOS/console: works.
+
|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 86: Line 112:
 
|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 = miniPCIe slot works, mSATA/miniPCIe slot does not!?
+
|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
Line 98: Line 124:
  
 
|Floppy_status = N/A
 
|Floppy_status = N/A
|COM1_status = OK
+
|COM1_status = N/A
 
|COM2_status = N/A
 
|COM2_status = N/A
 
|PP_status = N/A
 
|PP_status = N/A
Line 104: Line 130:
 
|PS2_mouse_status = OK
 
|PS2_mouse_status = OK
 
|Game_port_status = N/A
 
|Game_port_status = N/A
|IR_status = Untested
+
|IR_status =
|IR_comments = CIR header currently turned off in devicetree.cb
+
|IR_comments =  
 
|Speaker_status = OK
 
|Speaker_status = OK
 
|DiskOnChip_status = N/A
 
|DiskOnChip_status = N/A
Line 128: Line 154:
 
|WakeOnModem_status = N/A
 
|WakeOnModem_status = N/A
 
|WakeOnLAN_status = Untested
 
|WakeOnLAN_status = Untested
|WakeOnKeyboard_status = Untested
+
|WakeOnKeyboard_status = OK
 
|WakeOnMouse_status = Untested
 
|WakeOnMouse_status = Untested
 
|Flashrom_status = OK
 
|Flashrom_status = OK
|Flashrom_comments = MXIC MX25L1606E 2MB SPI Flash
+
|Flashrom_comments = MXIC MX25L1606E (SO8, soldered) 4MB SPI Flash
  
 
}}
 
}}
 
== Issue Analysis ==
 
 
...
 
  
 
=== Coreboot boot log ===
 
=== Coreboot boot log ===
  
See [http://www.coreboot.org/Supported_Motherboards#jetway.2Fnf81-t56n-lf] for a recent log.
+
See [http://www.coreboot.org/Supported_Motherboards#lenovo.2Fg505s] for a recent log.
  
 
{{PD-self}}
 
{{PD-self}}

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.