This patch changes Geode GX2 to use the auto DRAM detect code from Geode LX and changes the boards to use it. It also adds a processor speed setting function in human readable Mhz and removes the useless and broken PLLMSR settings. (the processor speed was hardcoded to 366Mhz in pll_reset.c)
Signed-off-by: Nils Jacobs njacobs8@hetnet.nl
Thanks, Nils.
On Sun, Oct 31, 2010 at 10:58:28PM +0100, Nils wrote:
This patch changes Geode GX2 to use the auto DRAM detect code from Geode LX and changes the boards to use it. It also adds a processor speed setting function in human readable Mhz and removes the useless and broken PLLMSR settings. (the processor speed was hardcoded to 366Mhz in pll_reset.c)
Signed-off-by: Nils Jacobs njacobs8@hetnet.nl
Thanks, r6011 with some small whitespace changes and s/Mhz/MHz/.
Index: src/northbridge/amd/gx2/Kconfig
--- src/northbridge/amd/gx2/Kconfig (revision 6006) +++ src/northbridge/amd/gx2/Kconfig (working copy) @@ -21,3 +21,9 @@ bool select GEODE_VSA
+# Valid PROCESSOR_MHZ options: 300 ; 366 ; 400 Mhz +config PROCESSOR_MHZ
- int
- default 366
- depends on NORTHBRIDGE_AMD_GX2
Maybe we could make a GX2_PROCESSOR_MHZ_300, GX2_PROCESSOR_MHZ_366 etc. here, and let each board "select" the correct one in its Kconfig file?
+static void banner(const char *s) +{
- printk(BIOS_DEBUG, " * %s\n", s);
+}
I'd personally drop this (also in the LX code), let's just use printk(), there's no reason to add such a mini-wrapper.
- if (CONFIG_PROCESSOR_MHZ == 400){
DEFAULT_FBDIV = 24;
- }
- else if (CONFIG_PROCESSOR_MHZ == 366){
DEFAULT_FBDIV = 22;
- }
- else if (CONFIG_PROCESSOR_MHZ == 300){
DEFAULT_FBDIV = 18;
- } else {
printk(BIOS_ERR, "Unsupported PROCESSOR_MHZ setting !\n");
post_code(POST_PLL_CPU_VER_FAIL);
__asm__ __volatile__("hlt\n");
Shouldn't there be a "while (1)" around the hlt instruction?
Uwe.