Difference between revisions of "Board:asus/f2a85-m"

From coreboot
Jump to: navigation, search
(Hardware info)
m (tested audio with headphones)
(7 intermediate revisions by 3 users not shown)
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 http://www.coreboot.org/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.
 
+
You will need following patch to seabios:
+
<code>
+
--- a/src/optionroms.c
+
+++ b/src/optionroms.c
+
@@ -215,7 +215,10 @@ is_pci_vga(struct pci_device *pci)
+
  {
+
      if (pci->class != PCI_CLASS_DISPLAY_VGA)
+
          return 0;
+
-    u16 cmd = pci_config_readw(pci->bdf, PCI_COMMAND);
+
+    u16 cmd = pci_config_readw(pci->bdf, PCI_COMMAND) | PCI_COMMAND_IO | PCI_COMMAND_MEMORY;
+
+
+
+    pci_config_writew(pci->bdf, PCI_COMMAND, cmd);
+
+
+
      if (!(cmd & PCI_COMMAND_IO && cmd & PCI_COMMAND_MEMORY))
+
          return 0;
+
      while (pci->parent) {
+
</code>
+
 
+
Reason is unknown, I see coreboot is writing 7 to cmd, but there is actually
+
6... Maybe there is some magic about IO decode bit...
+
 
+
* 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, leave this to 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
* Use seabios as 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.
* Hotswapping has some issues (most likely USB3, disable it in orig bios before hot-flashing to coreboot). Drop a mail to mailing list if you have issues.
+
** 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 ===
 
=== 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... also, I have set CONFIG_S3_VGA_ROM_RUN=y
 +
<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 69: 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
 
|CDROM_DVD_status = Untested
 
|CDROM_DVD_status = Untested
 
|SATA_status = OK
 
|SATA_status = OK
|SATA_comments = Tested only first top port on left in sixpack (from outside view).
+
|SATA_comments = Tested all ports of sixpack.
|USB_status = Untested
+
|USB_status = OK
|USB_comments =  
+
|USB_comments = Issues with XHCI exist with Asus' BIOS as well
 
|Onboard_VGA_status = OK
 
|Onboard_VGA_status = OK
|Onboard_VGA_comments = HDMI untested
+
|Onboard_VGA_comments = Use dd to [[VGA_support|extract the legacy BIOS]], HDMI untested
 +
|Onboard_SCSI_status = N/A
 
|Onboard_ethernet_status = OK
 
|Onboard_ethernet_status = OK
|Onboard_audio_status = Untested
+
|Onboard_audio_status = OK
 +
|Onboard_audio_comments = tested with headphones in line-out (lime colored)
 
|Onboard_modem_status = N/A
 
|Onboard_modem_status = N/A
 
|Onboard_firewire_status = N/A
 
|Onboard_firewire_status = N/A
Line 99: Line 102:
 
|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
 +
|PCIX_cards_status = N/A
 
|HTX_status = N/A
 
|HTX_status = N/A
  
|Floppy_status = Untested
+
|Floppy_status = N/A
 
|COM1_status = OK
 
|COM1_status = OK
 
|COM2_status = N/A
 
|COM2_status = N/A
Line 109: Line 113:
 
|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 = ?
|Speaker_status = ?
+
|Speaker_status = OK
 
|DiskOnChip_status = N/A
 
|DiskOnChip_status = N/A
  
Line 118: Line 121:
 
|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
 
|ACPI_comments = ACPI power button event works, suspend untested.
 
|ACPI_comments = ACPI power button event works, suspend untested.
 
|Reboot_status = OK
 
|Reboot_status = OK
 +
|Reboot_comments = warm reboot from Asus' BIOS to coreboot does not work, use reset button after the first time you flash coreboot
 
|Poweroff_status = OK
 
|Poweroff_status = OK
|LEDs_status = Unknown
+
|LEDs_status = OK
 
|HPET_status = OK
 
|HPET_status = OK
 
|RNG_status = ?
 
|RNG_status = ?
Line 149: Line 152:
 
   3M test clip model 923739-08-ND
 
   3M test clip model 923739-08-ND
  
It has .300" spacing, 8 pin DIP clip, gold finish and 'headless heads'.
+
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:
 +
 
 +
<pre>
 +
# 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
 +
</pre>
  
 
== Memory ==
 
== Memory ==

Revision as of 23:29, 2 October 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... also, I have set CONFIG_S3_VGA_ROM_RUN=y
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
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 untested.
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 Unknown
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

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