add support for AMD Serenade mainboard, why we have phantom devices here?
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1607 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
6ae2ac3739
commit
99efe80122
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
|
@ -10,7 +9,6 @@
|
||||||
#include "../../../northbridge/amd/amdk8/northbridge.h"
|
#include "../../../northbridge/amd/amdk8/northbridge.h"
|
||||||
#include "chip.h"
|
#include "chip.h"
|
||||||
|
|
||||||
|
|
||||||
unsigned long initial_apicid[CONFIG_MAX_CPUS] =
|
unsigned long initial_apicid[CONFIG_MAX_CPUS] =
|
||||||
{
|
{
|
||||||
0, 1, 2, 3,
|
0, 1, 2, 3,
|
||||||
|
@ -28,6 +26,11 @@ static struct device_operations mainboard_operations = {
|
||||||
static void enumerate(struct chip *chip)
|
static void enumerate(struct chip *chip)
|
||||||
{
|
{
|
||||||
struct chip *child;
|
struct chip *child;
|
||||||
|
|
||||||
|
if (chip->control && chip->control->name) {
|
||||||
|
printk_debug("Enumerating: %s\n", chip->control->name);
|
||||||
|
}
|
||||||
|
|
||||||
dev_root.ops = &mainboard_operations;
|
dev_root.ops = &mainboard_operations;
|
||||||
chip->dev = &dev_root;
|
chip->dev = &dev_root;
|
||||||
chip->bus = 0;
|
chip->bus = 0;
|
||||||
|
@ -35,8 +38,8 @@ static void enumerate(struct chip *chip)
|
||||||
child->bus = &dev_root.link[0];
|
child->bus = &dev_root.link[0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_control mainboard_amd_quartet_control = {
|
struct chip_control mainboard_amd_quartet_control = {
|
||||||
.enumerate = enumerate,
|
.enumerate = enumerate,
|
||||||
.name = "AMD Quartet mainboard ",
|
.name = "AMD Quartet mainboard ",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -102,20 +102,25 @@ static void main(void)
|
||||||
.channel1 = {0, 0, 0, 0},
|
.channel1 = {0, 0, 0, 0},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
int needs_reset;
|
int needs_reset;
|
||||||
enable_lapic();
|
enable_lapic();
|
||||||
init_timer();
|
init_timer();
|
||||||
|
|
||||||
if (cpu_init_detected()) {
|
if (cpu_init_detected()) {
|
||||||
asm("jmp __cpu_reset");
|
asm("jmp __cpu_reset");
|
||||||
}
|
}
|
||||||
|
|
||||||
distinguish_cpu_resets();
|
distinguish_cpu_resets();
|
||||||
if (!boot_cpu()) {
|
if (!boot_cpu()) {
|
||||||
print_err("This LinuxBIOS image is built for UP only.\n");
|
print_err("This LinuxBIOS image is built for UP only.\n");
|
||||||
stop_this_cpu();
|
stop_this_cpu();
|
||||||
}
|
}
|
||||||
|
|
||||||
pc87360_enable_serial(SERIAL_DEV, TTYS0_BASE);
|
pc87360_enable_serial(SERIAL_DEV, TTYS0_BASE);
|
||||||
uart_init();
|
uart_init();
|
||||||
console_init();
|
console_init();
|
||||||
|
|
||||||
setup_default_resource_map();
|
setup_default_resource_map();
|
||||||
needs_reset = setup_coherent_ht_domain();
|
needs_reset = setup_coherent_ht_domain();
|
||||||
needs_reset |= ht_setup_chain(PCI_DEV(0, 0x18, 0), 0x80);
|
needs_reset |= ht_setup_chain(PCI_DEV(0, 0x18, 0), 0x80);
|
||||||
|
@ -123,20 +128,22 @@ static void main(void)
|
||||||
print_info("ht reset -\r\n");
|
print_info("ht reset -\r\n");
|
||||||
soft_reset();
|
soft_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
print_pci_devices();
|
print_pci_devices();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
enable_smbus();
|
enable_smbus();
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
dump_spd_registers(&cpu[0]);
|
dump_spd_registers(&cpu[0]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
memreset_setup();
|
memreset_setup();
|
||||||
sdram_initialize(sizeof(cpu) / sizeof(cpu[0]), cpu);
|
sdram_initialize(sizeof(cpu) / sizeof(cpu[0]), cpu);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
dump_pci_devices();
|
dump_pci_devices();
|
||||||
#endif
|
|
||||||
#if 0
|
|
||||||
dump_pci_device(PCI_DEV(0, 0x18, 2));
|
dump_pci_device(PCI_DEV(0, 0x18, 2));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue