[coreboot-gerrit] Patch set updated for coreboot: 0fb749c northbridge/amd/amdfam10: Allow mainboards to set maximum HT link frequency

Timothy Pearson (tpearson@raptorengineeringinc.com) gerrit at coreboot.org
Tue Feb 10 22:22:48 CET 2015


Timothy Pearson (tpearson at raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8405

-gerrit

commit 0fb749c9fa1c6908bd7a8df9c082669b7d433b14
Author: Timothy Pearson <tpearson at raptorengineeringinc.com>
Date:   Tue Feb 10 13:13:39 2015 -0600

    northbridge/amd/amdfam10: Allow mainboards to set maximum HT link frequency
    
    Most K10 mainboards are designed to a maximum HT frequency specification.
    Coreboot supports CPUs that were released after mainboard production;
    these CPUs may support and autodetect HT link frequencies beyond the
    mainboard design capabilities.  This patch allows mainboards to set
    an HT frequency limit if needed.
    
    Moved K10 specific menu to amdfam10 Kconfig file.
    
    Change-Id: If7ff40dccb4c22829062511ca0046aa2caf15580
    Signed-off-by: Timothy Pearson <tpearson at raptorengineeringinc.com>
---
 src/northbridge/amd/Kconfig          | 132 ----------------------
 src/northbridge/amd/amdfam10/Kconfig | 209 +++++++++++++++++++++++++++++++++++
 2 files changed, 209 insertions(+), 132 deletions(-)

diff --git a/src/northbridge/amd/Kconfig b/src/northbridge/amd/Kconfig
index 17f15c3..98a0e9e 100644
--- a/src/northbridge/amd/Kconfig
+++ b/src/northbridge/amd/Kconfig
@@ -5,135 +5,3 @@ source src/northbridge/amd/lx/Kconfig
 source src/northbridge/amd/agesa/Kconfig
 source src/northbridge/amd/cimx/Kconfig
 source src/northbridge/amd/pi/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_300
-	bool "Limit HT frequency to 300MHz"
-config LIMIT_HT_SPEED_400
-	bool "Limit HT frequency to 400MHz"
-config LIMIT_HT_SPEED_500
-	bool "Limit HT frequency to 500MHz"
-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
-
-config AMDMCT_ENABLE_ECC_REDIR
-	bool
-	depends on CPU_AMD_MODEL_10XXX
-	default n
-
-config AMDMCT_BACKGROUND_SCRUB_RATE
-	hex
-	depends on CPU_AMD_MODEL_10XXX
-	default 0x00
-	help
-	  This option sets the background ECC memory scub rate
-
-	  Permissible values are:
-
-	  0x00;	Disabled
-	  0x01;	40ns
-	  0x02;	80ns
-	  0x03;	160ns
-	  0x04;	320ns
-	  0x05;	640ns
-	  0x06;	1.28us
-	  0x07;	2.56us
-	  0x08;	5.12us
-	  0x09;	10.2us
-	  0x0a;	20.5us
-	  0x0b;	41us
-	  0x0c;	81.9us
-	  0x0d;	163.8us
-	  0x0e;	327.7us
-	  0x0f;	655.4us
-	  0x10;	1.31ms
-	  0x11;	2.62ms
-	  0x12;	5.24ms
-	  0x13;	10.49ms
-	  0x14;	20.97sms
-	  0x15;	42ms
-	  0x16;	84ms
-
-endmenu
diff --git a/src/northbridge/amd/amdfam10/Kconfig b/src/northbridge/amd/amdfam10/Kconfig
index 13b912e..5fc7584 100644
--- a/src/northbridge/amd/amdfam10/Kconfig
+++ b/src/northbridge/amd/amdfam10/Kconfig
@@ -124,4 +124,213 @@ config SVI_HIGH_FREQ
           Select this for boards with a Voltage Regulator able to operate
           at 3.4 MHz in SVI mode. Ignored unless the AMD CPU is rev C3.
 
+config FORCE_LIMIT_HT_SPEED_200
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_300
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_400
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_500
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_600
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_800
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_1000
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_1200
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_1400
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_1600
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_1800
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_2000
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_2200
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_2400
+	bool
+	default n
+
+config FORCE_LIMIT_HT_SPEED_2600
+	bool
+	default n
+
+menu "HyperTransport setup"
+	#could be implemented for K8 (NORTHBRIDGE_AMD_AMDK8)
+	depends on (NORTHBRIDGE_AMD_AMDFAM10)
+	# FIXME uncomment when coreboot gains "visible if" support
+	# visible if EXPERT
+
+choice
+	prompt "HyperTransport frequency"
+	default LIMIT_HT_SPEED_AUTO if (!FORCE_LIMIT_HT_SPEED_200 && !FORCE_LIMIT_HT_SPEED_300 && !FORCE_LIMIT_HT_SPEED_400 && !FORCE_LIMIT_HT_SPEED_500 && !FORCE_LIMIT_HT_SPEED_600 && !FORCE_LIMIT_HT_SPEED_800 && !FORCE_LIMIT_HT_SPEED_1000 && !FORCE_LIMIT_HT_SPEED_1200 && !FORCE_LIMIT_HT_SPEED_1400 && !FORCE_LIMIT_HT_SPEED_1600 && !FORCE_LIMIT_HT_SPEED_1800 && !FORCE_LIMIT_HT_SPEED_2000 && !FORCE_LIMIT_HT_SPEED_2200 && !FORCE_LIMIT_HT_SPEED_2400 && !FORCE_LIMIT_HT_SPEED_2600)
+	default LIMIT_HT_SPEED_200 if FORCE_LIMIT_HT_SPEED_200
+	default LIMIT_HT_SPEED_300 if FORCE_LIMIT_HT_SPEED_300
+	default LIMIT_HT_SPEED_400 if FORCE_LIMIT_HT_SPEED_400
+	default LIMIT_HT_SPEED_500 if FORCE_LIMIT_HT_SPEED_500
+	default LIMIT_HT_SPEED_600 if FORCE_LIMIT_HT_SPEED_600
+	default LIMIT_HT_SPEED_800 if FORCE_LIMIT_HT_SPEED_800
+	default LIMIT_HT_SPEED_1000 if FORCE_LIMIT_HT_SPEED_1000
+	default LIMIT_HT_SPEED_1200 if FORCE_LIMIT_HT_SPEED_1200
+	default LIMIT_HT_SPEED_1400 if FORCE_LIMIT_HT_SPEED_1400
+	default LIMIT_HT_SPEED_1600 if FORCE_LIMIT_HT_SPEED_1600
+	default LIMIT_HT_SPEED_1800 if FORCE_LIMIT_HT_SPEED_1800
+	default LIMIT_HT_SPEED_2000 if FORCE_LIMIT_HT_SPEED_2000
+	default LIMIT_HT_SPEED_2200 if FORCE_LIMIT_HT_SPEED_2200
+	default LIMIT_HT_SPEED_2400 if FORCE_LIMIT_HT_SPEED_2400
+	default LIMIT_HT_SPEED_2600 if FORCE_LIMIT_HT_SPEED_2600
+	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_300
+	bool "Limit HT frequency to 300MHz"
+config LIMIT_HT_SPEED_400
+	bool "Limit HT frequency to 400MHz"
+config LIMIT_HT_SPEED_500
+	bool "Limit HT frequency to 500MHz"
+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
+
+config AMDMCT_ENABLE_ECC_REDIR
+	bool
+	depends on CPU_AMD_MODEL_10XXX
+	default n
+
+config AMDMCT_BACKGROUND_SCRUB_RATE
+	hex
+	depends on CPU_AMD_MODEL_10XXX
+	default 0x00
+	help
+	  This option sets the background ECC memory scub rate
+
+	  Permissible values are:
+
+	  0x00;	Disabled
+	  0x01;	40ns
+	  0x02;	80ns
+	  0x03;	160ns
+	  0x04;	320ns
+	  0x05;	640ns
+	  0x06;	1.28us
+	  0x07;	2.56us
+	  0x08;	5.12us
+	  0x09;	10.2us
+	  0x0a;	20.5us
+	  0x0b;	41us
+	  0x0c;	81.9us
+	  0x0d;	163.8us
+	  0x0e;	327.7us
+	  0x0f;	655.4us
+	  0x10;	1.31ms
+	  0x11;	2.62ms
+	  0x12;	5.24ms
+	  0x13;	10.49ms
+	  0x14;	20.97sms
+	  0x15;	42ms
+	  0x16;	84ms
+
+endmenu
+
 endif # NORTHBRIDGE_AMD_AMDFAM10



More information about the coreboot-gerrit mailing list