ASUS M4A785T-M
Contents |
Status
| Device/functionality | Status | Comments | ||||||
|---|---|---|---|---|---|---|---|---|
| CPU | ||||||||
| CPU works | OK | Tested: AMD Athlon64 X2 250. | ||||||
| L1 cache enabled | Untested | Not tested yet (how to test?) | ||||||
| L2 cache enabled | Untested | Not tested yet (how to test?) | ||||||
| L3 cache enabled | N/A | |||||||
| Multiple CPU support | N/A | |||||||
| Multi-core support | OK | |||||||
| Hardware virtualization | OK | KVM seem to work | ||||||
| RAM | ||||||||
| EDO | N/A | |||||||
| SDRAM | N/A | |||||||
| SO-DIMM | N/A | |||||||
| DDR | N/A | N/A | ||||||
| DDR2 | Untested | |||||||
| DDR3 | OK | 2G works, 4G(2 * 2G) works with lastest coreboot | ||||||
| Dual channel support | Untested | |||||||
| ECC support | Untested | |||||||
| On-board Hardware | ||||||||
| On-board IDE 3.5" | OK | Tested: 500GB HDD | ||||||
| On-board IDE 2.5" | N/A | |||||||
| On-board SATA | OK | Tested some ports, works fine | ||||||
| On-board SCSI | N/A | |||||||
| On-board USB | OK | USB keyboard works | ||||||
| On-board VGA | OK | Tested:analog VGA and HDMI,dual screen. | ||||||
| On-board ethernet | OK | |||||||
| On-board audio | No | Linux driver crashes. | ||||||
| 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 | I've an ath9k wifi PCI card and it works. | ||||||
| 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 | Untested | |||||||
| 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 | WIP | See http://review.coreboot.org/#/c/2067/ | ||||||
| PCI Express x32 add-on cards | N/A | |||||||
| HTX add-on cards | N/A | |||||||
| Legacy / Super I/O | ||||||||
| Floppy | N/A | There is no floppy connector at all. | ||||||
| Serial port 1 (COM1) | OK | COM1 is only pin header on board. DB-9 serial connector is available, but not included with board. | ||||||
| Serial port 2 (COM2) | N/A | |||||||
| Parallel port | Untested | No connector, pins on board only | ||||||
| PS/2 keyboard | OK | |||||||
| PS/2 mouse | Untested | |||||||
| Game port | N/A | |||||||
| Infrared | N/A | |||||||
| PC speaker | Untested | |||||||
| DiskOnChip | N/A | |||||||
| Miscellaneous | ||||||||
| Sensors / fan control | Untested | |||||||
| Hardware watchdog | N/A | |||||||
| SMBus | Unknown | |||||||
| CAN bus | N/A | |||||||
| CPU frequency scaling | OK | works in GNU/Linux | ||||||
| Other powersaving features | Untested | |||||||
| ACPI | Untested | |||||||
| Reboot | OK | |||||||
| Poweroff | OK | |||||||
| Suspend | Unknown | |||||||
| Nonstandard LEDs | ||||||||
| High precision event timers (HPET) | ||||||||
| Random number generator (RNG) | Untested | |||||||
| Wake on modem ring | Untested | |||||||
| Wake on LAN | ||||||||
| Wake on keyboard | Untested | |||||||
| Wake on mouse | Untested | |||||||
| Flashrom | OK | The chip is SPI | ||||||
Introduction
This pages is about the port to the M4A785T-M, this mainboard is very similar to the M4A785-M, but:
- it has DDR3 instead of DDR2
Building the serial port adapter
You'll need to build a serial port adapter to get the coreboot logs during.
Here's a picture of the serial port connector on the mainboard:

And here's the kind of cable you will need:

And you'll need to build a cable similar to this one(on the picture the DB9 is connector is a male connector):

