From f0721563b48ff7e2ad1bd7398da2747ec1a3b055 Mon Sep 17 00:00:00 2001 From: Li-Ta Lo Date: Mon, 12 Jan 2004 20:00:43 +0000 Subject: Tyan mainboard changes form YhLu git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1326 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/mainboard/tyan/s2850/mainboard.c | 196 +++++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 src/mainboard/tyan/s2850/mainboard.c (limited to 'src/mainboard/tyan/s2850/mainboard.c') diff --git a/src/mainboard/tyan/s2850/mainboard.c b/src/mainboard/tyan/s2850/mainboard.c new file mode 100644 index 0000000000..11ed302083 --- /dev/null +++ b/src/mainboard/tyan/s2850/mainboard.c @@ -0,0 +1,196 @@ +#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 +}; +#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_s2850_control = { + .enable = enable, + .enumerate = enumerate, + .name = "Tyan s2850 mainboard ", +}; + + -- cgit v1.2.3