[coreboot-gerrit] New patch to review for coreboot: 8653b4c AMD K8 fam10: Refactor Kconfig SB_HT_CHAIN_ON_BUS0

Kyösti Mälkki (kyosti.malkki@gmail.com) gerrit at coreboot.org
Thu Feb 5 16:21:46 CET 2015


Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8366

-gerrit

commit 8653b4cdd85f1b91842e0d9d49cb1550bcdee9c6
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date:   Thu Feb 5 15:48:38 2015 +0200

    AMD K8 fam10: Refactor Kconfig SB_HT_CHAIN_ON_BUS0
    
    If SB_HT_CHAIN_ON_BUS0 is selected, HyperTransport chain on southbridge
    is the first to scan and it will be assigned with bus number 0.
    
    If HT_CHAIN_DISTRIBUTE is selected, each link will reserve a fixed range
    of bus numbers instead of assigning consecutive numbers across all the links.
    
    All fam10 have SB_HT_CHAIN_ON_BUS0 selected under northbridge.
    Follow-up can easily drop this if we find this is dictated by architecture.
    
    Change-Id: I8deddcb4c3fd679b6b27e2879d9dba3895c4dd6f
    Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
 src/mainboard/advansus/a785e-i/Kconfig            | 4 ----
 src/mainboard/amd/bimini_fam10/Kconfig            | 4 ----
 src/mainboard/amd/dbm690t/Kconfig                 | 5 +----
 src/mainboard/amd/mahogany/Kconfig                | 5 +----
 src/mainboard/amd/mahogany_fam10/Kconfig          | 4 ----
 src/mainboard/amd/pistachio/Kconfig               | 5 +----
 src/mainboard/amd/serengeti_cheetah/Kconfig       | 6 ++----
 src/mainboard/amd/serengeti_cheetah_fam10/Kconfig | 5 +----
 src/mainboard/amd/tilapia_fam10/Kconfig           | 4 ----
 src/mainboard/arima/hdama/Kconfig                 | 5 +----
 src/mainboard/asrock/939a785gmh/Kconfig           | 5 +----
 src/mainboard/asus/a8n_e/Kconfig                  | 6 ++----
 src/mainboard/asus/a8v-e_deluxe/Kconfig           | 5 +----
 src/mainboard/asus/a8v-e_se/Kconfig               | 5 +----
 src/mainboard/asus/k8v-x/Kconfig                  | 5 +----
 src/mainboard/asus/kfsn4-dre/Kconfig              | 4 ----
 src/mainboard/asus/m2n-e/Kconfig                  | 6 ++----
 src/mainboard/asus/m2v-mx_se/Kconfig              | 5 +----
 src/mainboard/asus/m2v/Kconfig                    | 5 +----
 src/mainboard/asus/m4a78-em/Kconfig               | 4 ----
 src/mainboard/asus/m4a785-m/Kconfig               | 4 ----
 src/mainboard/asus/m4a785t-m/Kconfig              | 4 ----
 src/mainboard/asus/m5a88-v/Kconfig                | 4 ----
 src/mainboard/avalue/eax-785e/Kconfig             | 4 ----
 src/mainboard/broadcom/blast/Kconfig              | 5 +----
 src/mainboard/gigabyte/ga_2761gxdk/Kconfig        | 6 ++----
 src/mainboard/gigabyte/m57sli/Kconfig             | 6 ++----
 src/mainboard/gigabyte/ma785gm/Kconfig            | 4 ----
 src/mainboard/gigabyte/ma785gmt/Kconfig           | 4 ----
 src/mainboard/gigabyte/ma78gm/Kconfig             | 4 ----
 src/mainboard/hp/dl145_g1/Kconfig                 | 6 ++----
 src/mainboard/hp/dl145_g3/Kconfig                 | 6 ++----
 src/mainboard/hp/dl165_g6_fam10/Kconfig           | 5 +----
 src/mainboard/iei/kino-780am2-fam10/Kconfig       | 4 ----
 src/mainboard/iwill/dk8_htx/Kconfig               | 6 ++----
 src/mainboard/jetway/pa78vm5/Kconfig              | 4 ----
 src/mainboard/kontron/kt690/Kconfig               | 5 +----
 src/mainboard/msi/ms7135/Kconfig                  | 6 ++----
 src/mainboard/msi/ms7260/Kconfig                  | 6 ++----
 src/mainboard/msi/ms9185/Kconfig                  | 6 ++----
 src/mainboard/msi/ms9282/Kconfig                  | 5 +----
 src/mainboard/msi/ms9652_fam10/Kconfig            | 4 ----
 src/mainboard/nvidia/l1_2pvv/Kconfig              | 6 ++----
 src/mainboard/siemens/sitemp_g1p1/Kconfig         | 5 +----
 src/mainboard/sunw/ultra40/Kconfig                | 6 ++----
 src/mainboard/supermicro/h8dme/Kconfig            | 6 ++----
 src/mainboard/supermicro/h8dmr/Kconfig            | 6 ++----
 src/mainboard/supermicro/h8dmr_fam10/Kconfig      | 5 +----
 src/mainboard/supermicro/h8qme_fam10/Kconfig      | 5 +----
 src/mainboard/supermicro/h8scm_fam10/Kconfig      | 4 ----
 src/mainboard/technexion/tim5690/Kconfig          | 5 +----
 src/mainboard/technexion/tim8690/Kconfig          | 5 +----
 src/mainboard/tyan/s2881/Kconfig                  | 6 ++----
 src/mainboard/tyan/s2885/Kconfig                  | 6 ++----
 src/mainboard/tyan/s2891/Kconfig                  | 6 ++----
 src/mainboard/tyan/s2892/Kconfig                  | 6 ++----
 src/mainboard/tyan/s2895/Kconfig                  | 6 ++----
 src/mainboard/tyan/s2912/Kconfig                  | 6 ++----
 src/mainboard/tyan/s2912_fam10/Kconfig            | 5 +----
 src/mainboard/winent/mb6047/Kconfig               | 6 ++----
 src/northbridge/amd/amdfam10/Kconfig              | 6 ++++++
 src/northbridge/amd/amdfam10/northbridge.c        | 8 ++++----
 src/northbridge/amd/amdk8/Kconfig                 | 6 ++++--
 src/northbridge/amd/amdk8/northbridge.c           | 8 ++++----
 64 files changed, 83 insertions(+), 250 deletions(-)

