#include #include #include #include #include #include #include "../../../northbridge/amd/amdk8/northbridge.h" #include "chip.h" //#include //#include "lsi_scsi.c" unsigned long initial_apicid[CONFIG_MAX_CPUS] = { 0,1 }; #if 0 static void fixup_lsi_53c1030(struct device *pdev) { // uint8_t byte; uint16_t word; byte = 1; pci_write_config8(pdev, 0xff, byte); // Set the device id // pci_write_config_word(pdev, PCI_DEVICE_ID, PCI_DEVICE_ID_LSILOGIC_53C1030); // Set the subsytem vendor id // pci_write_config16(pdev, PCI_SUBSYSTEM_VENDOR_ID, PCI_VENDOR_ID_TYAN); word = 0x10f1; pci_write_config16(pdev, PCI_SUBSYSTEM_VENDOR_ID, word); // Set the subsytem id word = 0x2880; pci_write_config16(pdev, PCI_SUBSYSTEM_ID, word); // Disable writes to the device id byte = 0; pci_write_config8(pdev, 0xff, byte); // lsi_scsi_init(pdev); } #endif //extern static void lsi_scsi_init(struct device *dev); #if 1 static void print_pci_regs(struct device *dev) { uint8_t byte; int i; for(i=0;i<256;i++) { byte = pci_read_config8(dev, i); if((i%16)==0) printk_debug("\n%02x:",i); printk_debug(" %02x",byte); } printk_debug("\n"); // pci_write_config8(dev, 0x4, byte); } #endif #if 0 static void print_mem(void) { int i; int low_1MB = 0; for(i=low_1MB;ichip_info; switch (pass) { default: break; // case CONF_PASS_PRE_CONSOLE: // case CONF_PASS_PRE_PCI: // case CONF_PASS_POST_PCI: case CONF_PASS_PRE_BOOT: if (conf->fixup_scsi) onboard_scsi_fixup(); if (conf->fixup_vga) vga_fixup(); printk_debug("mainboard fixup pass %d done\r\n", pass); break; } } void final_mainboard_fixup(void) { #if 0 enable_ide_devices(); #endif } static struct device_operations mainboard_operations = { .read_resources = root_dev_read_resources, .set_resources = root_dev_set_resources, .enable_resources = enable_childrens_resources, .init = 0, .scan_bus = amdk8_scan_root_bus, .enable = 0, }; static void enumerate(struct chip *chip) { struct chip *child; dev_root.ops = &mainboard_operations; chip->dev = &dev_root; chip->bus = 0; for(child = chip->children; child; child = child->next) { child->bus = &dev_root.link[0]; } } struct chip_control mainboard_tyan_s2880_control = { .enable = enable, .enumerate = enumerate, .name = "Tyan s2880 mainboard ", };