summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Kconfig90
-rw-r--r--src/northbridge/amd/Kconfig89
-rw-r--r--src/northbridge/amd/amdht/h3finit.c34
3 files changed, 106 insertions, 107 deletions
diff --git a/src/Kconfig b/src/Kconfig
index f15e28b640..fec4d0be49 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -90,96 +90,6 @@ menu "Chipset"
comment "CPU"
source src/cpu/Kconfig
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
comment "Southbridge"
source src/southbridge/Kconfig
diff --git a/src/northbridge/amd/Kconfig b/src/northbridge/amd/Kconfig
index 25c4b081bc..29d6bb120b 100644
--- a/src/northbridge/amd/Kconfig
+++ b/src/northbridge/amd/Kconfig
@@ -3,3 +3,92 @@ source src/northbridge/amd/gx1/Kconfig
source src/northbridge/amd/gx2/Kconfig
source src/northbridge/amd/amdfam10/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
diff --git a/src/northbridge/amd/amdht/h3finit.c b/src/northbridge/amd/amdht/h3finit.c
index be55c063bb..bb37481d10 100644
--- a/src/northbridge/amd/amdht/h3finit.c
+++ b/src/northbridge/amd/amdht/h3finit.c
@@ -1327,47 +1327,47 @@ void selectOptimalWidthAndFrequency(sMainData *pDat)
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;
-#elif CONFIG_LIMIT_HT_SPEED_300
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_300
cbPCBFreqLimit = 0x0003;
-#elif CONFIG_LIMIT_HT_SPEED_400
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_400
cbPCBFreqLimit = 0x0007;
-#elif CONFIG_LIMIT_HT_SPEED_500
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_500
cbPCBFreqLimit = 0x000F;
-#elif CONFIG_LIMIT_HT_SPEED_600
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_600
cbPCBFreqLimit = 0x001F;
-#elif CONFIG_LIMIT_HT_SPEED_800
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_800
cbPCBFreqLimit = 0x003F;
-#elif CONFIG_LIMIT_HT_SPEED_1000
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_1000
cbPCBFreqLimit = 0x007F;
-#elif CONFIG_LIMIT_HT_SPEED_1200
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_1200
cbPCBFreqLimit = 0x00FF;
-#elif CONFIG_LIMIT_HT_SPEED_1400
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_1400
cbPCBFreqLimit = 0x01FF;
-#elif CONFIG_LIMIT_HT_SPEED_1600
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_1600
cbPCBFreqLimit = 0x03FF;
-#elif CONFIG_LIMIT_HT_SPEED_1800
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_1800
cbPCBFreqLimit = 0x07FF;
-#elif CONFIG_LIMIT_HT_SPEED_2000
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_2000
cbPCBFreqLimit = 0x0FFF;
-#elif CONFIG_LIMIT_HT_SPEED_2200
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_2200
cbPCBFreqLimit = 0x1FFF;
-#elif CONFIG_LIMIT_HT_SPEED_2400
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_2400
cbPCBFreqLimit = 0x3FFF;
-#elif CONFIG_LIMIT_HT_SPEED_2600
+#elif CONFIG_EXPERT && CONFIG_LIMIT_HT_SPEED_2600
cbPCBFreqLimit = 0x7FFF;
#else
cbPCBFreqLimit = 0xFFFF; // Maximum allowed by autoconfiguration
#endif
-#if CONFIG_LIMIT_HT_DOWN_WIDTH_8
+#if CONFIG_EXPERT && CONFIG_LIMIT_HT_DOWN_WIDTH_8
cbPCBABDownstreamWidth = 8;
#else
cbPCBABDownstreamWidth = 16;
#endif
-#if CONFIG_LIMIT_HT_UP_WIDTH_8
+#if CONFIG_EXPERT && CONFIG_LIMIT_HT_UP_WIDTH_8
cbPCBBAUpstreamWidth = 8;
#else
cbPCBBAUpstreamWidth = 16;