Board:asus/f2a85-m

From coreboot
Jump to: navigation, search

Status

Supported Board Variants

Only the Asus F2A85-M and Asus F2A85-M CSM are supported. However there is a chance that "PRO" or other variants could be easily supported (contact via mailing list for details).

Supported CPUs

Note: Only Trinity CPUs are supported (see list below) but with a hack also Richland CPUs might work (contact via mailing list for details).

  • AMD Athlon X2 340
  • AMD Athlon X4 740
  • AMD Athlon X4 750k
  • AMD FirePro A300
  • AMD FirePro A320
  • AMD A4-5300
  • AMD A4-5300B
  • AMD A6-5400K
  • AMD A6-5400B
  • AMD A8-5500
  • AMD A8-5500B
  • AMD A8-5600K
  • AMD A10-5700
  • AMD A10-5800B
  • AMD A10-5800K

Wikipedia's list of Trinity processors might be more actively maintained.

Notes

  • 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)

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.
  • blink in suspend mode (GP43, program LDN7 F8=23 and blink with F9=2 for 1s blinks)
  • fix mptable
  • fix resume with USB3.0 used (perhaps there is a bug in resume.c)
  • fix immediate resume after suspend (perhaps PCIe STS needs to be cleared)
Device/functionality Status Comments
CPU
CPU works OK the board will start with an AMD A8-5500
L1 cache enabled OK
L2 cache enabled OK
L3 cache enabled N/A
Multiple CPU support OK
Multi-core support OK
Hardware virtualization Untested
RAM
EDO N/A
SDRAM N/A
SO-DIMM N/A
DDR N/A
DDR2 N/A
DDR3 OK Please select right voltage in menuconfig! Default is 1.5V but some DIMMs need more or less!
Dual channel support OK
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 Tested all ports of sixpack.
On-board SCSI N/A
On-board USB OK Issues with XHCI exist with Asus' BIOS as well
On-board VGA OK Use dd to extract the legacy BIOS, HDMI untested
On-board ethernet OK
On-board audio OK tested with headphones in line-out (lime colored)
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
Add-on slots/cards
ISA add-on cards N/A
Audio/Modem-Riser (AMR/CNR) cards N/A
PCI add-on cards OK
Mini-PCI add-on cards N/A
PCI-X add-on cards N/A
AGP graphics cards N/A
PCI Express x1 add-on cards OK
PCI Express x2 add-on cards N/A
PCI Express x4 add-on cards OK
PCI Express x8 add-on cards N/A
PCI Express x16 add-on cards OK
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) OK
Serial port 2 (COM2) N/A
Parallel port N/A
PS/2 keyboard OK
PS/2 mouse Untested
Game port N/A
Infrared  ?
PC speaker OK
DiskOnChip N/A
Miscellaneous
Sensors / fan control Untested
Hardware watchdog Unknown
SMBus Unknown
CAN bus N/A
CPU frequency scaling OK
Other powersaving features  ?
ACPI OK ACPI power button event works, suspend is WIP (work in progress).
Reboot OK warm reboot from Asus' BIOS to coreboot does not work, use reset button after the first time you flash coreboot
Poweroff OK
Suspend OK
Nonstandard LEDs OK
High precision event timers (HPET) OK
Random number generator (RNG)  ?
Wake on modem ring Untested
Wake on LAN Untested
Wake on keyboard Untested
Wake on mouse Untested
Flashrom OK

UEFI builds that allow flash chip access

  • v5016 is untested, but expected to work as well
  • v5018
  • v5103
  • v5104
  • v5107
  • v5202
  • v6002
  • v6004
  • v6102
  • v6402
  • v6404 (requires downgrading to v6402 to flash coreboot)
  • v6501 (requires downgrading to v6402 to flash coreboot)
  • v6502 (requires downgrading to v6402 to flash coreboot)

Build v6502, v6501 and v6404 do not allow access to the flash chip.

Fortunately it is possible to downgrade build v6502, v6501 and v6404 to v6402, with EZFlash.

Downgrading is done by downloading build v6402 from ASUS' F2A85-M download page and copying it to (the root directory of) a FAT32 formatted USB flash drive.

Enter the EFI setup, switch to advanced mode if necessary, open the 'Tool' tab and select "ASUS EZ Flash 2 Utility".

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

DDR voltage controller

The DDR voltage controller is accessible through the AUX SMBUS device 0x15 and it is most likely driven by programmable current source NCT3933U (datasheet on nuvoton website).

The ASUS digi VRM

The ASUS digi voltage controller is accessible through the SMBUS device 0x20 and it is most likely driven by CHL8318 or similar chip (re-branded)

Memory

If you use single dimm plug it to DIMM_A2 or DIMM_B2.

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