diff --git a/src/mainboard/via/epia-m/STATUS b/src/mainboard/via/epia-m/STATUS deleted file mode 100644 index f0249c33c1..0000000000 --- a/src/mainboard/via/epia-m/STATUS +++ /dev/null @@ -1,29 +0,0 @@ -# These are keyword-value pairs. -# a : separates the keyword from the value -# the value is arbitrary text delimited by newline. -# continuation, if needed, will be via the \ at the end of a line -# comments are indicated by a '#' as the first character. -# the keywords are case-INSENSITIVE -owner: Andrew Ip -email: aip@cwlinux.com -#status: One of unsupported, unstable, stable -status: unstable -explanation: initial release -flash-types: SST 39SF020A -payload-types: etherboot, memtest -# e.g. linux, plan 9, wince, etc. -OS-types: linux -# e.g. "Plan 9 interrupts don't work on this chipset" -OS-issues: -console-types: serial -# vga is unsupported, unstable, or stable -vga: unsupported -# Last-known-good follows the internationl date standard: day/month/year -last-known-good: 0/0/0000 -Comments: superio has problem with baudrate setting. It always is 57600 -even 115200 is configured during cold boot. However, it works when the system -is warm reboot from award bios. -Links: -Mainboard-revision: -# What other mainboards are like this one? List them here. -AKA: diff --git a/src/mainboard/via/epia-m/do_dumpdev.inc b/src/mainboard/via/epia-m/do_dumpdev.inc deleted file mode 100644 index 6526381a40..0000000000 --- a/src/mainboard/via/epia-m/do_dumpdev.inc +++ /dev/null @@ -1,8 +0,0 @@ - movl $0x0, %ecx - CALLSP(dumpdev) - - movl $CONFIG_ADDR(0,0x88,0), %ecx - CALLSP(dumpdev) - - movl $CONFIG_ADDR(0,0x89,0), %ecx - CALLSP(dumpdev) diff --git a/src/mainboard/via/epia-m/do_dumpnorth.inc b/src/mainboard/via/epia-m/do_dumpnorth.inc deleted file mode 100644 index abed7e6391..0000000000 --- a/src/mainboard/via/epia-m/do_dumpnorth.inc +++ /dev/null @@ -1 +0,0 @@ - CALLSP(dumpnorth) diff --git a/src/mainboard/via/epia-m/do_ramtest.inc b/src/mainboard/via/epia-m/do_ramtest.inc deleted file mode 100644 index e22381e142..0000000000 --- a/src/mainboard/via/epia-m/do_ramtest.inc +++ /dev/null @@ -1,5 +0,0 @@ - mov $0x00000000, %eax - mov $0x0009ffff, %ebx - mov $16, %ecx - - CALLSP(ramtest) diff --git a/src/mainboard/via/epia-m/dumpdev.inc b/src/mainboard/via/epia-m/dumpdev.inc deleted file mode 100644 index dea330900a..0000000000 --- a/src/mainboard/via/epia-m/dumpdev.inc +++ /dev/null @@ -1,65 +0,0 @@ - /* Dump the first 64 longs for devfn 0, bus 0 - * i.e. the north bridge. - */ - -#define CS_WRITE_BYTE(addr, byte) \ - movl $addr, %eax ; \ - movl $byte, %edx ; \ - PCI_WRITE_CONFIG_BYTE - -#define CS_WRITE_WORD(addr, word) \ - movl $addr, %eax ; \ - movl $word, %ecx ; \ - PCI_WRITE_CONFIG_WORD - -#define CS_WRITE_LONG(addr, dword) \ - movl $addr, %eax ; \ - movl $dword, %ecx ; \ - PCI_WRITE_CONFIG_DWORD - -#define DEVFN(device, function) (((device) << 3) + (function)) -#ifndef CONFIG_ADDR -#define CONFIG_ADDR(bus,devfn,where) (((bus) << 16) | ((devfn) << 8) | (where)) -#endif - - jmp dumpdev_skip - .section ".rom.data" - -dd_banner: .string "dump device: " -dd_ret: .string "\r\n" -dd_done: .string "Done.\r\n" -dd_before: .string "Before setting values: \r\n" -dd_after: .string "After setting values: \r\n" - .previous - -# expects device devfn in %ecx - -dumpdev: - mov %esp, %ebp - CONSOLE_INFO_TX_STRING($dd_banner) - CONSOLE_INFO_TX_HEX32(%ecx) - CONSOLE_INFO_TX_STRING($dd_ret) -# xorl %ecx, %ecx -1: - CONSOLE_INFO_TX_HEX8(%cl) - CONSOLE_INFO_TX_CHAR($':') - CONSOLE_INFO_TX_CHAR($' ') - -2: - movl %ecx, %eax - PCI_READ_CONFIG_BYTE - CONSOLE_INFO_TX_HEX8(%al) - CONSOLE_INFO_TX_CHAR($' ') - - incl %ecx - testb $0xf, %cl - jnz 2b - - CONSOLE_INFO_TX_CHAR($'\r') - CONSOLE_INFO_TX_CHAR($'\n') - cmpb $0, %cl - jne 1b - CONSOLE_INFO_TX_STRING($dd_done) - mov %ebp, %esp - RETSP -dumpdev_skip: diff --git a/src/mainboard/via/epia-m/example.config b/src/mainboard/via/epia-m/example.config deleted file mode 100644 index dc4a5feb16..0000000000 --- a/src/mainboard/via/epia-m/example.config +++ /dev/null @@ -1,33 +0,0 @@ -# -# LinuxBIOS config file for: VIA epia-m mini-itx -# - -target /opt/cwlinux/buildrom/epia-m - -# via epia -mainboard via/epia-m - -# Enable Serial Console for debugging -option SERIAL_CONSOLE=1 -# option SERIAL_POST=1 -option TTYS0_BAUD=115200 -# option TTYS0_BAUD=57600 -option DEFAULT_CONSOLE_LOGLEVEL=9 -option DEBUG=1 - -# Use 256KB Standard Flash as Normal BIOS -option RAMTEST=1 -option USE_GENERIC_ROM=1 -option STD_FLASH=1 -#option ZKERNEL_START=0xfffc0000 -option ROM_SIZE=262144 - -# payload size = 192KB -option PAYLOAD_SIZE=196608 - -# use ELF Loader to load Etherboot -option USE_ELF_BOOT=1 - -# Use Etherboot as our payload -payload /opt/cwlinux/etherboot/src/bin32/via-rhine.ebi -# payload /opt/cwlinux/memtest86/memtest diff --git a/src/mainboard/via/epia-m/irq_tables.c b/src/mainboard/via/epia-m/irq_tables.c deleted file mode 100644 index d33f010883..0000000000 --- a/src/mainboard/via/epia-m/irq_tables.c +++ /dev/null @@ -1,46 +0,0 @@ -/* This file was generated by getpir.c, do not modify! - (but if you do, please run checkpir on it to verify) - Contains the IRQ Routing Table dumped directly from your memory , wich BIOS sets up - - Documentation at : http://www.microsoft.com/hwdev/busbios/PCIIRQ.HTM -*/ - -#include - -const struct irq_routing_table intel_irq_routing_table = { - PIRQ_SIGNATURE, /* u32 signature */ - PIRQ_VERSION, /* u16 version */ - 32+16*5, /* there can be total 5 devices on the bus */ - 0, /* Where the interrupt router lies (bus) */ - 0, /* Where the interrupt router lies (dev) */ - 0x1c20, /* IRQs devoted exclusively to PCI usage */ - 0, /* Vendor */ - 0, /* Device */ - 0, /* Crap (miniport) */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* u8 rfu[11] */ -#if 0 - 0x58, /* u8 checksum , this hase to set to some value that would give 0 after the sum of all bytes for this structure (including checksum) */ - { - {0,0xa0, {{0x2, 0xdeb8}, {0x3, 0xdeb8}, {0x4, 0xdeb8}, {0x1, 0xdeb8}}, 0x1, 0}, - {0,0x98, {{0x1, 0xdeb8}, {0x2, 0xdeb8}, {0x3, 0xdeb8}, {0x4, 0xdeb8}}, 0x2, 0}, - {0,0x50, {{0x4, 0xdeb8}, {0x1, 0xdeb8}, {0x2, 0xdeb8}, {0x3, 0xdeb8}}, 0x3, 0}, - {0,0x68, {{0x2, 0xdeb8}, {0x3, 0xdeb8}, {0x4, 0xdeb8}, {0x1, 0xdeb8}}, 0x4, 0}, - {0,0x8, {{0x1, 0xdeb8}, {0x2, 0xdeb8}, {0x3, 0xdeb8}, {0x4, 0xdeb8}}, 0, 0}, - {0x50,0, {{0, 0}, {0, 0}, {0, 0}, {0, 0}}, 0, 0} - } -#else - 0xab, /* u8 checksum , this hase to set to some value that would give 0 after the sum of all bytes for this structure (including checksum) */ - { - /* ethernet */ - {0,0x90, {{0x3, 0xdeb8}, {0x4, 0xdeb8}, {0x2, 0xdeb8}, {0x1, 0xdeb8}}, 0x1, 0}, - /* usb */ - {0,0x80, {{0x2, 0xdeb8}, {0x3, 0xdeb8}, {0x4, 0xdeb8}, {0x1, 0xdeb8}}, 0x2, 0}, - /* pci */ - {0,0xa0, {{0x1, 0xdeb8}, {0x4, 0xdeb8}, {0x3, 0xdeb8}, {0x2, 0xdeb8}}, 0, 0}, - /* audio */ - {0,0x8d, {{0x4, 0xdeb8}, {0x3, 0xdeb8}, {0x2, 0xdeb8}, {0x1, 0xdeb8}}, 0x4, 0}, - /* 1394 */ - {0,0x68, {{0x4, 0xdeb8}, {0x3, 0xdeb8}, {0x2, 0xdeb8}, {0x1, 0xdeb8}}, 0x3, 0} - } -#endif -}; diff --git a/src/mainboard/via/epia-m/mainboard.c b/src/mainboard/via/epia-m/mainboard.c deleted file mode 100644 index ad6d407638..0000000000 --- a/src/mainboard/via/epia-m/mainboard.c +++ /dev/null @@ -1,94 +0,0 @@ -#include -#include -#include -#include - -#include - -//static const unsigned char usbIrqs[4] = { 11, 5, 10, 12 }; -static const unsigned char usbIrqs[4] = { 11, 12, 10, 5 }; -static const unsigned char enetIrqs[4] = { 11, 5, 10, 12 }; -static const unsigned char slotIrqs[4] = { 10, 12, 5, 11 }; -static const unsigned char firewireIrqs[4] = { 12, 10, 5, 11 }; - -/* - Our IDSEL mappings are as follows - PCI slot is AD31 (device 15) (00:14.0) - Southbridge is AD28 (device 12) (00:11.0) -*/ -static void pci_routing_fixup(void) -{ - struct pci_dev *dev; - - dev = pci_find_device(PCI_VENDOR_ID_VIA, 0x3177, 0); - if (dev != NULL) { - /* - * initialize PCI interupts - these assignments depend - * on the PCB routing of PINTA-D - * - * PINTA = IRQ11 - * PINTB = IRQ12 - * PINTC = IRQ10 - * PINTD = IRQ5 - */ - pci_write_config_byte(dev, 0x55, 0xb0); - pci_write_config_byte(dev, 0x56, 0xac); - pci_write_config_byte(dev, 0x57, 0x50); - - } -#if 1 - // firewire built into southbridge - printk_info("setting firewire\n"); - pci_assign_irqs(0, 0x0d, firewireIrqs); - - // Standard usb components - printk_info("setting usb\n"); - pci_assign_irqs(0, 0x10, usbIrqs); - - // Ethernet built into southbridge - printk_info("setting ethernet\n"); - pci_assign_irqs(0, 0x12, enetIrqs); - - // PCI slot - printk_info("setting pci slot\n"); - pci_assign_irqs(0, 0x14, slotIrqs); - -#endif - - printk_debug("4d0: 0x%02x\n", inb(0x4d0)); - printk_debug("4d1: 0x%02x\n", inb(0x4d1)); -#if 0 - outb(0, 0x4d0); - outb(0, 0x4d1); -#endif - printk_debug("4d0: 0x%02x\n", inb(0x4d0)); - printk_debug("4d1: 0x%02x\n", inb(0x4d1)); -} - - -void -mainboard_fixup() -{ - printk_info("Mainboard fixup\n"); - - northbridge_fixup(); - southbridge_fixup(); -} - -void -final_southbridge_fixup() -{ - printk_info("Southbridge fixup\n"); - - nvram_on(); -// keyboard_on(); - pci_routing_fixup(); -} - -void -final_mainboard_fixup() -{ - printk_info("Final mainboard fixup\n"); - final_southbridge_fixup(); -} - diff --git a/src/southbridge/via/vt8235/setup_ide.inc b/src/southbridge/via/vt8235/setup_ide.inc deleted file mode 100644 index e2115f334b..0000000000 --- a/src/southbridge/via/vt8235/setup_ide.inc +++ /dev/null @@ -1,28 +0,0 @@ -config_ide: - movl $CONFIG_ADDR(0, 0x88, 0x50), %eax - movb $0x00, %dl - PCI_WRITE_CONFIG_BYTE - - movl $CONFIG_ADDR(0, 0x89, 0x04), %eax - movb $0x07, %dl - PCI_WRITE_CONFIG_BYTE - - movl $CONFIG_ADDR(0, 0x89, 0x40), %eax - movb $0x03, %dl - PCI_WRITE_CONFIG_BYTE - -// This early setup switches IDE into compatibility mode before PCI gets -// a chance to assign I/Os -#if (!ENABLE_IDE_NATIVE_MODE) - movl $CONFIG_ADDR(0, 0x89, 0x42), %eax - movb $0x00, %dl - PCI_WRITE_CONFIG_BYTE - - movl $CONFIG_ADDR(0, 0x89, 0x3c), %eax - movb $0x0e, %dl - PCI_WRITE_CONFIG_BYTE - - movl $CONFIG_ADDR(0, 0x89, 0x3d), %eax - movb $0x00, %dl - PCI_WRITE_CONFIG_BYTE -#endif diff --git a/src/southbridge/via/vt8235/southbridge.c b/src/southbridge/via/vt8235/southbridge.c deleted file mode 100644 index 54951d41bd..0000000000 --- a/src/southbridge/via/vt8235/southbridge.c +++ /dev/null @@ -1,303 +0,0 @@ -#include -#include -#include -#include -#include -#include - - -// #define IDE_NATIVE_MODE 1 - -void usb_on() -{ - unsigned char regval; - - /* Base 8235 controller */ - struct pci_dev *dev0 = pci_find_device(PCI_VENDOR_ID_VIA, \ - 0x3177, 0); - /* USB controller 1 */ - struct pci_dev *dev1 = pci_find_device(PCI_VENDOR_ID_VIA, \ - 0x3038, 0); - /* USB controller 2 */ - struct pci_dev *dev2 = pci_find_device(PCI_VENDOR_ID_VIA, \ - 0x3038, \ - dev1); - /* USB controller 3 */ - struct pci_dev *dev3 = pci_find_device(PCI_VENDOR_ID_VIA, \ - 0x3038, \ - dev2); -#if ENABLE_VT8235_USB - if(dev0) { - pci_read_config_byte(dev0, 0x50, ®val); - regval &= ~(0x36); - pci_write_config_byte(dev0, 0x50, regval); - } - - /* enable USB1 */ - if(dev1) { - pci_write_config_byte(dev1, 0x3c, 0x05); - pci_write_config_byte(dev1, 0x04, 0x07); - } - - /* enable USB2 */ - if(dev2) { - pci_write_config_byte(dev2, 0x3c, 0x05); - pci_write_config_byte(dev2, 0x04, 0x07); - } - - /* enable USB3 */ - if(dev3) { - pci_write_config_byte(dev3, 0x3c, 0x05); - pci_write_config_byte(dev3, 0x04, 0x07); - } - -#else - if(dev0) { - pci_read_config_byte(dev0, 0x50, ®val); - regval |= 0x36; - pci_write_config_byte(dev0, 0x50, regval); - } - - /* disable USB1 */ - if(dev1) { - pci_write_config_byte(dev1, 0x3c, 0x00); - pci_write_config_byte(dev1, 0x04, 0x00); - } - - /* disable USB2 */ - if(dev2) { - pci_write_config_byte(dev2, 0x3c, 0x00); - pci_write_config_byte(dev2, 0x04, 0x00); - } - - /* disable USB3 */ - if(dev3) { - pci_write_config_byte(dev3, 0x3c, 0x00); - pci_write_config_byte(dev3, 0x04, 0x00); - } -#endif -} - -void keyboard_on() -{ - unsigned char regval; - - /* Base 8235 controller */ - struct pci_dev *dev0 = pci_find_device(PCI_VENDOR_ID_VIA, \ - 0x3177, 0); - - if (dev0) { - pci_read_config_byte(dev0, 0x51, ®val); -// regval |= 0x0f; - /* !!!FIX let's try this */ - regval |= 0x1d; - pci_write_config_byte(dev0, 0x51, regval); - } - pc_keyboard_init(); - -} - -void nvram_on() -{ -} - - -/* - * Enable the ethernet device and turn off stepping (because it is integrated - * inside the southbridge) - */ -void ethernet_fixup() -{ - struct pci_dev *dev, *edev; - u8 byte; - - printk_info("Ethernet fixup\n"); - - edev = pci_find_device(PCI_VENDOR_ID_VIA, 0x3065, 0); - if (edev != NULL) { - printk_debug("Configuring VIA LAN\n"); - /* We don't need stepping - though the device supports it */ - pci_read_config_byte(edev, PCI_COMMAND, &byte); - byte &= ~PCI_COMMAND_WAIT; - pci_write_config_byte(edev, PCI_COMMAND, byte); - - /* turn on master and pio */ - pci_read_config_byte(edev, PCI_COMMAND, &byte); - byte = byte | PCI_COMMAND_MASTER|PCI_COMMAND_IO; - pci_write_config_byte(edev, PCI_COMMAND, byte); - } else { - printk_debug("VIA LAN not found\n"); - } -} - - -void southbridge_fixup() -{ - unsigned char enables; - struct pci_dev *dev0; - struct pci_dev *dev1; - struct pci_dev *devpwr; - - /* Base 8235 controller */ - dev0 = pci_find_device(PCI_VENDOR_ID_VIA, 0x3177, 0); - /* IDE controller */ - dev1 = pci_find_device(PCI_VENDOR_ID_VIA, 0x0571, 0); - - /* follow award */ - enables = pci_read_config_byte(dev0, 0x6C, &enables); - enables = 0x00; - pci_write_config_byte(dev0, 0x6C, enables); - - /* Map 4MB of FLASH into the address space */ - pci_write_config_byte(dev0, 0x41, 0x7f); - - /* - * Set bit 6 of 0x40, because Award does it (IO recovery time) - * IMPORTANT FIX - EISA 0x4d0 decoding must be on so that PCI - * interrupts can be properly marked as level triggered. - */ - enables = pci_read_config_byte(dev0, 0x40, &enables); - enables |= 0x45; - pci_write_config_byte(dev0, 0x40, enables); - - /* Set 0x42 to 0xf0 to match Award bios */ - enables = pci_read_config_byte(dev0, 0x42, &enables); - enables |= 0xf0; - pci_write_config_byte(dev0, 0x42, enables); - - /* Set bit 3 of 0x4f to match award (use INIT# as cpu reset) */ - enables = pci_read_config_byte(dev0, 0x4f, &enables); - enables |= 0x08; - pci_write_config_byte(dev0, 0x4f, enables); - - /* Set 0x58 to 0x03 to match Award */ - pci_write_config_byte(dev0, 0x58, 0x03); - -#ifndef DISABLE_SOUTHBRIDGE_COM_PORTS - /* enable com1 and com2. */ - enables = pci_read_config_byte(dev0, 0x6e, &enables); - /* - * 0x80 is enable com port b, 0x10 is to make it com2, 0x8 is enable - * com port a as com1 - */ - - /* following award */ - enables = 0x00; - pci_write_config_byte(dev0, 0x6e, enables); - /* - * note: this is also a redo of some port of assembly, but we want - * everything up. - * set com1 to 115 kbaud - * not clear how to do this yet. - * forget it; done in assembly. - */ -#endif - - /* - * enable IDE, since Linux won't do it. - * First do some more things to devfn (17,0) - * note: this should already be cleared, according to the book. - */ - pci_read_config_byte(dev0, 0x50, &enables); - printk_debug("IDE enable in reg. 50 is 0x%x\n", enables); - enables &= ~8; // need manifest constant here! - printk_debug("set IDE reg. 50 to 0x%x\n", enables); - pci_write_config_byte(dev0, 0x50, enables); - - /* enable serial irq */ - pci_write_config_byte(dev0, 0x52, 0x09); - - /* dma */ - pci_write_config_byte(dev0, 0x53, 0x00); - - /* diskable dynamic clock stop */ - pci_write_config_byte(dev0, 0x5b, 0x00); - - /* - * IDE setup - */ -#if !(ENABLE_IDE_NATIVE_MODE) - /* - * Run the IDE controller in 'compatiblity mode - i.e. don't use PCI - * interrupts. Using PCI ints confuses linux for some reason. - */ - - pci_read_config_byte(dev1, 0x42, &enables); - printk_debug("enables in reg 0x42 0x%x\n", enables); - enables &= ~0xc0; - pci_write_config_byte(dev1, 0x42, enables); - pci_read_config_byte(dev1, 0x42, &enables); - printk_debug("enables in reg 0x42 read back as 0x%x\n", enables); -#endif - - pci_read_config_byte(dev1, 0x40, &enables); - printk_debug("enables in reg 0x40 0x%x\n", enables); - enables |= 3; - pci_write_config_byte(dev1, 0x40, enables); - pci_read_config_byte(dev1, 0x40, &enables); - printk_debug("enables in reg 0x40 read back as 0x%x\n", enables); - - /* Enable prefetch buffers */ - pci_read_config_byte(dev1, 0x41, &enables); - enables |= 0xf0; - pci_write_config_byte(dev1, 0x41, enables); - - /* Lower thresholds (cause award does it) */ - pci_read_config_byte(dev1, 0x43, &enables); - enables &= ~0x0f; - enables |= 0x05; - pci_write_config_byte(dev1, 0x43, enables); - - /* PIO read prefetch counter (cause award does it) */ - pci_write_config_byte(dev1, 0x44, 0x18); - - /* Use memory read multiple */ - pci_write_config_byte(dev1, 0x45, 0x1c); - - /* address decoding. */ - pci_read_config_byte(dev1, 0x9, &enables); - printk_debug("enables in reg 0x9 0x%x\n", enables); - /* by the book, set the low-order nibble to 0xa. */ -#if ENABLE_IDE_NATIVE_MODE - enables &= ~0xf; - /* cf/cg silicon needs an 'f' here. */ - enables |= 0xf; -#else - enables &= ~0x5; -#endif - - pci_write_config_byte(dev1, 0x9, enables); - pci_read_config_byte(dev1, 0x9, &enables); - printk_debug("enables in reg 0x9 read back as 0x%x\n", enables); - - /* standard bios sets master bit. */ - pci_read_config_byte(dev1, 0x4, &enables); - printk_debug("command in reg 0x4 0x%x\n", enables); - enables |= 5; - - /* No need for stepping - kevinh@ispiri.com */ - enables &= ~0x80; - - pci_write_config_byte(dev1, 0x4, enables); - pci_read_config_byte(dev1, 0x4, &enables); - printk_debug("command in reg 0x4 reads back as 0x%x\n", enables); - -#if (!ENABLE_IDE_NATIVE_MODE) - /* Use compatability mode - per award bios */ - pci_write_config_dword(dev1, 0x10, 0x0); - pci_write_config_dword(dev1, 0x14, 0x0); - pci_write_config_dword(dev1, 0x18, 0x0); - pci_write_config_dword(dev1, 0x1c, 0x0); - - /* Force interrupts to use compat mode - just like Award bios */ - /* !!! FIX moved it to ide_config.inc */ -#endif - - ethernet_fixup(); - - usb_on(); - - /* Start the rtc */ - rtc_init(0); -} -#endif