Move Kconfig for HT limits to northbridge/amd/Kconfig.
Guard the code with CONFIG_EXPERT to remove warnings. Make it only show up for fam10, since it isn't implemented for K8 yet. Signed-off-by: Myles Watson <mylesgw@gmail.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5379 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
e705f9cee2
commit
604877eb2a
90
src/Kconfig
90
src/Kconfig
|
@ -90,96 +90,6 @@ menu "Chipset"
|
||||||
comment "CPU"
|
comment "CPU"
|
||||||
source src/cpu/Kconfig
|
source src/cpu/Kconfig
|
||||||
comment "Northbridge"
|
comment "Northbridge"
|
||||||
|
|
||||||
menu "HyperTransport setup"
|
|
||||||
depends on (NORTHBRIDGE_AMD_AMDK8 || NORTHBRIDGE_AMD_AMDFAM10) && EXPERT
|
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "HyperTransport frequency"
|
|
||||||
default LIMIT_HT_SPEED_AUTO
|
|
||||||
help
|
|
||||||
This option sets the maximum permissible HyperTransport link
|
|
||||||
frequency.
|
|
||||||
|
|
||||||
Use of this option will only limit the autodetected HT frequency.
|
|
||||||
It will not (and cannot) increase the frequency beyond the
|
|
||||||
autodetected limits.
|
|
||||||
|
|
||||||
This is primarily used to work around poorly designed or laid out
|
|
||||||
HT traces on certain motherboards.
|
|
||||||
|
|
||||||
config LIMIT_HT_SPEED_200
|
|
||||||
bool "Limit HT frequency to 200MHz"
|
|
||||||
config LIMIT_HT_SPEED_400
|
|
||||||
bool "Limit HT frequency to 400MHz"
|
|
||||||
config LIMIT_HT_SPEED_600
|
|
||||||
bool "Limit HT frequency to 600MHz"
|
|
||||||
config LIMIT_HT_SPEED_800
|
|
||||||
bool "Limit HT frequency to 800MHz"
|
|
||||||
config LIMIT_HT_SPEED_1000
|
|
||||||
bool "Limit HT frequency to 1.0GHz"
|
|
||||||
config LIMIT_HT_SPEED_1200
|
|
||||||
bool "Limit HT frequency to 1.2GHz"
|
|
||||||
config LIMIT_HT_SPEED_1400
|
|
||||||
bool "Limit HT frequency to 1.4GHz"
|
|
||||||
config LIMIT_HT_SPEED_1600
|
|
||||||
bool "Limit HT frequency to 1.6GHz"
|
|
||||||
config LIMIT_HT_SPEED_1800
|
|
||||||
bool "Limit HT frequency to 1.8GHz"
|
|
||||||
config LIMIT_HT_SPEED_2000
|
|
||||||
bool "Limit HT frequency to 2.0GHz"
|
|
||||||
config LIMIT_HT_SPEED_2200
|
|
||||||
bool "Limit HT frequency to 2.2GHz"
|
|
||||||
config LIMIT_HT_SPEED_2400
|
|
||||||
bool "Limit HT frequency to 2.4GHz"
|
|
||||||
config LIMIT_HT_SPEED_2600
|
|
||||||
bool "Limit HT frequency to 2.6GHz"
|
|
||||||
config LIMIT_HT_SPEED_AUTO
|
|
||||||
bool "Autodetect HT frequency"
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "HyperTransport downlink width"
|
|
||||||
default LIMIT_HT_DOWN_WIDTH_16
|
|
||||||
help
|
|
||||||
This option sets the maximum permissible HyperTransport
|
|
||||||
downlink width.
|
|
||||||
|
|
||||||
Use of this option will only limit the autodetected HT width.
|
|
||||||
It will not (and cannot) increase the width beyond the autodetected
|
|
||||||
limits.
|
|
||||||
|
|
||||||
This is primarily used to work around poorly designed or laid out HT
|
|
||||||
traces on certain motherboards.
|
|
||||||
|
|
||||||
config LIMIT_HT_DOWN_WIDTH_8
|
|
||||||
bool "8 bits"
|
|
||||||
config LIMIT_HT_DOWN_WIDTH_16
|
|
||||||
bool "16 bits"
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "HyperTransport uplink width"
|
|
||||||
default LIMIT_HT_UP_WIDTH_16
|
|
||||||
help
|
|
||||||
This option sets the maximum permissible HyperTransport
|
|
||||||
uplink width.
|
|
||||||
|
|
||||||
Use of this option will only limit the autodetected HT width.
|
|
||||||
It will not (and cannot) increase the width beyond the autodetected
|
|
||||||
limits.
|
|
||||||
|
|
||||||
This is primarily used to work around poorly designed or laid out HT
|
|
||||||
traces on certain motherboards.
|
|
||||||
|
|
||||||
config LIMIT_HT_UP_WIDTH_8
|
|
||||||
bool "8 bits"
|
|
||||||
config LIMIT_HT_UP_WIDTH_16
|
|
||||||
bool "16 bits"
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
endmenu
|
|
||||||
|
|
||||||
source src/northbridge/Kconfig
|
source src/northbridge/Kconfig
|
||||||
comment "Southbridge"
|
comment "Southbridge"
|
||||||
source src/southbridge/Kconfig
|
source src/southbridge/Kconfig
|
||||||
|
|
|
@ -3,3 +3,92 @@ source src/northbridge/amd/gx1/Kconfig
|
||||||
source src/northbridge/amd/gx2/Kconfig
|
source src/northbridge/amd/gx2/Kconfig
|
||||||
source src/northbridge/amd/amdfam10/Kconfig
|
source src/northbridge/amd/amdfam10/Kconfig
|
||||||
source src/northbridge/amd/lx/Kconfig
|
source src/northbridge/amd/lx/Kconfig
|
||||||
|
menu "HyperTransport setup"
|
||||||
|
#could be implemented for K8 (NORTHBRIDGE_AMD_AMDK8)
|
||||||
|
depends on (NORTHBRIDGE_AMD_AMDFAM10) && EXPERT
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "HyperTransport frequency"
|
||||||
|
default LIMIT_HT_SPEED_AUTO
|
||||||
|
help
|
||||||
|
This option sets the maximum permissible HyperTransport link
|
||||||
|
frequency.
|
||||||
|
|
||||||
|
Use of this option will only limit the autodetected HT frequency.
|
||||||
|
It will not (and cannot) increase the frequency beyond the
|
||||||
|
autodetected limits.
|
||||||
|
|
||||||
|
This is primarily used to work around poorly designed or laid out
|
||||||
|
HT traces on certain motherboards.
|
||||||
|
|
||||||
|
config LIMIT_HT_SPEED_200
|
||||||
|
bool "Limit HT frequency to 200MHz"
|
||||||
|
config LIMIT_HT_SPEED_400
|
||||||
|
bool "Limit HT frequency to 400MHz"
|
||||||
|
config LIMIT_HT_SPEED_600
|
||||||
|
bool "Limit HT frequency to 600MHz"
|
||||||
|
config LIMIT_HT_SPEED_800
|
||||||
|
bool "Limit HT frequency to 800MHz"
|
||||||
|
config LIMIT_HT_SPEED_1000
|
||||||
|
bool "Limit HT frequency to 1.0GHz"
|
||||||
|
config LIMIT_HT_SPEED_1200
|
||||||
|
bool "Limit HT frequency to 1.2GHz"
|
||||||
|
config LIMIT_HT_SPEED_1400
|
||||||
|
bool "Limit HT frequency to 1.4GHz"
|
||||||
|
config LIMIT_HT_SPEED_1600
|
||||||
|
bool "Limit HT frequency to 1.6GHz"
|
||||||
|
config LIMIT_HT_SPEED_1800
|
||||||
|
bool "Limit HT frequency to 1.8GHz"
|
||||||
|
config LIMIT_HT_SPEED_2000
|
||||||
|
bool "Limit HT frequency to 2.0GHz"
|
||||||
|
config LIMIT_HT_SPEED_2200
|
||||||
|
bool "Limit HT frequency to 2.2GHz"
|
||||||
|
config LIMIT_HT_SPEED_2400
|
||||||
|
bool "Limit HT frequency to 2.4GHz"
|
||||||
|
config LIMIT_HT_SPEED_2600
|
||||||
|
bool "Limit HT frequency to 2.6GHz"
|
||||||
|
config LIMIT_HT_SPEED_AUTO
|
||||||
|
bool "Autodetect HT frequency"
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "HyperTransport downlink width"
|
||||||
|
default LIMIT_HT_DOWN_WIDTH_16
|
||||||
|
help
|
||||||
|
This option sets the maximum permissible HyperTransport
|
||||||
|
downlink width.
|
||||||
|
|
||||||
|
Use of this option will only limit the autodetected HT width.
|
||||||
|
It will not (and cannot) increase the width beyond the autodetected
|
||||||
|
limits.
|
||||||
|
|
||||||
|
This is primarily used to work around poorly designed or laid out HT
|
||||||
|
traces on certain motherboards.
|
||||||
|
|
||||||
|
config LIMIT_HT_DOWN_WIDTH_8
|
||||||
|
bool "8 bits"
|
||||||
|
config LIMIT_HT_DOWN_WIDTH_16
|
||||||
|
bool "16 bits"
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "HyperTransport uplink width"
|
||||||
|
default LIMIT_HT_UP_WIDTH_16
|
||||||
|
help
|
||||||
|
This option sets the maximum permissible HyperTransport
|
||||||
|
uplink width.
|
||||||
|
|
||||||
|
Use of this option will only limit the autodetected HT width.
|
||||||
|
It will not (and cannot) increase the width beyond the autodetected
|
||||||
|
limits.
|
||||||
|
|
||||||
|
This is primarily used to work around poorly designed or laid out HT
|
||||||
|
traces on certain motherboards.
|
||||||
|
|
||||||
|
config LIMIT_HT_UP_WIDTH_8
|
||||||
|
bool "8 bits"
|
||||||
|
config LIMIT_HT_UP_WIDTH_16
|
||||||
|
bool "16 bits"
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
endmenu
|
||||||
|
|
|
@ -1327,47 +1327,47 @@ void selectOptimalWidthAndFrequency(sMainData *pDat)
|
||||||
|
|
||||||
for (i = 0; i < pDat->TotalLinks*2; i += 2)
|
for (i = 0; i < pDat->TotalLinks*2; i += 2)
|
||||||
{
|
{
|
||||||
#if CONFIG_LIMIT_HT_SPEED_200
|
#if CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_200
|
||||||
cbPCBFreqLimit = 0x0001;
|
cbPCBFreqLimit = 0x0001;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_300
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_300
|
||||||
cbPCBFreqLimit = 0x0003;
|
cbPCBFreqLimit = 0x0003;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_400
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_400
|
||||||
cbPCBFreqLimit = 0x0007;
|
cbPCBFreqLimit = 0x0007;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_500
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_500
|
||||||
cbPCBFreqLimit = 0x000F;
|
cbPCBFreqLimit = 0x000F;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_600
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_600
|
||||||
cbPCBFreqLimit = 0x001F;
|
cbPCBFreqLimit = 0x001F;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_800
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_800
|
||||||
cbPCBFreqLimit = 0x003F;
|
cbPCBFreqLimit = 0x003F;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_1000
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_1000
|
||||||
cbPCBFreqLimit = 0x007F;
|
cbPCBFreqLimit = 0x007F;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_1200
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_1200
|
||||||
cbPCBFreqLimit = 0x00FF;
|
cbPCBFreqLimit = 0x00FF;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_1400
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_1400
|
||||||
cbPCBFreqLimit = 0x01FF;
|
cbPCBFreqLimit = 0x01FF;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_1600
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_1600
|
||||||
cbPCBFreqLimit = 0x03FF;
|
cbPCBFreqLimit = 0x03FF;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_1800
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_1800
|
||||||
cbPCBFreqLimit = 0x07FF;
|
cbPCBFreqLimit = 0x07FF;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_2000
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_2000
|
||||||
cbPCBFreqLimit = 0x0FFF;
|
cbPCBFreqLimit = 0x0FFF;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_2200
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_2200
|
||||||
cbPCBFreqLimit = 0x1FFF;
|
cbPCBFreqLimit = 0x1FFF;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_2400
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_2400
|
||||||
cbPCBFreqLimit = 0x3FFF;
|
cbPCBFreqLimit = 0x3FFF;
|
||||||
#elif CONFIG_LIMIT_HT_SPEED_2600
|
#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_2600
|
||||||
cbPCBFreqLimit = 0x7FFF;
|
cbPCBFreqLimit = 0x7FFF;
|
||||||
#else
|
#else
|
||||||
cbPCBFreqLimit = 0xFFFF; // Maximum allowed by autoconfiguration
|
cbPCBFreqLimit = 0xFFFF; // Maximum allowed by autoconfiguration
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_LIMIT_HT_DOWN_WIDTH_8
|
#if CONFIG_EXPERT && CONFIG_LIMIT_HT_DOWN_WIDTH_8
|
||||||
cbPCBABDownstreamWidth = 8;
|
cbPCBABDownstreamWidth = 8;
|
||||||
#else
|
#else
|
||||||
cbPCBABDownstreamWidth = 16;
|
cbPCBABDownstreamWidth = 16;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_LIMIT_HT_UP_WIDTH_8
|
#if CONFIG_EXPERT && CONFIG_LIMIT_HT_UP_WIDTH_8
|
||||||
cbPCBBAUpstreamWidth = 8;
|
cbPCBBAUpstreamWidth = 8;
|
||||||
#else
|
#else
|
||||||
cbPCBBAUpstreamWidth = 16;
|
cbPCBBAUpstreamWidth = 16;
|
||||||
|
|
Loading…
Reference in New Issue