From 99efe80122395187dbb83b76980c4f0a7539bc3c Mon Sep 17 00:00:00 2001 From: Li-Ta Lo Date: Tue, 15 Jun 2004 23:55:55 +0000 Subject: [PATCH] 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 --- src/mainboard/amd/quartet/mainboard.c | 11 +++++++---- src/mainboard/amd/solo/auto.c | 11 +++++++++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/mainboard/amd/quartet/mainboard.c b/src/mainboard/amd/quartet/mainboard.c index 6c4d435ee1..917a2ac792 100644 --- a/src/mainboard/amd/quartet/mainboard.c +++ b/src/mainboard/amd/quartet/mainboard.c @@ -1,4 +1,3 @@ - #include #include #include @@ -10,7 +9,6 @@ #include "../../../northbridge/amd/amdk8/northbridge.h" #include "chip.h" - unsigned long initial_apicid[CONFIG_MAX_CPUS] = { 0, 1, 2, 3, @@ -28,15 +26,20 @@ static struct device_operations mainboard_operations = { static void enumerate(struct chip *chip) { struct chip *child; + + if (chip->control && chip->control->name) { + printk_debug("Enumerating: %s\n", chip->control->name); + } + dev_root.ops = &mainboard_operations; chip->dev = &dev_root; chip->bus = 0; - for(child = chip->children; child; child = child->next) { + for (child = chip->children; child; child = child->next) { child->bus = &dev_root.link[0]; } } + struct chip_control mainboard_amd_quartet_control = { .enumerate = enumerate, .name = "AMD Quartet mainboard ", }; - diff --git a/src/mainboard/amd/solo/auto.c b/src/mainboard/amd/solo/auto.c index 93c21fcfdc..d893b5f8b7 100644 --- a/src/mainboard/amd/solo/auto.c +++ b/src/mainboard/amd/solo/auto.c @@ -102,20 +102,25 @@ static void main(void) .channel1 = {0, 0, 0, 0}, } }; + int needs_reset; enable_lapic(); init_timer(); + if (cpu_init_detected()) { asm("jmp __cpu_reset"); } + distinguish_cpu_resets(); if (!boot_cpu()) { print_err("This LinuxBIOS image is built for UP only.\n"); stop_this_cpu(); } + pc87360_enable_serial(SERIAL_DEV, TTYS0_BASE); uart_init(); console_init(); + setup_default_resource_map(); needs_reset = setup_coherent_ht_domain(); 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"); soft_reset(); } + #if 0 print_pci_devices(); #endif + enable_smbus(); + #if 0 dump_spd_registers(&cpu[0]); #endif + memreset_setup(); sdram_initialize(sizeof(cpu) / sizeof(cpu[0]), cpu); #if 0 dump_pci_devices(); -#endif -#if 0 dump_pci_device(PCI_DEV(0, 0x18, 2)); #endif