Add Kconfig CPU speed selection to Geode GX2 boards.
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
This commit is contained in:
parent
f29b3b68c8
commit
eca32808cb
5 changed files with 23 additions and 10 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -21,9 +21,19 @@ config NORTHBRIDGE_AMD_GX2
|
|||
bool
|
||||
select GEODE_VSA
|
||||
|
||||
# Valid PROCESSOR_MHZ options: 300/366/400 MHz.
|
||||
config PROCESSOR_MHZ
|
||||
int
|
||||
default 366
|
||||
depends on NORTHBRIDGE_AMD_GX2
|
||||
# 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 300 if GX2_PROCESSOR_MHZ_300
|
||||
default 366 if GX2_PROCESSOR_MHZ_366
|
||||
default 400 if GX2_PROCESSOR_MHZ_400
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue