[SerialICE] [commit] r104 - trunk/SerialICE/mainboard

repository service svn at coresystems.de
Fri Jul 2 21:06:06 CEST 2010


Author: stepan
Date: Fri Jul  2 21:06:05 2010
New Revision: 104
URL: http://www.serialice.com/trac/serialice/changeset/104

Log:
Fix the two Tyan boards from Myles latest patch which was
Signed-off-by: Myles Watson <mylesgw at gmail.com>
Acked-by: Stefan Reinauer <stepan at coresystems.de>

Modified:
   trunk/SerialICE/mainboard/tyan_s2892.c
   trunk/SerialICE/mainboard/tyan_s2895.c

Modified: trunk/SerialICE/mainboard/tyan_s2892.c
==============================================================================
--- trunk/SerialICE/mainboard/tyan_s2892.c	Fri Jul  2 16:49:53 2010	(r103)
+++ trunk/SerialICE/mainboard/tyan_s2892.c	Fri Jul  2 21:06:05 2010	(r104)
@@ -18,64 +18,44 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-const char boardname[33]="Tyan S2895                      ";
+const char boardname[33]="Tyan S2892                      ";
 
 #define SUPERIO_CONFIG_PORT	0x2e
-#define SUPERIO_GPIO_IO_BASE	0x400
+#define W83627HF_SP1            2
 
-#define LPC47B397_SP1		4	/* Com1 */
-#define LPC47B397_RT		10	/* Runtime reg */
-
-static void lpc47b397_gpio_offset_out(unsigned iobase, unsigned offset, unsigned value)
-{
-	outb(value,iobase+offset);
-}
-
-static unsigned lpc47b397_gpio_offset_in(unsigned iobase, unsigned offset)
-{
-	return inb(iobase+offset);
-}
-
-
-/* Functions for the SMSC LPC47B272 & B397 */
-static void smsc_enable_serial(u16 port, u8 dev, unsigned iobase)
-{
-	pnp_enter_ext_func_mode_alt(port);
-	pnp_set_logical_device(port, dev);
-	pnp_set_enable(port, 0);
-	pnp_set_iobase0(port, iobase);
-	pnp_set_enable(port, 1);
-	pnp_exit_ext_func_mode(port);
-}
-
-static void superio_init(void)
+static void sio_setup(void)
 {
 	unsigned value;
 	u32 dword;
 	u8 byte;
 
-	pci_write_config32(PCI_ADDR(0, 1, 0, 0xac), 0x047f0400);
-
 	byte = pci_read_config8(PCI_ADDR(0, 1 , 0, 0x7b));
 	byte |= 0x20;
 	pci_write_config8(PCI_ADDR(0, 1 , 0, 0x7b), byte);
 
 	dword = pci_read_config32(PCI_ADDR(0, 1 , 0, 0xa0));
-	dword |= (1<<29)|(1<<0);
+	dword |= (1<<0);
 	pci_write_config32(PCI_ADDR(0, 1 , 0, 0xa0), dword);
+}
+
+static void superio_init(void)
+{
+	int i;
+	pnp_enter_ext_func_mode(SUPERIO_CONFIG_PORT);
+
+	/* Enable the serial port. */
+	pnp_set_logical_device(SUPERIO_CONFIG_PORT, W83627HF_SP1); /* COM1 */
+	pnp_set_enable(SUPERIO_CONFIG_PORT, 0);
+	pnp_set_iobase0(SUPERIO_CONFIG_PORT, CONFIG_SERIAL_PORT);
+	pnp_set_irq0(SUPERIO_CONFIG_PORT, 4);
+	pnp_set_enable(SUPERIO_CONFIG_PORT, 1);
 
-	dword = pci_read_config32(PCI_ADDR(0, 1, 0, 0xa4));
-	dword |= (1<<16);
-	pci_write_config32(PCI_ADDR(0, 1, 0, 0xa4), dword);
-
-	smsc_enable_serial(SUPERIO_CONFIG_PORT, LPC47B397_RT, SUPERIO_GPIO_IO_BASE);
-	value = lpc47b397_gpio_offset_in(SUPERIO_GPIO_IO_BASE, 0x77);
-	value &= 0xbf;
-	lpc47b397_gpio_offset_out(SUPERIO_GPIO_IO_BASE, 0x77, value);
+	pnp_exit_ext_func_mode(SUPERIO_CONFIG_PORT);
 }
 
 static void chipset_init(void)
 {
+	sio_setup();
 	superio_init();
 
 	__asm__ __volatile__("\

Modified: trunk/SerialICE/mainboard/tyan_s2895.c
==============================================================================
--- trunk/SerialICE/mainboard/tyan_s2895.c	Fri Jul  2 16:49:53 2010	(r103)
+++ trunk/SerialICE/mainboard/tyan_s2895.c	Fri Jul  2 21:06:05 2010	(r104)
@@ -77,7 +77,7 @@
 static void chipset_init(void)
 {
 	superio_init();
-
+	smsc_enable_serial(SUPERIO_CONFIG_PORT, LPC47B397_SP1, CONFIG_SERIAL_PORT);
 	__asm__ __volatile__("\
 	jmp skip\n\
 	.align 128\n\



More information about the SerialICE mailing list