aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/hp/dl145_g1/get_bus_conf.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/hp/dl145_g1/get_bus_conf.c')
-rw-r--r--src/mainboard/hp/dl145_g1/get_bus_conf.c54
1 files changed, 24 insertions, 30 deletions
diff --git a/src/mainboard/hp/dl145_g1/get_bus_conf.c b/src/mainboard/hp/dl145_g1/get_bus_conf.c
index e4721ce42e..6ea751de52 100644
--- a/src/mainboard/hp/dl145_g1/get_bus_conf.c
+++ b/src/mainboard/hp/dl145_g1/get_bus_conf.c
@@ -10,19 +10,12 @@
#include <cpu/amd/amdk8_sysconf.h>
#include <stdlib.h>
+#include "mb_sysconf.h"
// Global variables for MB layouts and these will be shared by irqtable mptable and acpi_tables
-//busnum is default
-unsigned char bus_8131_0 = 1;
-unsigned char bus_8131_1 = 2;
-unsigned char bus_8131_2 = 3;
-unsigned char bus_8111_0 = 1;
-unsigned char bus_8111_1 = 4;
-unsigned apicid_8111 ;
-unsigned apicid_8131_1;
-unsigned apicid_8131_2;
-
-unsigned pci1234x[] =
+struct mb_sysconf_t mb_sysconf;
+
+static unsigned pci1234x[] =
{ //Here you only need to set value in pci1234 for HT-IO that could be installed or not
//You may need to preset pci1234 for HTIO board, please refer to src/northbridge/amd/amdk8/get_sblk_pci1234.c for detail
0x0000ff0,
@@ -34,7 +27,7 @@ unsigned pci1234x[] =
// 0x0000ff0,
// 0x0000ff0
};
-unsigned hcdnx[] =
+static unsigned hcdnx[] =
{ //HT Chain device num, actually it is unit id base of every ht device in chain, assume every chain only have 4 ht device at most
0x20202020,
// 0x20202020,
@@ -45,8 +38,6 @@ unsigned hcdnx[] =
// 0x20202020,
// 0x20202020,
};
-unsigned sbdn3;
-
static unsigned get_bus_conf_done = 0;
@@ -63,6 +54,9 @@ void get_bus_conf(void)
get_bus_conf_done = 1;
+ sysconf.mb = &mb_sysconf;
+ struct mb_sysconf_t *m = sysconf.mb;
+
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
for(i=0;i<sysconf.hc_possible_num; i++) {
sysconf.pci1234[i] = pci1234x[i];
@@ -72,36 +66,36 @@ void get_bus_conf(void)
get_sblk_pci1234();
sysconf.sbdn = (sysconf.hcdn[0] >> 8) & 0xff;
- sbdn3 = sysconf.hcdn[0] & 0xff;
+ m->sbdn3 = sysconf.hcdn[0] & 0xff;
- bus_8131_0 = (sysconf.pci1234[0] >> 16) & 0xff;
- bus_8111_0 = bus_8131_0;
+ m->bus_8131_0 = (sysconf.pci1234[0] >> 16) & 0xff;
+ m->bus_8111_0 = m->bus_8131_0;
/* 8111 */
- dev = dev_find_slot(bus_8111_0, PCI_DEVFN(sysconf.sbdn,0));
+ dev = dev_find_slot(m->bus_8111_0, PCI_DEVFN(sysconf.sbdn,0));
if (dev) {
- bus_8111_1 = pci_read_config8(dev, PCI_SECONDARY_BUS);
+ m->bus_8111_1 = pci_read_config8(dev, PCI_SECONDARY_BUS);
}
else {
- printk(BIOS_DEBUG, "ERROR - could not find PCI %02x:03.0, using defaults\n", bus_8111_0);
+ printk(BIOS_DEBUG, "ERROR - could not find PCI %02x:03.0, using defaults\n", m->bus_8111_0);
}
/* 8131-1 */
- dev = dev_find_slot(bus_8131_0, PCI_DEVFN(sbdn3,0));
+ dev = dev_find_slot(m->bus_8131_0, PCI_DEVFN(m->sbdn3,0));
if (dev) {
- bus_8131_1 = pci_read_config8(dev, PCI_SECONDARY_BUS);
+ m->bus_8131_1 = pci_read_config8(dev, PCI_SECONDARY_BUS);
}
else {
- printk(BIOS_DEBUG, "ERROR - could not find PCI %02x:01.0, using defaults\n", bus_8131_0);
+ printk(BIOS_DEBUG, "ERROR - could not find PCI %02x:01.0, using defaults\n", m->bus_8131_0);
}
- /* 8132-2 */
- dev = dev_find_slot(bus_8131_0, PCI_DEVFN(sbdn3+1,0));
+ /* 8131-2 */
+ dev = dev_find_slot(m->bus_8131_0, PCI_DEVFN(m->sbdn3+1,0));
if (dev) {
- bus_8131_2 = pci_read_config8(dev, PCI_SECONDARY_BUS);
+ m->bus_8131_2 = pci_read_config8(dev, PCI_SECONDARY_BUS);
}
else {
- printk(BIOS_DEBUG, "ERROR - could not find PCI %02x:02.0, using defaults\n", bus_8131_0);
+ printk(BIOS_DEBUG, "ERROR - could not find PCI %02x:02.0, using defaults\n", m->bus_8131_0);
}
@@ -111,7 +105,7 @@ void get_bus_conf(void)
#else
apicid_base = CONFIG_MAX_PHYSICAL_CPUS;
#endif
- apicid_8111 = apicid_base+0;
- apicid_8131_1 = apicid_base+1;
- apicid_8131_2 = apicid_base+2;
+ m->apicid_8111 = apicid_base+0;
+ m->apicid_8131_1 = apicid_base+1;
+ m->apicid_8131_2 = apicid_base+2;
}