diff --git a/src/mainboard/advansus/a785e-i/Kconfig b/src/mainboard/advansus/a785e-i/Kconfig
index ab77898..901d8c5 100644
--- a/src/mainboard/advansus/a785e-i/Kconfig
+++ b/src/mainboard/advansus/a785e-i/Kconfig
@@ -53,10 +53,6 @@ config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/amd/bimini_fam10/Kconfig b/src/mainboard/amd/bimini_fam10/Kconfig
index 1af8d64..ec19e42 100644
--- a/src/mainboard/amd/bimini_fam10/Kconfig
+++ b/src/mainboard/amd/bimini_fam10/Kconfig
@@ -53,10 +53,6 @@ config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/amd/dbm690t/Kconfig b/src/mainboard/amd/dbm690t/Kconfig
index 70d63ad..9445893 100644
--- a/src/mainboard/amd/dbm690t/Kconfig
+++ b/src/mainboard/amd/dbm690t/Kconfig
@@ -6,6 +6,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_AMD_RS690
 	select SOUTHBRIDGE_AMD_SB600
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_ITE_IT8712F
 	select HAVE_ACPI_TABLES
 	select HAVE_MP_TABLE
@@ -36,10 +37,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 1
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/amd/mahogany/Kconfig b/src/mainboard/amd/mahogany/Kconfig
index 394ad77..f8d3ce9 100644
--- a/src/mainboard/amd/mahogany/Kconfig
+++ b/src/mainboard/amd/mahogany/Kconfig
@@ -7,6 +7,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_AMD_RS780
 	select SOUTHBRIDGE_AMD_SB700
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_ITE_IT8718F
 	select HAVE_ACPI_TABLES
 	select HAVE_MP_TABLE
@@ -47,10 +48,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/amd/mahogany_fam10/Kconfig b/src/mainboard/amd/mahogany_fam10/Kconfig
index acf88ef..c477278 100644
--- a/src/mainboard/amd/mahogany_fam10/Kconfig
+++ b/src/mainboard/amd/mahogany_fam10/Kconfig
@@ -41,10 +41,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/amd/pistachio/Kconfig b/src/mainboard/amd/pistachio/Kconfig
index 9a91eec..3e6d178 100644
--- a/src/mainboard/amd/pistachio/Kconfig
+++ b/src/mainboard/amd/pistachio/Kconfig
@@ -7,6 +7,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_AMD_RS690
 	select SOUTHBRIDGE_AMD_SB600
+	select SB_HT_CHAIN_ON_BUS0
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
 	select HAVE_MP_TABLE
@@ -44,10 +45,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 1
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/amd/serengeti_cheetah/Kconfig b/src/mainboard/amd/serengeti_cheetah/Kconfig
index e1363eb..1d0f270 100644
--- a/src/mainboard/amd/serengeti_cheetah/Kconfig
+++ b/src/mainboard/amd/serengeti_cheetah/Kconfig
@@ -10,6 +10,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_AMD_AMD8111
 	select SOUTHBRIDGE_AMD_AMD8131
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_WINBOND_W83627HF
 	select PARALLEL_CPU_INIT
 	select HAVE_OPTION_TABLE
@@ -55,10 +57,6 @@ config MEM_TRAIN_SEQ
 	int
 	default 1
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x6
diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/Kconfig b/src/mainboard/amd/serengeti_cheetah_fam10/Kconfig
index 74f3c3b..5783cdd 100644
--- a/src/mainboard/amd/serengeti_cheetah_fam10/Kconfig
+++ b/src/mainboard/amd/serengeti_cheetah_fam10/Kconfig
@@ -8,6 +8,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDFAM10
 	select SOUTHBRIDGE_AMD_AMD8111
 	select SOUTHBRIDGE_AMD_AMD8132
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_WINBOND_W83627HF
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -42,10 +43,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 8
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x6
diff --git a/src/mainboard/amd/tilapia_fam10/Kconfig b/src/mainboard/amd/tilapia_fam10/Kconfig
index b6c9448..5dfed59 100644
--- a/src/mainboard/amd/tilapia_fam10/Kconfig
+++ b/src/mainboard/amd/tilapia_fam10/Kconfig
@@ -41,10 +41,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/arima/hdama/Kconfig b/src/mainboard/arima/hdama/Kconfig
index 49860b3..ace9548 100644
--- a/src/mainboard/arima/hdama/Kconfig
+++ b/src/mainboard/arima/hdama/Kconfig
@@ -6,6 +6,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_AMD_AMD8111
 	select SOUTHBRIDGE_AMD_AMD8131
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_NSC_PC87360
 	select HAVE_PIRQ_TABLE
 	select HAVE_OPTION_TABLE
