After lots of cleanups, bugfixes, feature extensions and testing, my diff to add Asus M2A-VM support to coreboot has shrunk almost to zero.
Please look at http://www.coreboot.org/ASUS_M2A-VM for information on the current state of board support.
Thermal setup still uses the dbm690t code and needs to be written.
To build an image for the Asus M2A-VM, simply apply the patch below and build the amd/dbm690t target.
I plan to copy the src/mainboard/amd/dbm690t directory contents to src/mainboard/asus/m2a-vm and apply this patch on top of it.
Working images with video BIOS and FILO are available on request.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: LinuxBIOSv2-asus_m2a-vm/src/mainboard/amd/dbm690t/Config.lb =================================================================== --- LinuxBIOSv2-asus_m2a-vm/src/mainboard/amd/dbm690t/Config.lb (Revision 3941) +++ LinuxBIOSv2-asus_m2a-vm/src/mainboard/amd/dbm690t/Config.lb (Arbeitskopie) @@ -197,7 +197,7 @@ #Define gfx_link_width, 0: x16, 1: x1, 2: x2, 3: x4, 4: x8, 5: x12 (not supported), 6: x16 chip northbridge/amd/amdk8/root_complex device apic_cluster 0 on - chip cpu/amd/socket_S1G1 + chip cpu/amd/socket_AM2 device apic 0 on end end end @@ -213,7 +213,7 @@ end end device pci 2.0 on end # PCIE P2P bridge (external graphics) 0x7913 - device pci 3.0 off end # PCIE P2P bridge 0x791b + #device pci 3.0 off end # PCIE P2P bridge 0x791b device pci 4.0 on end # PCIE P2P bridge 0x7914 device pci 5.0 on end # PCIE P2P bridge 0x7915 device pci 6.0 on end # PCIE P2P bridge 0x7916 @@ -257,9 +257,9 @@ device pci 14.3 on # LPC 0x438d chip superio/ite/it8712f device pnp 2e.0 off # Floppy - io 0x60 = 0x3f0 - irq 0x70 = 6 - drq 0x74 = 2 + #io 0x60 = 0x3f0 + #irq 0x70 = 6 + #drq 0x74 = 2 end device pnp 2e.1 on # Com1 io 0x60 = 0x3f8 Index: LinuxBIOSv2-asus_m2a-vm/src/mainboard/amd/dbm690t/cache_as_ram_auto.c =================================================================== --- LinuxBIOSv2-asus_m2a-vm/src/mainboard/amd/dbm690t/cache_as_ram_auto.c (Revision 3941) +++ LinuxBIOSv2-asus_m2a-vm/src/mainboard/amd/dbm690t/cache_as_ram_auto.c (Arbeitskopie) @@ -32,6 +32,8 @@
#define DIMM0 0x50 #define DIMM1 0x51 +#define DIMM2 0x52 +#define DIMM3 0x53
#define ICS951462_ADDRESS 0x69 #define SMBUS_HUB 0x71 @@ -157,7 +159,7 @@
void real_main(unsigned long bist, unsigned long cpu_init_detectedx) { - static const u16 spd_addr[] = { DIMM0, 0, 0, 0, DIMM1, 0, 0, 0, }; + static const u16 spd_addr[] = { DIMM0, DIMM2, 0, 0, DIMM1, DIMM3, 0, 0, }; int needs_reset = 0; u32 bsp_apicid = 0; msr_t msr;
On Thu, Feb 12, 2009 at 8:12 AM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
After lots of cleanups, bugfixes, feature extensions and testing, my diff to add Asus M2A-VM support to coreboot has shrunk almost to zero.
If it weren't for the socket difference, I'd be interested to see if the dbm690t would just work with the Asus changes and only have one target.
end end device pci 2.0 on end # PCIE P2P bridge (external graphics) 0x7913
device pci 3.0 off end # PCIE P2P bridge 0x791b
#device pci 3.0 off end # PCIE P2P bridge 0x791b device pci 4.0 on end # PCIE P2P bridge 0x7914 device pci 5.0 on end # PCIE P2P bridge 0x7915 device pci 6.0 on end # PCIE P2P bridge 0x7916
@@ -257,9 +257,9 @@ device pci 14.3 on # LPC 0x438d chip superio/ite/it8712f device pnp 2e.0 off # Floppy
io 0x60 = 0x3f0
irq 0x70 = 6
drq 0x74 = 2
#io 0x60 = 0x3f0
#irq 0x70 = 6
#drq 0x74 = 2
Why does it matter if you comment out settings for a device that's off? Same question for the pci 3.0 device above.
Thanks, Myles
On 12.02.2009 16:22, Myles Watson wrote:
On Thu, Feb 12, 2009 at 8:12 AM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
After lots of cleanups, bugfixes, feature extensions and testing, my diff to add Asus M2A-VM support to coreboot has shrunk almost to zero.
If it weren't for the socket difference, I'd be interested to see if the dbm690t would just work with the Asus changes and only have one target.
Right now I ignore the fact that thermal setup is completely wrong. The machine still boots, though. There are other differences as well.
You're right about the striking similarities between targets, though. I'd really like to have one generic RS690/SB600 board and keep the differences well contained in separate files. My cleanups have been focued on that task.
end end device pci 2.0 on end # PCIE P2P bridge (external graphics) 0x7913
device pci 3.0 off end # PCIE P2P bridge 0x791b
#device pci 3.0 off end # PCIE P2P bridge 0x791b device pci 4.0 on end # PCIE P2P bridge 0x7914 device pci 5.0 on end # PCIE P2P bridge 0x7915 device pci 6.0 on end # PCIE P2P bridge 0x7916
@@ -257,9 +257,9 @@ device pci 14.3 on # LPC 0x438d chip superio/ite/it8712f device pnp 2e.0 off # Floppy
io 0x60 = 0x3f0
irq 0x70 = 6
drq 0x74 = 2
#io 0x60 = 0x3f0
#irq 0x70 = 6
#drq 0x74 = 2
Why does it matter if you comment out settings for a device that's off? Same question for the pci 3.0 device above.
The weird thing is that the board wouldn't boot otherwise. These changes are fairly old, though, so it may be possible that they are no longer needed. It will be a week before I have access to the hardware again.
Regards, Carl-Daniel