[coreboot] coreboot on amd A85 can't work

陈军根 cjg at bolod.net
Fri Mar 7 09:00:21 CET 2014


Scott:
 Thanks for your  help,I'll try run coreboot on F2A85-MLE again .
  
 陈军根
   
  
  ------------------ Original ------------------
  From:  "Scott Duplichan"<scott at notabs.org>;
 Date:  Fri, Mar 7, 2014 12:08 PM
 To:  "'陈军根'"<cjg at bolod.net>; "'Rudolf Marek'"<r.marek at assembler.cz>; 
 Cc:  "'coreboot'"<coreboot at coreboot.org>; 
 Subject:  RE: [coreboot] coreboot on amd A85 can't work

  
陈军根 [mailto:cjg at bolod.net]  wrote:

]Hello Rudolf:
]
]Because coreboot can't work in F2A85-MLE, I buy a new mainboard
]f2a85-M,and coreboot can run ok in my f2a85-m, also can boot
]ubuntu.But I find a strange question: when I plug my DIMM in
]DIMM_A1 or DIMM_B1, coreboot can't work, and get the error messages
]"assertion Failed:file
]'src/vendorcode/amd/agesa/f15tn/proc/mem/main/mmexcludedimm.c',line 236".
]but when I plug my DIMM in DIMM_A2 or DIMM_B2, coreboot work well;
]Did coreboot only support DIMM_A2 or DIMM_B2 in F2A85-M?

From my reading of the F2A85-M manual, the preferred slot for
a single DIMM is DIMM_A2. So this coreboot behavior doesn't seem
bad. A few years ago, AMD changed the DIMM population order from
a recommendation to a requirement. It may be that Asus reversed
that change for their ROMs.

]I think this is also the reason why coreboot can't work in F2A85-MLE.
]Because F2A85-MLE only have DIMM_A1 and DIMM_B1.

You are probably correct. Because F2A85-MLE has only one DIMM
per channel, you need this change:

diff --git a/src/mainboard/asus/f2a85-m/buildOpts.c b/src/mainboard/asus/f2a85-m/buildOpts.c
index 0091cd9..73a0a8c 100644
--- a/src/mainboard/asus/f2a85-m/buildOpts.c
+++ b/src/mainboard/asus/f2a85-m/buildOpts.c
@@ -439,7 +439,7 @@ CONST PSO_ENTRY ROMDATA DefaultPlatformMemoryConfiguration[] = {
   //      Speicifes the HW RXEN training seed for a channel of a socket
   //
 
-  NUMBER_OF_DIMMS_SUPPORTED (ANY_SOCKET, ANY_CHANNEL, 2),
+  NUMBER_OF_DIMMS_SUPPORTED (ANY_SOCKET, ANY_CHANNEL, 1),
   NUMBER_OF_CHANNELS_SUPPORTED (ANY_SOCKET, 2),
 /*
   TODO: is this OK for DDR3 socket FM2?



For completeness, the F2A85-MLE code should also have this change:
diff --git a/src/mainboard/asus/f2a85-m/devicetree.cb b/src/mainboard/asus/f2a85-m/devicetree.cb
index 0014381..97316d6 100644
--- a/src/mainboard/asus/f2a85-m/devicetree.cb
+++ b/src/mainboard/asus/f2a85-m/devicetree.cb
@@ -122,7 +122,7 @@ chip northbridge/amd/agesa/family15tn/root_complex
 
  register "spdAddrLookup" = "
  {
- { {0xA0, 0xA4}, {0xA2, 0xA6}, }, // socket 0 - Channel 0 & 1 - 8-bit SPD addresses
+ { {0xA0, 0x00}, {0xA2, 0x00}, }, // socket 0 - Channel 0 & 1 - 8-bit SPD addresses
  { {0x00, 0x00}, {0x00, 0x00}, }, // socket 1 - Channel 0 & 1 - 8-bit SPD addresses
  }"

This should work, assuming F2A85-MLE uses SPD addresses A0 and A2.
If not, adjust as needed.
Thanks,
Scott
 
]thanks 
]陈军根
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20140307/ad4516d2/attachment-0001.html>


More information about the coreboot mailing list