@@ -38,10 +39,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
diff --git a/src/mainboard/asrock/939a785gmh/Kconfig b/src/mainboard/asrock/939a785gmh/Kconfig
index cfaa599..ff7f172 100644
--- a/src/mainboard/asrock/939a785gmh/Kconfig
+++ b/src/mainboard/asrock/939a785gmh/Kconfig
@@ -7,6 +7,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_AMD_RS780
 	select SOUTHBRIDGE_AMD_SB700
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_WINBOND_W83627DHG
 	select HAVE_ACPI_TABLES
 	select HAVE_ACPI_RESUME
@@ -49,10 +50,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/asus/a8n_e/Kconfig b/src/mainboard/asus/a8n_e/Kconfig
index 5b7c1e6..51bf531 100644
--- a/src/mainboard/asus/a8n_e/Kconfig
+++ b/src/mainboard/asus/a8n_e/Kconfig
@@ -5,6 +5,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select CPU_AMD_SOCKET_939
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_CK804
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_ITE_IT8712F
 	select HAVE_OPTION_TABLE
 	select HAVE_CMOS_DEFAULT
@@ -54,10 +56,6 @@ config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config IRQ_SLOT_COUNT
 	int
 	default 13
diff --git a/src/mainboard/asus/a8v-e_deluxe/Kconfig b/src/mainboard/asus/a8v-e_deluxe/Kconfig
index 8ebff31..9bb9406 100644
--- a/src/mainboard/asus/a8v-e_deluxe/Kconfig
+++ b/src/mainboard/asus/a8v-e_deluxe/Kconfig
@@ -8,6 +8,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select SOUTHBRIDGE_VIA_VT8237R
 	select SOUTHBRIDGE_VIA_K8T890
 	select SOUTHBRIDGE_VIA_SUBTYPE_K8T890
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_WINBOND_W83627EHG
 	select HAVE_OPTION_TABLE
 	select HAVE_ACPI_TABLES
@@ -33,10 +34,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0x10
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "A8V-E Deluxe"
diff --git a/src/mainboard/asus/a8v-e_se/Kconfig b/src/mainboard/asus/a8v-e_se/Kconfig
index d819b0d..1c63c13 100644
--- a/src/mainboard/asus/a8v-e_se/Kconfig
+++ b/src/mainboard/asus/a8v-e_se/Kconfig
@@ -8,6 +8,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select SOUTHBRIDGE_VIA_VT8237R
 	select SOUTHBRIDGE_VIA_K8T890
 	select SOUTHBRIDGE_VIA_SUBTYPE_K8T890
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_WINBOND_W83627EHG
 	select HAVE_OPTION_TABLE
 	select HAVE_ACPI_TABLES
@@ -33,10 +34,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0x10
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "A8V-E SE"
diff --git a/src/mainboard/asus/k8v-x/Kconfig b/src/mainboard/asus/k8v-x/Kconfig
index 1deb5b6..eea41b4 100644
--- a/src/mainboard/asus/k8v-x/Kconfig
+++ b/src/mainboard/asus/k8v-x/Kconfig
@@ -7,6 +7,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select SOUTHBRIDGE_VIA_VT8237R
 	select SOUTHBRIDGE_VIA_K8T890
 	select SOUTHBRIDGE_VIA_SUBTYPE_K8T800_OLD
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_WINBOND_W83697HF
 	select HAVE_OPTION_TABLE
 	select HAVE_ACPI_TABLES
@@ -32,10 +33,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0x10
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "K8V-X"
diff --git a/src/mainboard/asus/kfsn4-dre/Kconfig b/src/mainboard/asus/kfsn4-dre/Kconfig
index 92e01aa..95d6c30 100644
--- a/src/mainboard/asus/kfsn4-dre/Kconfig
+++ b/src/mainboard/asus/kfsn4-dre/Kconfig
@@ -36,10 +36,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "KFSN4-DRE"
diff --git a/src/mainboard/asus/m2n-e/Kconfig b/src/mainboard/asus/m2n-e/Kconfig
index 7292bf3..756866f 100644
--- a/src/mainboard/asus/m2n-e/Kconfig
+++ b/src/mainboard/asus/m2n-e/Kconfig
@@ -26,6 +26,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DIMM_DDR2
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_MCP55
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select MCP55_USE_NIC
 	select MCP55_USE_AZA
 	select SUPERIO_ITE_IT8716F
@@ -57,10 +59,6 @@ config MEM_TRAIN_SEQ
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "M2N-E"
diff --git a/src/mainboard/asus/m2v-mx_se/Kconfig b/src/mainboard/asus/m2v-mx_se/Kconfig
index 27b8253..cab6c16 100644
--- a/src/mainboard/asus/m2v-mx_se/Kconfig
+++ b/src/mainboard/asus/m2v-mx_se/Kconfig
@@ -26,6 +26,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select SOUTHBRIDGE_VIA_VT8237R
 	select SOUTHBRIDGE_VIA_K8T890
 	select SOUTHBRIDGE_VIA_SUBTYPE_K8M890
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_ITE_IT8712F
 	select HAVE_OPTION_TABLE
 	select HAVE_ACPI_TABLES
@@ -67,10 +68,6 @@ config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
diff --git a/src/mainboard/asus/m2v/Kconfig b/src/mainboard/asus/m2v/Kconfig
index 35ad38d..e30be2b 100644
--- a/src/mainboard/asus/m2v/Kconfig
+++ b/src/mainboard/asus/m2v/Kconfig
@@ -11,6 +11,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select SOUTHBRIDGE_VIA_VT8237R
 	select SOUTHBRIDGE_VIA_K8T890
 	select SOUTHBRIDGE_VIA_SUBTYPE_K8T890
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_ITE_IT8712F
 	select BOARD_ROMSIZE_KB_512
 	select HAVE_ACPI_RESUME
