diff options
-rw-r--r-- | src/mainboard/via/epia/Options.lb | 2 | ||||
-rw-r--r-- | src/mainboard/via/epia/auto.c | 9 | ||||
-rw-r--r-- | src/southbridge/via/vt8231/vt8231_ide.c | 8 |
3 files changed, 16 insertions, 3 deletions
diff --git a/src/mainboard/via/epia/Options.lb b/src/mainboard/via/epia/Options.lb index c3af994a6f..9377b63dbd 100644 --- a/src/mainboard/via/epia/Options.lb +++ b/src/mainboard/via/epia/Options.lb @@ -51,7 +51,7 @@ uses MAXIMUM_CONSOLE_LOGLEVEL default CONFIG_CONSOLE_SERIAL8250=1 ## Select the serial console baud rate -default TTYS0_BAUD=19200 +default TTYS0_BAUD=115200 # Select the serial console base port default TTYS0_BASE=0x3f8 diff --git a/src/mainboard/via/epia/auto.c b/src/mainboard/via/epia/auto.c index 9e12f52a7c..dcaa6aace9 100644 --- a/src/mainboard/via/epia/auto.c +++ b/src/mainboard/via/epia/auto.c @@ -66,8 +66,15 @@ static void enable_mainboard_devices(void) /* we do this here as in V2, we can not yet do raw operations * to pci! */ - dev += 0x100; /* ICKY */ + /* changed this to work correctly on later revisions of LB. + * The original dev += 0x100; stopped working. It also appears + * that if this is not set here, but in ide_init() only, the IDE + * does not work at all. I assume it needs to be set before something else, + * possibly before enabling the IDE peripheral, or it is a timing issue. + * Ben Hewson 29 Apr 2007. + */ + dev = pci_locate_device(PCI_ID(0x1106,0x0571), 0); pci_write_config8(dev, 0x42, 0); } diff --git a/src/southbridge/via/vt8231/vt8231_ide.c b/src/southbridge/via/vt8231/vt8231_ide.c index 9f06176cc5..dd0e1bb419 100644 --- a/src/southbridge/via/vt8231/vt8231_ide.c +++ b/src/southbridge/via/vt8231/vt8231_ide.c @@ -14,7 +14,12 @@ static void ide_init(struct device *dev) if (!conf->enable_native_ide) { // Run the IDE controller in 'compatiblity mode - i.e. don't use PCI // interrupts. Using PCI ints confuses linux for some reason. - + /* Setting reg 0x42 here does not work. It is set in mainboard/auto.c + * It probably can only be changed while the IDE is disabled + * or it is possibly a timing issue. Ben Hewson 29 Apr 2007. + */ + + /* printk_info("%s: enabling compatibility IDE addresses\n", __FUNCTION__); enables = pci_read_config8(dev, 0x42); printk_debug("enables in reg 0x42 0x%x\n", enables); @@ -22,6 +27,7 @@ static void ide_init(struct device *dev) pci_write_config8(dev, 0x42, enables); enables = pci_read_config8(dev, 0x42); printk_debug("enables in reg 0x42 read back as 0x%x\n", enables); + */ } enables = pci_read_config8(dev, 0x40); |