#include #include #include #include #include #include #include "chip.h" //#include //#include "lsi_scsi.c" unsigned long initial_apicid[CONFIG_MAX_CPUS] = { 0, 6, 1, 7 }; #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 0 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_info("\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; } } static int mainboard_scan_bus(device_t root, int maxbus) { int retval; printk_spew("%s: root %p maxbus %d\n", __FUNCTION__, root, maxbus); retval = pci_scan_bus(root->bus, 0, 0xff, maxbus); printk_spew("DONE %s: return %d\n", __FUNCTION__, maxbus); return maxbus; } 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 = mainboard_scan_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_s2735_control = { .enable = enable, .enumerate = enumerate, .name = "Tyan s2735 mainboard ", };