Here's how it looks like on the mainboard:
_____________________ | |NC|09| |08|07| |06|05| |04|03| |02|01| | |
Here's a table of corresponding pins:
| Mainboard connector pin | Mainboard pin Function | Standard DE9 pin connector | Standard DE9 pin Function | Mandatory for coreboot |
|---|---|---|---|---|
| 1 | ? | ? | ? | No |
| 2 | RX | 3 | TX | Yes (you could do without but it's advised to get it, to be able to use certain functions of coreboot) |
| 3 | TX | 2 | RX | Yes |
| 4 | 4 | DTR | No | |
| 5 | Ground | 5 | Ground | Yes |
| 6 | ? | ? | ? | No |
| 7 | 7 | RTS | No | |
| 8 | 8 | CTS | No | |
| 9 | ? | ? | ? | No |
Adapting GNU/Linux
Before booting with coreboot, do the following:
- blacklist the snd-hda* modules (refer to the usual way to get help for the GNU/Linux distribution you want to run for doing that)
- 32bit GNU/Linux trisquel distribution tested
- 64bit GNU/Linux trisquel distribution failed to initialize the USB.
Building Coreboot
To build coreboot for this mainboard:
- checkout coreboot revision 1b1309f289d6fc9f6ec348686665d25218535030
- Configure and Build it as usual(for having graphics you need to extract your VGA BIOS ROM from your BIOS)
PCIe
See http://review.coreboot.org/#/c/2067/ (which has 2 other patch-dependencies)
SerialICE
- Selecting the ASUS M4A77TD-PRO mainboard makes the serialICE shell appear once flashed(however running the BIOS under SerialICE fails at some point).
Howto
git clone http://review.coreboot.org/p/serialice.git cd serialice make menuconfig make
cd ../ cd qemu-0.15.x sh build.sh ln -s ../SerialICE/simba/*.lua ./
Add the following to asus_m4a77td_pro.lua:
microcode_patchlevel_eax = 0x010000b7 function do_mainboard_setup() do_minimal_setup() do_default_setup() enable_hook(cpumsr_hooks, filter_amd_microcode) end
Failing
It fails like that(it inits the 2 cores and we have 1 core(qemu)):
[fffc06a:0c0f] e25f.e260 LAPIC: [00000380] <= 00000000 [fffc06a:1321] e26b.e26d PCI: 0:18.0 [60] => 00010000 [fffc06a:12e3] e273.e275 PCI: 0:18.3 [e8] => 00075f79 [fffc06a:1397] e27e.e27f CPUID: eax: 00000001; ecx: 0000001b => 00100f62.00020800.00802009.178bfbff [fffc06a:1321] e290.e292 PCI: 0:18.3 [e8] => 00075f79 [fffc06a:1397] e297.e298 CPUID: eax: 00000001; ecx: 0000001b => 00100f62.00020800.00802009.178bfbff [fffc06a:121e] e2a5.e2a6 CPUID: eax: 80000001; ecx: 0000001b => 00100f62.10001b26.000037ff.efd3fbff [fffc06a:12ff] e2bb.e2bc CPUID: eax: 80000008; ecx: 0000001b => 00003030.00000000.00002001.00000000 [fffc06a:130c] e2bf.e2c0 CPU MSR: [c001001f] => 00584000.00000008 [fffc06a:131d] e2c4.e2c5 CPU MSR: [c001001f] <= 00584000.00000008 [fffc06a:131d] e2cf.e2d1 PCI: 0:18.3 [90] => 00000000 [fffc06a:1348] e2dc.e2dd CPUID: eax: 80000008; ecx: 0000001b => 00003030.00000000.00002001.00000000 [fffc06a:135d] e2e2.e2e3 CPU MSR: [c001001f] <= 00584000.00000008 [fffc06a:0b7d] e2f2.e2f3 CPU MSR: [0000001b] => 00000000.fee00900 [fffc06a:0b7d] e2f4.e2f5 LAPIC: [00000020] => 00000000 [fffc06a:127a] e2f9.e2fa CPUID: eax: 00000001; ecx: 0000001b => 00100f62.00020800.00802009.178bfbff [fffc06a:1289] e2f9.e2fb CPUID: eax: 80000008; ecx: 00802009 => 00003030.00000000.00002001.00000000 [fffc06a:1057] e302.e304 PCI: 0:18.0 [68] => 004fac0f [fffc06a:1071] e30d.e30f PCI: 0:18.0 [68] <= 004fac2f Readback error! 30/72 Readback error! a/63 Readback error! 72/30 Readback error! 3e/30 Readback error! 20/30 Readback error! 63/30 Readback error! 66/30 Readback error! 45/30 Readback error! a/31 Readback error! 52/62 Readback error! 3e/2e Readback error! 52/66 Readback error! 20/66 Readback error! 4f/66 Readback error! 30/65 Readback error! 52/62 Readback error! a/30 Readback error! a/30 Readback error! 3e/30 [fffc06a:0c50] e31d.e31e CPU MSR: [0000001b] => 00000000.00000000
TODO
- Add defaults for the nvram settings.
- find a clean way to merge the patch for the PCIe graphic card.
- fix the Audio CODEC(it's the same than the x60 and it works on the x60):
<DarkDefender> GNUtoo-hplaptop: I think you should be able to disable it if you look at "src/southbridge/amd/cimx/sb700/late.c" and line 266
- handle suspend to ram
- lock SMM/SMI
- make it possible to run the BIOS under serialICE
- 64bit support