@@ -36,10 +37,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0x10
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "M2V"
diff --git a/src/mainboard/asus/m4a78-em/Kconfig b/src/mainboard/asus/m4a78-em/Kconfig
index 6118d12..fda5c8c 100644
--- a/src/mainboard/asus/m4a78-em/Kconfig
+++ b/src/mainboard/asus/m4a78-em/Kconfig
@@ -40,10 +40,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/asus/m4a785-m/Kconfig b/src/mainboard/asus/m4a785-m/Kconfig
index dd58db3..b190852 100644
--- a/src/mainboard/asus/m4a785-m/Kconfig
+++ b/src/mainboard/asus/m4a785-m/Kconfig
@@ -41,10 +41,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/asus/m4a785t-m/Kconfig b/src/mainboard/asus/m4a785t-m/Kconfig
index 19d8fd2..6002716 100644
--- a/src/mainboard/asus/m4a785t-m/Kconfig
+++ b/src/mainboard/asus/m4a785t-m/Kconfig
@@ -43,10 +43,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/asus/m5a88-v/Kconfig b/src/mainboard/asus/m5a88-v/Kconfig
index 3a0f70f..0b18381 100644
--- a/src/mainboard/asus/m5a88-v/Kconfig
+++ b/src/mainboard/asus/m5a88-v/Kconfig
@@ -51,10 +51,6 @@ config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/avalue/eax-785e/Kconfig b/src/mainboard/avalue/eax-785e/Kconfig
index 091dcee..db95492 100644
--- a/src/mainboard/avalue/eax-785e/Kconfig
+++ b/src/mainboard/avalue/eax-785e/Kconfig
@@ -53,10 +53,6 @@ config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/broadcom/blast/Kconfig b/src/mainboard/broadcom/blast/Kconfig
index b821f7a..1935cec 100644
--- a/src/mainboard/broadcom/blast/Kconfig
+++ b/src/mainboard/broadcom/blast/Kconfig
@@ -6,6 +6,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_BROADCOM_BCM5780
 	select SOUTHBRIDGE_BROADCOM_BCM5785
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_NSC_PC87417
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -31,10 +32,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0x0
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "Blast"
diff --git a/src/mainboard/gigabyte/ga_2761gxdk/Kconfig b/src/mainboard/gigabyte/ga_2761gxdk/Kconfig
index a79c28f..eb5d2c2 100644
--- a/src/mainboard/gigabyte/ga_2761gxdk/Kconfig
+++ b/src/mainboard/gigabyte/ga_2761gxdk/Kconfig
@@ -6,6 +6,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DIMM_DDR2
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_SIS_SIS966
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_ITE_IT8716F
 	select PARALLEL_CPU_INIT
 	select HAVE_OPTION_TABLE
@@ -37,10 +39,6 @@ config MEM_TRAIN_SEQ
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "GA-2761GXDK"
diff --git a/src/mainboard/gigabyte/m57sli/Kconfig b/src/mainboard/gigabyte/m57sli/Kconfig
index 6ef94ce..2eec3f0 100644
--- a/src/mainboard/gigabyte/m57sli/Kconfig
+++ b/src/mainboard/gigabyte/m57sli/Kconfig
@@ -6,6 +6,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DIMM_DDR2
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_MCP55
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select MCP55_USE_NIC
 	select MCP55_USE_AZA
 	select SUPERIO_ITE_IT8716F
@@ -41,10 +43,6 @@ config MEM_TRAIN_SEQ
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "GA-M57SLI-S4"
diff --git a/src/mainboard/gigabyte/ma785gm/Kconfig b/src/mainboard/gigabyte/ma785gm/Kconfig
index f830e81..1a00b37 100644
--- a/src/mainboard/gigabyte/ma785gm/Kconfig
+++ b/src/mainboard/gigabyte/ma785gm/Kconfig
@@ -41,10 +41,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/gigabyte/ma785gmt/Kconfig b/src/mainboard/gigabyte/ma785gmt/Kconfig
index 505d033..608162f 100644
--- a/src/mainboard/gigabyte/ma785gmt/Kconfig
+++ b/src/mainboard/gigabyte/ma785gmt/Kconfig
@@ -41,10 +41,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/gigabyte/ma78gm/Kconfig b/src/mainboard/gigabyte/ma78gm/Kconfig
index b36640f..d2d2620 100644
--- a/src/mainboard/gigabyte/ma78gm/Kconfig
+++ b/src/mainboard/gigabyte/ma78gm/Kconfig
@@ -41,10 +41,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/hp/dl145_g1/Kconfig b/src/mainboard/hp/dl145_g1/Kconfig
index 0c6d642..3d2bfb7 100644
--- a/src/mainboard/hp/dl145_g1/Kconfig
+++ b/src/mainboard/hp/dl145_g1/Kconfig
@@ -6,6 +6,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_AMD_AMD8131
 	select SOUTHBRIDGE_AMD_AMD8111
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_WINBOND_W83627HF
 	select HAVE_HARD_RESET
 	select HAVE_OPTION_TABLE
@@ -28,10 +30,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0x0
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "ProLiant DL145 G1"
diff --git a/src/mainboard/hp/dl145_g3/Kconfig b/src/mainboard/hp/dl145_g3/Kconfig
index 439188a..a8e73cb 100644
--- a/src/mainboard/hp/dl145_g3/Kconfig
+++ b/src/mainboard/hp/dl145_g3/Kconfig
@@ -8,6 +8,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_BROADCOM_BCM21000
 	select SOUTHBRIDGE_BROADCOM_BCM5785
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_SERVERENGINES_PILOT
 	select SUPERIO_NSC_PC87417
 	select HAVE_OPTION_TABLE
