Board:asus/f2a85-m: Difference between revisions

From coreboot
Jump to navigation Jump to search
(→‎Hardware info: add timing info for write with flashrom + buspirate)
(minor cleanup, posting my findings)
Line 4: Line 4:
=== Notes ===
=== Notes ===


* The ASUS F2A85-M CSM is same as F2A85-M.
* The ASUS F2A85-M CSM is identical to the F2A85-M.
* get VGA from original bios using this:
* Retrieve the VGA optionrom from the vendor EFI binary by running 'dd if=/dev/mem of=vgabios.bin bs=1k count=64 skip=768' (source: http://www.coreboot.org/pipermail/coreboot/2012-December/073133.html )
Source: http://www.coreboot.org/pipermail/coreboot/2012-December/073133.html


for internal VGA:
For internal VGA:
Boot the legacy BIOS, and use [[VGA_support]] chapter  
Boot the legacy BIOS, and use [[VGA_support]] chapter  


extracting from your system: dd if=/dev/mem of=vgabios.bin bs=1k count=64 skip=768
* Add the extracted VGA optionrom in menuconfig. The device ID for the APU graphics varies, run 'lspci -nn | grep VGA' to find the right ID.
 
* Add VGA bios in the menuconfig
* If you use PS/2 de-select legacy free
* If you use PS/2 de-select legacy free
* De-select running option ROMs, Seabios will run the ROMs that coreboot loads into memory so you should get a text display from Seabios
* De-select running option ROMs, Seabios will run the ROMs that coreboot loads into memory so you should get a text display from Seabios
* It is required that seabios is the coreboot payload for the F2A85-M or the internal VGA will not be initialized. But read [[SeaBIOS]] for how to add payloads to SeaBIOS and set SeaBIOS' boot order to run your payload.
* It is required that seabios is the coreboot payload for the F2A85-M or the internal VGA will not be initialized. But read [[SeaBIOS]] for how to add payloads to SeaBIOS and set SeaBIOS' boot order to run your payload.
** its internal VGA comes up just fine (using Change ID I9e0df1669d73863c95c36a3a7fee40d58f6f097e), with unpatched SeaBIOS and these settings:
** CONFIG_VGA_ROM_RUN=y
** CONFIG_PCI_ROM_RUN=y
** CONFIG_ON_DEVICE_ROM_RUN=y
* Hotswapping the PDIP BIOS chip has some issues (most likely USB3 XHCI, disable it in original bios before hot-flashing to coreboot). Drop a mail to mailing list if you have issues.
* Hotswapping the PDIP BIOS chip has some issues (most likely USB3 XHCI, disable it in original bios before hot-flashing to coreboot). Drop a mail to mailing list if you have issues.


=== TODOs ===
=== TODOs ===
* test virtualization
* test virtualization
* test HDMI
* test HDMI: video over hdmi works with the extracted vga optionrom, audio is untested.
* update VERB tables
* update VERB tables
* test suspend
* test suspend
** resuming from suspend isn't working, possibly because I let coreboot handle the VGA optionrom...
<pre>coreboot-4.0-4711-gdd6c4ec wo sep 25 13:00:52 CEST 2013 starting...
POST: 0x34
BSP Family_Model: 00610f01
cpu_init_detectedx = 00000000
POST: 0x37
agesawrapper_amdinitreset Fch OEM config in INIT RESET Done
Got past agesawrapper_amdinitearly
S3 detected
POST: 0x60
agesawrapper_amdinitresume passed.
agesawrapper_amds3laterestore passed.
POST: 0x61
Find resume memory location
CBMEM region bf11f000-bfffffff (cbmem_reinit)
POST: 0x62
Move CAR stack.
POST: 0x30
coreboot-4.0-4711-gdd6c4ec wo sep 25 13:00:52 CEST 2013 starting...
POST: 0x34
BSP Family_Model: 00610f01
cpu_init_detectedx = 00000000
POST: 0x37
agesawrapper_amdinitreset Fch OEM config in INIT RESET Done</pre>


{{Status|
{{Status|


|CPU_status = OK
|CPU_status = OK
|CPU_comments =
|CPU_L1_status = OK
|CPU_L1_status = OK
|CPU_L1_comments =
|CPU_L2_status = OK
|CPU_L2_status = OK
|CPU_L2_comments =
|CPU_L3_status = N/A
|CPU_L3_status = N/A
|CPU_multiple_status = OK
|CPU_multiple_status = OK
|CPU_multicore_status = OK
|CPU_multicore_status = OK
|CPU_multicore_comments =
|CPU_virt_status = Untested
|CPU_virt_status = Untested


Line 48: Line 72:
|RAM_dualchannel_status = OK
|RAM_dualchannel_status = OK
|RAM_ecc_status = N/A
|RAM_ecc_status = N/A
|RAM_ecc_comments =


|IDE_status = N/A
|IDE_status = N/A
|IDE_comments =
|IDE_25_status = N/A
|IDE_25_status = N/A
|IDE_CF_status = N/A
|IDE_CF_status = N/A
Line 79: Line 101:
|PCIE_x8_status = N/A
|PCIE_x8_status = N/A
|PCIE_x16_status = OK
|PCIE_x16_status = OK
|PCIE_x16_comments =
|PCIE_x32_status = N/A
|PCIE_x32_status = N/A
|Mini_PCI_cards_status = N/A
|Mini_PCI_cards_status = N/A
Line 91: Line 112:
|PS2_mouse_status = Untested
|PS2_mouse_status = Untested
|PP_status = N/A
|PP_status = N/A
|PP_comments =
|Game_port_status = N/A
|Game_port_status = N/A
|IR_status = ?
|IR_status = ?
Line 100: Line 120:
|CAN_bus_status = N/A
|CAN_bus_status = N/A
|CPUfreq_status = OK
|CPUfreq_status = OK
|CPUfreq_comments =
|Powersave_status = ?
|Powersave_status = ?
|ACPI_status = OK
|ACPI_status = OK

Revision as of 11:22, 25 September 2013

Status

Notes

For internal VGA: Boot the legacy BIOS, and use VGA_support chapter

  • Add the extracted VGA optionrom in menuconfig. The device ID for the APU graphics varies, run 'lspci -nn | grep VGA' to find the right ID.
  • If you use PS/2 de-select legacy free
  • De-select running option ROMs, Seabios will run the ROMs that coreboot loads into memory so you should get a text display from Seabios
  • It is required that seabios is the coreboot payload for the F2A85-M or the internal VGA will not be initialized. But read SeaBIOS for how to add payloads to SeaBIOS and set SeaBIOS' boot order to run your payload.
    • its internal VGA comes up just fine (using Change ID I9e0df1669d73863c95c36a3a7fee40d58f6f097e), with unpatched SeaBIOS and these settings:
    • CONFIG_VGA_ROM_RUN=y
    • CONFIG_PCI_ROM_RUN=y
    • CONFIG_ON_DEVICE_ROM_RUN=y
  • Hotswapping the PDIP BIOS chip has some issues (most likely USB3 XHCI, disable it in original bios before hot-flashing to coreboot). Drop a mail to mailing list if you have issues.

TODOs

  • test virtualization
  • test HDMI: video over hdmi works with the extracted vga optionrom, audio is untested.
  • update VERB tables
  • test suspend
    • resuming from suspend isn't working, possibly because I let coreboot handle the VGA optionrom...
coreboot-4.0-4711-gdd6c4ec wo sep 25 13:00:52 CEST 2013 starting...
POST: 0x34
BSP Family_Model: 00610f01
cpu_init_detectedx = 00000000
POST: 0x37
agesawrapper_amdinitreset Fch OEM config in INIT RESET Done
Got past agesawrapper_amdinitearly
S3 detected
POST: 0x60
agesawrapper_amdinitresume passed.
agesawrapper_amds3laterestore passed.
POST: 0x61
Find resume memory location
CBMEM region bf11f000-bfffffff (cbmem_reinit)
POST: 0x62
Move CAR stack.
POST: 0x30


coreboot-4.0-4711-gdd6c4ec wo sep 25 13:00:52 CEST 2013 starting...
POST: 0x34
BSP Family_Model: 00610f01
cpu_init_detectedx = 00000000
POST: 0x37
agesawrapper_amdinitreset Fch OEM config in INIT RESET Done


Device/functionality Status Comments
CPU
CPU works OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
L1 cache enabled OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
L2 cache enabled OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
L3 cache enabled OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Multiple CPU support OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
Multi-core support OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
Hardware virtualization OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
RAM
EDO OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
SDRAM OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
SO-DIMM OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
DDR OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
DDR2 OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
DDR3 OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK Please select right voltage in menuconfig! Default is 1.5V but some DIMMs need more or less!
Dual channel support OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
ECC support OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board Hardware
On-board IDE 3.5" OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board IDE 2.5" OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board SATA OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK Tested all ports of sixpack.
On-board SCSI OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board USB OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK Issues with XHCI exist with Asus' BIOS as well
On-board VGA OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK Use dd to extract the legacy BIOS, HDMI untested
On-board Ethernet OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
On-board Audio OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
On-board Modem OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board FireWire OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board Smartcard reader OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board CompactFlash OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board PCMCIA OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board Wifi OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board Bluetooth OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board SD card reader OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Add-on slots/cards
ISA add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Audio/Modem-Riser (AMR/CNR) cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
Mini-PCI add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Mini-PCI-Express add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown
PCI-X add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
AGP graphics cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI Express x1 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
PCI Express x2 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI Express x4 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
PCI Express x8 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI Express x16 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
PCI Express x32 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
HTX add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Legacy / Super I/O
Floppy OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Serial port 1 (COM1) OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
Serial port 2 (COM2) OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Parallel port OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PS/2 keyboard OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
PS/2 mouse OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
Game port OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Infrared OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | ?
PC speaker OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
DiskOnChip OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Input
Trackpoint OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Touchpad OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Fn Hotkeys OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Fingerprint Reader OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Laptop
Docking VGA OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Docking LAN OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Docking USB OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Docking Audio OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Docking Displayport OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Thinklight OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Webcam OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Miscellaneous
Sensors / fan control OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
Hardware watchdog OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown
SMBus OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown
CAN bus OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
CPU frequency scaling OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
Other powersaving features OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | ?
ACPI OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK ACPI power button event works, suspend untested.
Reboot OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK warm reboot from Asus' BIOS to coreboot does not work, use reset button after the first time you flash coreboot
Poweroff OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
Suspend OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown
Nonstandard LEDs OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
High precision event timers (HPET) OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
Random number generator (RNG) OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | ?
Wake on modem ring OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
Wake on LAN OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
Wake on keyboard OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
Wake on mouse OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested
TPM OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown
Flashrom OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK

Hardware info

This board ships with a socketed Winbond 25Q64F, 64 Mbit (8 Mbyte) chip, in PDIP 300 mil package:

Winbond 25Q64F

The chip manual is available here

For out of band flashing, I use a

 3M test clip model 923739-08-ND

It has .300" spacing, 8 pin DIP clip, gold finish and 'headless heads'. I hook this up to a bus pirate. This works but reading and writing take forever:

# time /usr/src/flashrom/flashrom -p buspirate_spi:dev=/dev/ttyUSB0 -w 20130826-coreboot.rom
flashrom v0.9.6.1-r1669 on Linux 3.8-2-amd64 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... OK.
Found Winbond flash chip "W25Q64" (8192 kB, SPI) on buspirate_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.

real	35m35.409s
user	0m55.976s
sys	0m12.920s

Memory

I use:

2x 2GB DDR3 modules in blue slots:

#modprobe i2c-piix4
#modprobe eeprom
#decode-dimms

---=== Memory Characteristics ===---                                                        
Fine time base                                  2.500 ps                                    
Medium time base                                0.125 ns                                    
Maximum module speed                            1333MHz (PC3-10666)                         
Size                                            2048 MB                                     
Banks x Rows x Columns x Bits                   8 x 14 x 10 x 64                            
Ranks                                           2                                           
SDRAM Device Width                              8 bits                                      
tCL-tRCD-tRP-tRAS                               8-8-8-24                                    
Supported CAS Latencies (tCL)                   9T, 8T, 7T, 6T