From eca32808cb271f3f11c2fdb29eaf71c7f192e765 Mon Sep 17 00:00:00 2001 From: Nils Jacobs Date: Fri, 5 Nov 2010 00:23:11 +0000 Subject: Add Kconfig CPU speed selection to Geode GX2 boards. This is Abuild and boot tested. Signed-off-by: Nils Jacobs Acked-by: Uwe Hermann git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6023 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/mainboard/amd/rumba/Kconfig | 1 + src/mainboard/lippert/frontrunner/Kconfig | 1 + src/mainboard/wyse/s50/Kconfig | 1 + src/northbridge/amd/gx2/Kconfig | 18 ++++++++++++++---- src/northbridge/amd/gx2/pll_reset.c | 10 +++++----- 5 files changed, 22 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/mainboard/amd/rumba/Kconfig b/src/mainboard/amd/rumba/Kconfig index a06650cc0f..0477f32ec9 100644 --- a/src/mainboard/amd/rumba/Kconfig +++ b/src/mainboard/amd/rumba/Kconfig @@ -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 diff --git a/src/mainboard/lippert/frontrunner/Kconfig b/src/mainboard/lippert/frontrunner/Kconfig index 4578732a2f..4e8cee0d18 100644 --- a/src/mainboard/lippert/frontrunner/Kconfig +++ b/src/mainboard/lippert/frontrunner/Kconfig @@ -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 diff --git a/src/mainboard/wyse/s50/Kconfig b/src/mainboard/wyse/s50/Kconfig index dae8cdb2a2..dff01f99ae 100644 --- a/src/mainboard/wyse/s50/Kconfig +++ b/src/mainboard/wyse/s50/Kconfig @@ -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 diff --git a/src/northbridge/amd/gx2/Kconfig b/src/northbridge/amd/gx2/Kconfig index b62d053d9d..a9ebb3c13b 100644 --- a/src/northbridge/amd/gx2/Kconfig +++ b/src/northbridge/amd/gx2/Kconfig @@ -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 diff --git a/src/northbridge/amd/gx2/pll_reset.c b/src/northbridge/amd/gx2/pll_reset.c index 81cc28d9c8..1f3c65dcbe 100644 --- a/src/northbridge/amd/gx2/pll_reset.c +++ b/src/northbridge/amd/gx2/pll_reset.c @@ -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); } -- cgit v1.2.3