@@ -56,10 +58,6 @@ config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x6
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config IRQ_SLOT_COUNT
 	int
 	default 15
diff --git a/src/mainboard/hp/dl165_g6_fam10/Kconfig b/src/mainboard/hp/dl165_g6_fam10/Kconfig
index f6aea01..dc3e095 100644
--- a/src/mainboard/hp/dl165_g6_fam10/Kconfig
+++ b/src/mainboard/hp/dl165_g6_fam10/Kconfig
@@ -6,6 +6,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDFAM10
 	select SOUTHBRIDGE_BROADCOM_BCM21000
 	select SOUTHBRIDGE_BROADCOM_BCM5785
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_SERVERENGINES_PILOT
 	select SUPERIO_NSC_PC87417
 	select DIMM_DDR2
@@ -56,10 +57,6 @@ config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x6
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config IRQ_SLOT_COUNT
 	int
 	default 15
diff --git a/src/mainboard/iei/kino-780am2-fam10/Kconfig b/src/mainboard/iei/kino-780am2-fam10/Kconfig
index 069a4ae..8d1143a 100644
--- a/src/mainboard/iei/kino-780am2-fam10/Kconfig
+++ b/src/mainboard/iei/kino-780am2-fam10/Kconfig
@@ -41,10 +41,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/iwill/dk8_htx/Kconfig b/src/mainboard/iwill/dk8_htx/Kconfig
index cdfd99a..6baa923 100644
--- a/src/mainboard/iwill/dk8_htx/Kconfig
+++ b/src/mainboard/iwill/dk8_htx/Kconfig
@@ -6,6 +6,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_AMD_AMD8111
 	select SOUTHBRIDGE_AMD_AMD8131
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_WINBOND_W83627HF
 	select PARALLEL_CPU_INIT
 	select HAVE_OPTION_TABLE
@@ -38,10 +40,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x6
diff --git a/src/mainboard/jetway/pa78vm5/Kconfig b/src/mainboard/jetway/pa78vm5/Kconfig
index 56ad128..71f091f 100644
--- a/src/mainboard/jetway/pa78vm5/Kconfig
+++ b/src/mainboard/jetway/pa78vm5/Kconfig
@@ -41,10 +41,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/kontron/kt690/Kconfig b/src/mainboard/kontron/kt690/Kconfig
index 8d1f039..3caf2a8 100644
--- a/src/mainboard/kontron/kt690/Kconfig
+++ b/src/mainboard/kontron/kt690/Kconfig
@@ -6,6 +6,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_AMD_RS690
 	select SOUTHBRIDGE_AMD_SB600
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_WINBOND_W83627DHG
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -37,10 +38,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 1
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/msi/ms7135/Kconfig b/src/mainboard/msi/ms7135/Kconfig
index f2cfd9a..001861f 100644
--- a/src/mainboard/msi/ms7135/Kconfig
+++ b/src/mainboard/msi/ms7135/Kconfig
@@ -5,6 +5,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select CPU_AMD_SOCKET_754
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_CK804
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_WINBOND_W83627THG
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -43,10 +45,6 @@ config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config IRQ_SLOT_COUNT
 	int
 	default 13
diff --git a/src/mainboard/msi/ms7260/Kconfig b/src/mainboard/msi/ms7260/Kconfig
index 0e7e592..05c2b14 100644
--- a/src/mainboard/msi/ms7260/Kconfig
+++ b/src/mainboard/msi/ms7260/Kconfig
@@ -6,6 +6,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DIMM_DDR2
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_MCP55
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select MCP55_USE_NIC
 	select MCP55_USE_AZA
 	select SUPERIO_WINBOND_W83627EHG
@@ -39,10 +41,6 @@ config MEM_TRAIN_SEQ
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "MS-7260"
diff --git a/src/mainboard/msi/ms9185/Kconfig b/src/mainboard/msi/ms9185/Kconfig
index 0b0ff1c..38e81c8 100644
--- a/src/mainboard/msi/ms9185/Kconfig
+++ b/src/mainboard/msi/ms9185/Kconfig
@@ -8,6 +8,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_BROADCOM_BCM5780
 	select SOUTHBRIDGE_BROADCOM_BCM5785
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_NSC_PC87417
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -34,10 +36,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0x8
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "MS-9185"
diff --git a/src/mainboard/msi/ms9282/Kconfig b/src/mainboard/msi/ms9282/Kconfig
index f109375..9b11dd0 100644
--- a/src/mainboard/msi/ms9282/Kconfig
+++ b/src/mainboard/msi/ms9282/Kconfig
@@ -7,6 +7,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DIMM_REGISTERED
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_MCP55
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_WINBOND_W83627EHG
 	select PARALLEL_CPU_INIT
 	select HAVE_OPTION_TABLE
@@ -33,10 +34,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0x10
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "MS-9282"
diff --git a/src/mainboard/msi/ms9652_fam10/Kconfig b/src/mainboard/msi/ms9652_fam10/Kconfig
index 0b45db3..80c6e3e 100644
--- a/src/mainboard/msi/ms9652_fam10/Kconfig
+++ b/src/mainboard/msi/ms9652_fam10/Kconfig
@@ -77,10 +77,6 @@ config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x00
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config VAR_MTRR_HOLE
 	bool
 	default n
