Add Kconfig CPU speed selection to Geode GX2 boards.
authorNils Jacobs <njacobs8@hetnet.nl>
Fri, 5 Nov 2010 00:23:11 +0000 (00:23 +0000)
committerUwe Hermann <uwe@hermann-uwe.de>
Fri, 5 Nov 2010 00:23:11 +0000 (00:23 +0000)
This is Abuild and boot tested.

Signed-off-by: Nils Jacobs <njacobs8@hetnet.nl>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6023 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/mainboard/amd/rumba/Kconfig
src/mainboard/lippert/frontrunner/Kconfig
src/mainboard/wyse/s50/Kconfig
src/northbridge/amd/gx2/Kconfig
src/northbridge/amd/gx2/pll_reset.c

index a06650cc0f01a5581973db29666fec02f8e82739..0477f32ec946845e438a47088380f6f6383960a5 100644 (file)
@@ -28,6 +28,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
        select HAVE_PIRQ_TABLE
        select BOARD_ROMSIZE_KB_256
        select POWER_BUTTON_FORCE_ENABLE
+       select GX2_PROCESSOR_MHZ_366
 
 config MAINBOARD_DIR
        string
index 4578732a2f2336a349b74451523d542e32281907..4e8cee0d1895a07257428484a2eb6df3f15dca71 100644 (file)
@@ -10,6 +10,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
        select UDELAY_TSC
        select HAVE_PIRQ_TABLE
        select BOARD_ROMSIZE_KB_256
+       select GX2_PROCESSOR_MHZ_366
 
 config MAINBOARD_DIR
        string
index dae8cdb2a2a91f1b71b76347f05acf2e1f42b3da..dff01f99aeaea2947c6a2484dd44b713871113b9 100644 (file)
@@ -29,6 +29,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
        select PIRQ_ROUTE
        select BOARD_ROMSIZE_KB_256
        select POWER_BUTTON_FORCE_DISABLE
+       select GX2_PROCESSOR_MHZ_366
 
 config MAINBOARD_DIR
        string
index b62d053d9d56f7641cef4d39c0caac6965572636..a9ebb3c13bc0434fc2a187a8b6440405670f5430 100644 (file)
@@ -21,9 +21,19 @@ config NORTHBRIDGE_AMD_GX2
        bool
        select GEODE_VSA
 
-# Valid PROCESSOR_MHZ options: 300/366/400 MHz.
-config PROCESSOR_MHZ
+# The GX2_PROCESSOR_MHZ options let you chose the correct GX2 processor
+# speed in the mainboard's Kconfig file.
+config GX2_PROCESSOR_MHZ_300
+       bool
+config GX2_PROCESSOR_MHZ_366
+       bool
+config GX2_PROCESSOR_MHZ_400
+       bool
+
+# Map the config names to an integer (MHz).
+config GX2_PROCESSOR_MHZ
        int
-       default 366
-       depends on NORTHBRIDGE_AMD_GX2
+       default 300 if GX2_PROCESSOR_MHZ_300
+       default 366 if GX2_PROCESSOR_MHZ_366
+       default 400 if GX2_PROCESSOR_MHZ_400
 
index 81cc28d9c849a61298d98b4a0fed12a1a23b977b..1f3c65dcbe32579c8ac4bd18f44e1bcde4218162 100644 (file)
@@ -71,14 +71,14 @@ static void pll_reset(void)
        unsigned SyncBits;                      /* store the sync bits in up ebx */
        unsigned DEFAULT_FBDIV;
 
-       if (CONFIG_PROCESSOR_MHZ == 400) {
+       if (CONFIG_GX2_PROCESSOR_MHZ == 400) {
                DEFAULT_FBDIV = 24;
-       } else if (CONFIG_PROCESSOR_MHZ == 366) {
+       } else if (CONFIG_GX2_PROCESSOR_MHZ == 366) {
                DEFAULT_FBDIV = 22;
-       } else if (CONFIG_PROCESSOR_MHZ == 300) {
+       } else if (CONFIG_GX2_PROCESSOR_MHZ == 300) {
                DEFAULT_FBDIV = 18;
        } else {
-               printk(BIOS_ERR, "Unsupported PROCESSOR_MHZ setting!\n");
+               printk(BIOS_ERR, "Unsupported GX2_PROCESSOR_MHZ setting!\n");
                post_code(POST_PLL_CPU_VER_FAIL);
                __asm__ __volatile__("hlt\n");
        }
@@ -195,6 +195,6 @@ static void pll_reset(void)
 static unsigned int GeodeLinkSpeed(void)
 {
        unsigned geodelinkspeed;
-       geodelinkspeed = ((CONFIG_PROCESSOR_MHZ * DEFAULT_VDIV) / DEFAULT_MDIV);
+       geodelinkspeed = ((CONFIG_GX2_PROCESSOR_MHZ * DEFAULT_VDIV) / DEFAULT_MDIV);
        return (geodelinkspeed);
 }