amdfam10 boards: Use defaults for get_pci1234()
All these boards use the same default initialiser. As this is initialized late after device enumeration, it can't really be used to alter platform configuration. Change-Id: I30fc0298081df0442ec4e9a527340b93a3cd6106 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/30648 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
@@ -68,6 +68,7 @@ extern struct amdfam10_sysconf_t sysconf;
|
||||
|
||||
void get_bus_conf(void);
|
||||
void get_pci1234(void);
|
||||
void get_default_pci1234(int mb_hc_possible);
|
||||
|
||||
extern u8 pirq_router_bus;
|
||||
|
||||
|
@@ -27,35 +27,6 @@
|
||||
/* Global variables for MB layouts and these will be shared by irqtable mptable and acpi_tables */
|
||||
struct mb_sysconf_t mb_sysconf;
|
||||
|
||||
/* 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/amdfam10/get_sblk_pci1234.c for detail
|
||||
*/
|
||||
static u32 pci1234x[] = {
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc,
|
||||
};
|
||||
|
||||
|
||||
/* 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
|
||||
*/
|
||||
|
||||
static unsigned hcdnx[] = {
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020,
|
||||
};
|
||||
|
||||
|
||||
|
||||
static u32 get_hcid(u32 i)
|
||||
{
|
||||
@@ -94,13 +65,7 @@ void get_bus_conf(void)
|
||||
|
||||
m = sysconf.mb;
|
||||
|
||||
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
|
||||
for (i = 0; i < sysconf.hc_possible_num; i++) {
|
||||
sysconf.pci1234[i] = pci1234x[i];
|
||||
sysconf.hcdn[i] = hcdnx[i];
|
||||
}
|
||||
|
||||
get_pci1234();
|
||||
get_default_pci1234(32);
|
||||
|
||||
sysconf.sbdn = (sysconf.hcdn[0] >> 8) & 0xff;
|
||||
m->sbdn3 = sysconf.hcdn[0] & 0xff;
|
||||
|
@@ -34,46 +34,13 @@
|
||||
unsigned char bus_ck804[6];
|
||||
unsigned apicid_ck804;
|
||||
|
||||
/* 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/amdfam10/get_pci1234.c for detail */
|
||||
static u32 pci1234x[] = {
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc,
|
||||
};
|
||||
|
||||
|
||||
/* 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 */
|
||||
|
||||
static unsigned hcdnx[] = {
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020,
|
||||
};
|
||||
|
||||
void get_bus_conf(void)
|
||||
{
|
||||
unsigned apicid_base, sbdn;
|
||||
struct device *dev;
|
||||
int i;
|
||||
|
||||
|
||||
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
|
||||
for (i = 0; i < sysconf.hc_possible_num; i++) {
|
||||
sysconf.pci1234[i] = pci1234x[i];
|
||||
sysconf.hcdn[i] = hcdnx[i];
|
||||
}
|
||||
|
||||
get_pci1234();
|
||||
get_default_pci1234(32);
|
||||
|
||||
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); // first byte of first chain
|
||||
sbdn = sysconf.sbdn;
|
||||
|
@@ -29,32 +29,6 @@
|
||||
// Global variables for MB layouts and these will be shared by irqtable mptable and acpi_tables
|
||||
struct mb_sysconf_t mb_sysconf;
|
||||
|
||||
/* 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/amdfam10/get_pci1234.c for detail */
|
||||
static u32 pci1234x[] = {
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc,
|
||||
};
|
||||
|
||||
|
||||
/* 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 */
|
||||
|
||||
static unsigned hcdnx[] = {
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020,
|
||||
};
|
||||
|
||||
void get_bus_conf(void)
|
||||
{
|
||||
|
||||
@@ -70,14 +44,7 @@ void get_bus_conf(void)
|
||||
m = sysconf.mb;
|
||||
memset(m, 0, sizeof(struct mb_sysconf_t));
|
||||
|
||||
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
|
||||
|
||||
for (i = 0; i < sysconf.hc_possible_num; i++) {
|
||||
sysconf.pci1234[i] = pci1234x[i];
|
||||
sysconf.hcdn[i] = hcdnx[i];
|
||||
}
|
||||
|
||||
get_pci1234();
|
||||
get_default_pci1234(32);
|
||||
|
||||
sysconf.sbdn = (sysconf.hcdn[0] >> 8) & 0xff;
|
||||
m->sbdn2 = sysconf.hcdn[0] & 0xff; // bcm5780
|
||||
|
@@ -29,32 +29,6 @@
|
||||
// Global variables for MB layouts and these will be shared by irqtable mptable and acpi_tables
|
||||
struct mb_sysconf_t mb_sysconf;
|
||||
|
||||
/* 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/amdfam10/get_pci1234.c for detail */
|
||||
static u32 pci1234x[] = {
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc,
|
||||
};
|
||||
|
||||
|
||||
/* 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 */
|
||||
|
||||
static unsigned hcdnx[] = {
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020,
|
||||
};
|
||||
|
||||
void get_bus_conf(void)
|
||||
{
|
||||
unsigned apicid_base;
|
||||
@@ -69,13 +43,7 @@ void get_bus_conf(void)
|
||||
m = sysconf.mb;
|
||||
memset(m, 0, sizeof(struct mb_sysconf_t));
|
||||
|
||||
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
|
||||
for (i = 0; i < sysconf.hc_possible_num; i++) {
|
||||
sysconf.pci1234[i] = pci1234x[i];
|
||||
sysconf.hcdn[i] = hcdnx[i];
|
||||
}
|
||||
|
||||
get_pci1234();
|
||||
get_default_pci1234(32);
|
||||
|
||||
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); // first byte of first chain
|
||||
m->bus_mcp55[0] = (sysconf.pci1234[0] >> 12) & 0xff;
|
||||
|
@@ -29,32 +29,6 @@
|
||||
// Global variables for MB layouts and these will be shared by irqtable mptable and acpi_tables
|
||||
struct mb_sysconf_t mb_sysconf;
|
||||
|
||||
/* 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/amdfam10/get_pci1234.c for detail */
|
||||
static u32 pci1234x[] = {
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc,
|
||||
};
|
||||
|
||||
|
||||
/* 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 */
|
||||
|
||||
static unsigned hcdnx[] = {
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020,
|
||||
};
|
||||
|
||||
void get_bus_conf(void)
|
||||
{
|
||||
|
||||
@@ -69,13 +43,7 @@ void get_bus_conf(void)
|
||||
m = sysconf.mb;
|
||||
memset(m, 0, sizeof(struct mb_sysconf_t));
|
||||
|
||||
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
|
||||
for(i = 0; i < sysconf.hc_possible_num; i++) {
|
||||
sysconf.pci1234[i] = pci1234x[i];
|
||||
sysconf.hcdn[i] = hcdnx[i];
|
||||
}
|
||||
|
||||
get_pci1234();
|
||||
get_default_pci1234(32);
|
||||
|
||||
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); // first byte of first chain
|
||||
m->bus_mcp55[0] = (sysconf.pci1234[0] >> 12) & 0xff;
|
||||
|
@@ -29,32 +29,6 @@
|
||||
// Global variables for MB layouts and these will be shared by irqtable mptable and acpi_tables
|
||||
struct mb_sysconf_t mb_sysconf;
|
||||
|
||||
/* 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/amdfam10/get_pci1234.c for detail */
|
||||
static u32 pci1234x[] = {
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc,
|
||||
};
|
||||
|
||||
|
||||
/* 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 */
|
||||
|
||||
static unsigned hcdnx[] = {
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020,
|
||||
};
|
||||
|
||||
unsigned sbdn3;
|
||||
|
||||
void get_bus_conf(void)
|
||||
@@ -71,13 +45,7 @@ void get_bus_conf(void)
|
||||
m = sysconf.mb;
|
||||
memset(m, 0, sizeof(struct mb_sysconf_t));
|
||||
|
||||
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
|
||||
for(i = 0; i < sysconf.hc_possible_num; i++) {
|
||||
sysconf.pci1234[i] = pci1234x[i];
|
||||
sysconf.hcdn[i] = hcdnx[i];
|
||||
}
|
||||
|
||||
get_pci1234();
|
||||
get_default_pci1234(32);
|
||||
|
||||
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); // first byte of first chain
|
||||
m->bus_mcp55[0] = (sysconf.pci1234[0] >> 12) & 0xff;
|
||||
|
@@ -29,32 +29,6 @@
|
||||
// Global variables for MB layouts and these will be shared by irqtable mptable and acpi_tables
|
||||
struct mb_sysconf_t mb_sysconf;
|
||||
|
||||
/* 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/amdfam10/get_pci1234.c for detail */
|
||||
static u32 pci1234x[] = {
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc, 0x0000ffc,
|
||||
0x0000ffc, 0x0000ffc,
|
||||
};
|
||||
|
||||
|
||||
/* 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 */
|
||||
|
||||
static unsigned hcdnx[] = {
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020,
|
||||
0x20202020, 0x20202020,
|
||||
};
|
||||
|
||||
void get_bus_conf(void)
|
||||
{
|
||||
unsigned apicid_base;
|
||||
@@ -68,13 +42,7 @@ void get_bus_conf(void)
|
||||
m = sysconf.mb;
|
||||
memset(m, 0, sizeof(struct mb_sysconf_t));
|
||||
|
||||
sysconf.hc_possible_num = ARRAY_SIZE(pci1234x);
|
||||
for(i = 0; i < sysconf.hc_possible_num; i++) {
|
||||
sysconf.pci1234[i] = pci1234x[i];
|
||||
sysconf.hcdn[i] = hcdnx[i];
|
||||
}
|
||||
|
||||
get_pci1234();
|
||||
get_default_pci1234(32);
|
||||
|
||||
sysconf.sbdn = (sysconf.hcdn[0] & 0xff); // first byte of first chain
|
||||
m->bus_mcp55[0] = (sysconf.pci1234[0] >> 12) & 0xff;
|
||||
|
@@ -110,6 +110,18 @@ void get_pci1234(void)
|
||||
}
|
||||
}
|
||||
|
||||
void get_default_pci1234(int mb_hc_possible)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < mb_hc_possible; i++) {
|
||||
sysconf.pci1234[i] = 0x0000ffc;
|
||||
sysconf.hcdn[i] = 0x20202020;
|
||||
}
|
||||
sysconf.hc_possible_num = mb_hc_possible;
|
||||
get_pci1234();
|
||||
}
|
||||
|
||||
static void amd_bs_sysconf(void *arg)
|
||||
{
|
||||
/* Prepare sysconf structures, which are used to generate IRQ,
|
||||
|
Reference in New Issue
Block a user