diff --git a/src/mainboard/nvidia/l1_2pvv/Kconfig b/src/mainboard/nvidia/l1_2pvv/Kconfig
index 57911f7..4be737b 100644
--- a/src/mainboard/nvidia/l1_2pvv/Kconfig
+++ b/src/mainboard/nvidia/l1_2pvv/Kconfig
@@ -7,6 +7,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DIMM_REGISTERED
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_MCP55
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select MCP55_USE_NIC
 	select MCP55_USE_AZA
 	select SUPERIO_WINBOND_W83627EHG
@@ -43,10 +45,6 @@ config MCP55_NUM
 	int
 	default 2
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "l1_2pvv"
diff --git a/src/mainboard/siemens/sitemp_g1p1/Kconfig b/src/mainboard/siemens/sitemp_g1p1/Kconfig
index dff329f..80c2491 100644
--- a/src/mainboard/siemens/sitemp_g1p1/Kconfig
+++ b/src/mainboard/siemens/sitemp_g1p1/Kconfig
@@ -6,6 +6,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_AMD_RS690
 	select SOUTHBRIDGE_AMD_SB600
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_ITE_IT8712F
 	select HAVE_ACPI_TABLES
 	select HAVE_MP_TABLE
@@ -43,10 +44,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 1
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/sunw/ultra40/Kconfig b/src/mainboard/sunw/ultra40/Kconfig
index 8f3ff2a..befcd5f 100644
--- a/src/mainboard/sunw/ultra40/Kconfig
+++ b/src/mainboard/sunw/ultra40/Kconfig
@@ -5,6 +5,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_CK804
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_SMSC_LPC47B397
 	select SUPERIO_SMSC_LPC47M10X
 	select HAVE_OPTION_TABLE
@@ -56,10 +58,6 @@ config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config IRQ_SLOT_COUNT
 	int
 	default 11
diff --git a/src/mainboard/supermicro/h8dme/Kconfig b/src/mainboard/supermicro/h8dme/Kconfig
index 52d5581..a5123c1 100644
--- a/src/mainboard/supermicro/h8dme/Kconfig
+++ b/src/mainboard/supermicro/h8dme/Kconfig
@@ -7,6 +7,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DIMM_REGISTERED
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_MCP55
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select MCP55_USE_NIC
 	select MCP55_USE_AZA
 	select SUPERIO_WINBOND_W83627HF
@@ -60,10 +62,6 @@ config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config IRQ_SLOT_COUNT
 	int
 	default 11
diff --git a/src/mainboard/supermicro/h8dmr/Kconfig b/src/mainboard/supermicro/h8dmr/Kconfig
index f85460b..3562aa8 100644
--- a/src/mainboard/supermicro/h8dmr/Kconfig
+++ b/src/mainboard/supermicro/h8dmr/Kconfig
@@ -7,6 +7,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DIMM_REGISTERED
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_MCP55
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select MCP55_USE_NIC
 	select MCP55_USE_AZA
 	select SUPERIO_WINBOND_W83627HF
@@ -59,10 +61,6 @@ config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config IRQ_SLOT_COUNT
 	int
 	default 11
diff --git a/src/mainboard/supermicro/h8dmr_fam10/Kconfig b/src/mainboard/supermicro/h8dmr_fam10/Kconfig
index 3a72049..b7da02b 100644
--- a/src/mainboard/supermicro/h8dmr_fam10/Kconfig
+++ b/src/mainboard/supermicro/h8dmr_fam10/Kconfig
@@ -7,6 +7,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DIMM_REGISTERED
 	select NORTHBRIDGE_AMD_AMDFAM10
 	select SOUTHBRIDGE_NVIDIA_MCP55
+	select HT_CHAIN_DISTRIBUTE
 	select MCP55_USE_NIC
 	select MCP55_USE_AZA
 	select SUPERIO_WINBOND_W83627HF
@@ -56,10 +57,6 @@ config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config IRQ_SLOT_COUNT
 	int
 	default 11
diff --git a/src/mainboard/supermicro/h8qme_fam10/Kconfig b/src/mainboard/supermicro/h8qme_fam10/Kconfig
index b3a1faf..b0058f5 100644
--- a/src/mainboard/supermicro/h8qme_fam10/Kconfig
+++ b/src/mainboard/supermicro/h8qme_fam10/Kconfig
@@ -8,6 +8,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDFAM10
 	select SOUTHBRIDGE_AMD_AMD8132
 	select SOUTHBRIDGE_NVIDIA_MCP55
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_WINBOND_W83627HF
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -54,10 +55,6 @@ config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config IRQ_SLOT_COUNT
 	int
 	default 11
diff --git a/src/mainboard/supermicro/h8scm_fam10/Kconfig b/src/mainboard/supermicro/h8scm_fam10/Kconfig
index 7fbbf66..7d56662 100644
--- a/src/mainboard/supermicro/h8scm_fam10/Kconfig
+++ b/src/mainboard/supermicro/h8scm_fam10/Kconfig
@@ -41,10 +41,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 1
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/technexion/tim5690/Kconfig b/src/mainboard/technexion/tim5690/Kconfig
index 98dce39..83b0a92 100644
--- a/src/mainboard/technexion/tim5690/Kconfig
+++ b/src/mainboard/technexion/tim5690/Kconfig
@@ -6,6 +6,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_AMD_RS690
 	select SOUTHBRIDGE_AMD_SB600
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_ITE_IT8712F
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -37,10 +38,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 1
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/technexion/tim8690/Kconfig b/src/mainboard/technexion/tim8690/Kconfig
index 4e0b25a..2e49cf1 100644
--- a/src/mainboard/technexion/tim8690/Kconfig
+++ b/src/mainboard/technexion/tim8690/Kconfig
@@ -6,6 +6,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_AMD_RS690
 	select SOUTHBRIDGE_AMD_SB600
