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
@ -28,6 +28,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||||||
select HAVE_PIRQ_TABLE
|
select HAVE_PIRQ_TABLE
|
||||||
select BOARD_ROMSIZE_KB_256
|
select BOARD_ROMSIZE_KB_256
|
||||||
select POWER_BUTTON_FORCE_ENABLE
|
select POWER_BUTTON_FORCE_ENABLE
|
||||||
|
select GX2_PROCESSOR_MHZ_366
|
||||||
|
|
||||||
config MAINBOARD_DIR
|
config MAINBOARD_DIR
|
||||||
string
|
string
|
||||||
|
@ -10,6 +10,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||||||
select UDELAY_TSC
|
select UDELAY_TSC
|
||||||
select HAVE_PIRQ_TABLE
|
select HAVE_PIRQ_TABLE
|
||||||
select BOARD_ROMSIZE_KB_256
|
select BOARD_ROMSIZE_KB_256
|
||||||
|
select GX2_PROCESSOR_MHZ_366
|
||||||
|
|
||||||
config MAINBOARD_DIR
|
config MAINBOARD_DIR
|
||||||
string
|
string
|
||||||
|
@ -29,6 +29,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||||||
select PIRQ_ROUTE
|
select PIRQ_ROUTE
|
||||||
select BOARD_ROMSIZE_KB_256
|
select BOARD_ROMSIZE_KB_256
|
||||||
select POWER_BUTTON_FORCE_DISABLE
|
select POWER_BUTTON_FORCE_DISABLE
|
||||||
|
select GX2_PROCESSOR_MHZ_366
|
||||||
|
|
||||||
config MAINBOARD_DIR
|
config MAINBOARD_DIR
|
||||||
string
|
string
|
||||||
|
@ -21,9 +21,19 @@ config NORTHBRIDGE_AMD_GX2
|
|||||||
bool
|
bool
|
||||||
select GEODE_VSA
|
select GEODE_VSA
|
||||||
|
|
||||||
# Valid PROCESSOR_MHZ options: 300/366/400 MHz.
|
# The GX2_PROCESSOR_MHZ options let you chose the correct GX2 processor
|
||||||
config PROCESSOR_MHZ
|
# speed in the mainboard's Kconfig file.
|
||||||
int
|
config GX2_PROCESSOR_MHZ_300
|
||||||
default 366
|
bool
|
||||||
depends on NORTHBRIDGE_AMD_GX2
|
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 SyncBits; /* store the sync bits in up ebx */
|
||||||
unsigned DEFAULT_FBDIV;
|
unsigned DEFAULT_FBDIV;
|
||||||
|
|
||||||
if (CONFIG_PROCESSOR_MHZ == 400) {
|
if (CONFIG_GX2_PROCESSOR_MHZ == 400) {
|
||||||
DEFAULT_FBDIV = 24;
|
DEFAULT_FBDIV = 24;
|
||||||
} else if (CONFIG_PROCESSOR_MHZ == 366) {
|
} else if (CONFIG_GX2_PROCESSOR_MHZ == 366) {
|
||||||
DEFAULT_FBDIV = 22;
|
DEFAULT_FBDIV = 22;
|
||||||
} else if (CONFIG_PROCESSOR_MHZ == 300) {
|
} else if (CONFIG_GX2_PROCESSOR_MHZ == 300) {
|
||||||
DEFAULT_FBDIV = 18;
|
DEFAULT_FBDIV = 18;
|
||||||
} else {
|
} 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);
|
post_code(POST_PLL_CPU_VER_FAIL);
|
||||||
__asm__ __volatile__("hlt\n");
|
__asm__ __volatile__("hlt\n");
|
||||||
}
|
}
|
||||||
@ -195,6 +195,6 @@ static void pll_reset(void)
|
|||||||
static unsigned int GeodeLinkSpeed(void)
|
static unsigned int GeodeLinkSpeed(void)
|
||||||
{
|
{
|
||||||
unsigned geodelinkspeed;
|
unsigned geodelinkspeed;
|
||||||
geodelinkspeed = ((CONFIG_PROCESSOR_MHZ * DEFAULT_VDIV) / DEFAULT_MDIV);
|
geodelinkspeed = ((CONFIG_GX2_PROCESSOR_MHZ * DEFAULT_VDIV) / DEFAULT_MDIV);
|
||||||
return (geodelinkspeed);
|
return (geodelinkspeed);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user