+	select SB_HT_CHAIN_ON_BUS0
 	select SUPERIO_ITE_IT8712F
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -36,10 +37,6 @@ config MAX_PHYSICAL_CPUS
 	int
 	default 1
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 1
-
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
diff --git a/src/mainboard/tyan/s2881/Kconfig b/src/mainboard/tyan/s2881/Kconfig
index 6c759e1..833f043 100644
--- a/src/mainboard/tyan/s2881/Kconfig
+++ b/src/mainboard/tyan/s2881/Kconfig
@@ -6,6 +6,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_AMD_AMD8131
 	select SOUTHBRIDGE_AMD_AMD8111
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_WINBOND_W83627HF
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -24,10 +26,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0x0
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2881"
diff --git a/src/mainboard/tyan/s2885/Kconfig b/src/mainboard/tyan/s2885/Kconfig
index 86e43f8..9d1da13 100644
--- a/src/mainboard/tyan/s2885/Kconfig
+++ b/src/mainboard/tyan/s2885/Kconfig
@@ -7,6 +7,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select SOUTHBRIDGE_AMD_AMD8111
 	select SOUTHBRIDGE_AMD_AMD8131
 	select SOUTHBRIDGE_AMD_AMD8151
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_WINBOND_W83627HF
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -23,10 +25,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0x10
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2885"
diff --git a/src/mainboard/tyan/s2891/Kconfig b/src/mainboard/tyan/s2891/Kconfig
index 3d1c1fb..060d7f3 100644
--- a/src/mainboard/tyan/s2891/Kconfig
+++ b/src/mainboard/tyan/s2891/Kconfig
@@ -6,6 +6,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_CK804
 	select SOUTHBRIDGE_AMD_AMD8131
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_WINBOND_W83627HF
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -23,10 +25,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0x10
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2891"
diff --git a/src/mainboard/tyan/s2892/Kconfig b/src/mainboard/tyan/s2892/Kconfig
index b9c4105..6ccc11f 100644
--- a/src/mainboard/tyan/s2892/Kconfig
+++ b/src/mainboard/tyan/s2892/Kconfig
@@ -6,6 +6,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_CK804
 	select SOUTHBRIDGE_AMD_AMD8131
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_WINBOND_W83627HF
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -43,10 +45,6 @@ config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config IRQ_SLOT_COUNT
 	int
 	default 11
diff --git a/src/mainboard/tyan/s2895/Kconfig b/src/mainboard/tyan/s2895/Kconfig
index 544b0c5..bf93d25 100644
--- a/src/mainboard/tyan/s2895/Kconfig
+++ b/src/mainboard/tyan/s2895/Kconfig
@@ -6,6 +6,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_CK804
 	select SOUTHBRIDGE_AMD_AMD8131
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_SMSC_LPC47B397
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -47,10 +49,6 @@ config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config IRQ_SLOT_COUNT
 	int
 	default 11
diff --git a/src/mainboard/tyan/s2912/Kconfig b/src/mainboard/tyan/s2912/Kconfig
index 26d9a53..9196b28 100644
--- a/src/mainboard/tyan/s2912/Kconfig
+++ b/src/mainboard/tyan/s2912/Kconfig
@@ -7,6 +7,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DIMM_REGISTERED
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_MCP55
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select MCP55_USE_NIC
 	select SUPERIO_WINBOND_W83627HF
 	select PARALLEL_CPU_INIT
@@ -38,10 +40,6 @@ config MEM_TRAIN_SEQ
 	int
 	default 1
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2912"
diff --git a/src/mainboard/tyan/s2912_fam10/Kconfig b/src/mainboard/tyan/s2912_fam10/Kconfig
index 91a6e0d..ddc7571 100644
--- a/src/mainboard/tyan/s2912_fam10/Kconfig
+++ b/src/mainboard/tyan/s2912_fam10/Kconfig
@@ -7,6 +7,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DIMM_REGISTERED
 	select NORTHBRIDGE_AMD_AMDFAM10
 	select SOUTHBRIDGE_NVIDIA_MCP55
+	select HT_CHAIN_DISTRIBUTE
 	select MCP55_USE_NIC
 	select SUPERIO_WINBOND_W83627HF
 	select PARALLEL_CPU_INIT
@@ -36,10 +37,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2912 (Fam10)"
diff --git a/src/mainboard/winent/mb6047/Kconfig b/src/mainboard/winent/mb6047/Kconfig
index 86b0ae0..92cf33e 100644
--- a/src/mainboard/winent/mb6047/Kconfig
+++ b/src/mainboard/winent/mb6047/Kconfig
@@ -5,6 +5,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
 	select SOUTHBRIDGE_NVIDIA_CK804
+	select SB_HT_CHAIN_ON_BUS0
+	select HT_CHAIN_DISTRIBUTE
 	select SUPERIO_WINBOND_W83627THG
 	select HAVE_OPTION_TABLE
 	select HAVE_PIRQ_TABLE
@@ -25,10 +27,6 @@ config APIC_ID_OFFSET
 	hex
 	default 0x10
 
-config SB_HT_CHAIN_ON_BUS0
-	int
-	default 2
-
 config MAINBOARD_PART_NUMBER
 	string
 	default "MB6047"
diff --git a/src/northbridge/amd/amdfam10/Kconfig b/src/northbridge/amd/amdfam10/Kconfig
index 071557a..925b909 100644
--- a/src/northbridge/amd/amdfam10/Kconfig
+++ b/src/northbridge/amd/amdfam10/Kconfig
@@ -69,6 +69,12 @@ config SB_HT_CHAIN_UNITID_OFFSET_ONLY
 	bool
 	default n
 
+config SB_HT_CHAIN_ON_BUS0
+	def_bool y
+
+config HT_CHAIN_DISTRIBUTE
+	def_bool n
+
 config DIMM_FBDIMM
 	bool
 	default n
diff --git a/src/northbridge/amd/amdfam10/northbridge.c b/src/northbridge/amd/amdfam10/northbridge.c
index f400558..b598a84 100644
--- a/src/northbridge/amd/amdfam10/northbridge.c
+++ b/src/northbridge/amd/amdfam10/northbridge.c
@@ -196,10 +196,10 @@ static u32 amdfam10_scan_chain(device_t dev, u32 nodeid, struct bus *link, bool
 		 * so we set the subordinate bus number to 0xff for the moment.
 		 */
 
-		if ((CONFIG_SB_HT_CHAIN_ON_BUS0 == 0) || !is_sblink)
+		if (!CONFIG_SB_HT_CHAIN_ON_BUS0 || !is_sblink)
 			max++;
 
-		if ((CONFIG_SB_HT_CHAIN_ON_BUS0 > 1) && !is_sblink)
+		if (CONFIG_HT_CHAIN_DISTRIBUTE && !is_sblink)
 			max = ALIGN_UP(max, 8);
 
 		link->secondary = max;
@@ -274,7 +274,7 @@ static unsigned amdfam10_scan_chains(device_t dev, unsigned max)
 	/* Do sb ht chain at first, in case s2885 put sb chain (8131/8111) on link2, but put 8151 on link0 */
 	for (link = dev->link_list; link; link = link->next) {
 		bool is_sblink = (nodeid == 0) && (link->link_num == sblink);
-		if ((CONFIG_SB_HT_CHAIN_ON_BUS0 > 0) && is_sblink)
+		if (CONFIG_SB_HT_CHAIN_ON_BUS0 && is_sblink)
 			max = amdfam10_scan_chain(dev, nodeid, link, is_sblink, max);
 	}
 
@@ -284,7 +284,7 @@ static unsigned amdfam10_scan_chains(device_t dev, unsigned max)
 
 	for (link = dev->link_list; link; link = link->next) {
 		bool is_sblink = (nodeid == 0) && (link->link_num == sblink);
-		if ((CONFIG_SB_HT_CHAIN_ON_BUS0 > 0) && is_sblink)
+		if (CONFIG_SB_HT_CHAIN_ON_BUS0 && is_sblink)
 			continue;
 
 		max = amdfam10_scan_chain(dev, nodeid, link, is_sblink, max);
diff --git a/src/northbridge/amd/amdk8/Kconfig b/src/northbridge/amd/amdk8/Kconfig
index 8dd8cea..9bd02ef 100644
--- a/src/northbridge/amd/amdk8/Kconfig
+++ b/src/northbridge/amd/amdk8/Kconfig
@@ -66,8 +66,10 @@ config SB_HT_CHAIN_UNITID_OFFSET_ONLY
 	default n
 
 config SB_HT_CHAIN_ON_BUS0
-	int
-	default 0
+	def_bool n
+
+config HT_CHAIN_DISTRIBUTE
+	def_bool n
 
 config QRANK_DIMM_SUPPORT
 	bool
diff --git a/src/northbridge/amd/amdk8/northbridge.c b/src/northbridge/amd/amdk8/northbridge.c
index 312830a..7b66e31 100644
--- a/src/northbridge/amd/amdk8/northbridge.c
+++ b/src/northbridge/amd/amdk8/northbridge.c
@@ -140,10 +140,10 @@ static u32 amdk8_scan_chain(device_t dev, u32 nodeid, struct bus *link, bool is_
 		 * so we set the subordinate bus number to 0xff for the moment.
 		 */
 
-		if ((CONFIG_SB_HT_CHAIN_ON_BUS0 == 0) || !is_sblink)
+		if (!CONFIG_SB_HT_CHAIN_ON_BUS0 || !is_sblink)
 			max++;
 
-		if ((CONFIG_SB_HT_CHAIN_ON_BUS0 > 1) && !is_sblink)
+		if (CONFIG_HT_CHAIN_DISTRIBUTE && !is_sblink)
 			max = ALIGN_UP(max, 0x40);
 
 		link->secondary = max;
@@ -228,13 +228,13 @@ static unsigned amdk8_scan_chains(device_t dev, unsigned max)
 	// do sb ht chain at first, in case s2885 put sb chain (8131/8111) on link2, but put 8151 on link0
 	for (link = dev->link_list; link; link = link->next) {
 		bool is_sblink = (nodeid == 0) && (link->link_num == sblink);
-		if ((CONFIG_SB_HT_CHAIN_ON_BUS0 > 0) && is_sblink)
+		if (CONFIG_SB_HT_CHAIN_ON_BUS0 && is_sblink)
 			max = amdk8_scan_chain(dev, nodeid, link, is_sblink, max);
 	}
 
 	for (link = dev->link_list; link; link = link->next) {
 		bool is_sblink = (nodeid == 0) && (link->link_num == sblink);
-		if ((CONFIG_SB_HT_CHAIN_ON_BUS0 > 0) && is_sblink)
+		if (CONFIG_SB_HT_CHAIN_ON_BUS0 && is_sblink)
 			continue;
 
 		max = amdk8_scan_chain(dev, nodeid, link, is_sblink, max);



More information about the coreboot-gerrit mailing list