Added Allied Telesis SIU-98-D support.

Submitted by:	Isizu Takaaki <isizu-t01@aso-group.co.jp>
		chi@bd.mbn.or.jp (Chiharu Shibata)
		(w/ minor change by kato)
This commit is contained in:
KATO Takenori 1999-12-26 05:10:14 +00:00
parent 83d9b479e2
commit 26380d27fd
3 changed files with 42 additions and 25 deletions

View File

@ -233,16 +233,18 @@ device xl0 # 3Com 3c90x (``Boomerang'', ``Cyclone'')
#
# FE_8BIT_SUPPORT is needed to support LAC-98
#
#device ed0 at isa? port 0x00d0 irq 6
#device ed5 at isa? port 0x00d0 irq 6 iomem 0xd0000 iosiz 16384 flags 0x600000
#device ed1 at isa? port 0x00d8 irq 6 flags 0x200000
#device ed3 at isa? port 0x00d0 irq 6 flags 0x400000
#device ed4 at isa? port 0x56d0 irq 5 flags 0x500000
#device ed2 at isa? port 0x00d8 irq 6 flags 0x300000
#device ed7 at isa? port 0x00d0 irq 6 flags 0x900000
#device ed6 at isa? port 0x0770 irq 6 flags 0x800000
#device ed9 at isa? port 0x03d0 irq 6 flags 0xb00000
#device ed8 at isa? port 0xa3d0 irq 6 iomem 0xd0000 iosiz 16384 flags 0xa00000
device ed0 at isa? port 0x00d0 irq 6
device ed5 at isa? port 0x00d0 irq 6 iomem 0xd0000 iosiz 16384 flags 0x600000
device ed1 at isa? port 0x00d8 irq 6 flags 0x200000
device ed3 at isa? port 0x00d0 irq 6 flags 0x400000
device ed4 at isa? port 0x56d0 irq 5 flags 0x500000
device ed2 at isa? port 0x00d8 irq 6 flags 0x300000
device ed7 at isa? port 0x00d0 irq 6 flags 0x900000
device ed6 at isa? port 0x0770 irq 6 flags 0x800000
device ed9 at isa? port 0x03d0 irq 6 flags 0xb00000
device ed8 at isa? port 0xa3d0 irq 6 iomem 0xd0000 iosiz 16384 flags 0xa00000
device ed11 at isa? port 0x00d0 irq 6 iomem 0xd0000 iosiz 32768 flags 0x610000
# NOTE: This removes the isa attachment so that the pccard unit numbers
# come out right.
device ep0 at isa? port 0x40d0 irq 3

View File

@ -233,16 +233,18 @@ device xl0 # 3Com 3c90x (``Boomerang'', ``Cyclone'')
#
# FE_8BIT_SUPPORT is needed to support LAC-98
#
#device ed0 at isa? port 0x00d0 irq 6
#device ed5 at isa? port 0x00d0 irq 6 iomem 0xd0000 iosiz 16384 flags 0x600000
#device ed1 at isa? port 0x00d8 irq 6 flags 0x200000
#device ed3 at isa? port 0x00d0 irq 6 flags 0x400000
#device ed4 at isa? port 0x56d0 irq 5 flags 0x500000
#device ed2 at isa? port 0x00d8 irq 6 flags 0x300000
#device ed7 at isa? port 0x00d0 irq 6 flags 0x900000
#device ed6 at isa? port 0x0770 irq 6 flags 0x800000
#device ed9 at isa? port 0x03d0 irq 6 flags 0xb00000
#device ed8 at isa? port 0xa3d0 irq 6 iomem 0xd0000 iosiz 16384 flags 0xa00000
device ed0 at isa? port 0x00d0 irq 6
device ed5 at isa? port 0x00d0 irq 6 iomem 0xd0000 iosiz 16384 flags 0x600000
device ed1 at isa? port 0x00d8 irq 6 flags 0x200000
device ed3 at isa? port 0x00d0 irq 6 flags 0x400000
device ed4 at isa? port 0x56d0 irq 5 flags 0x500000
device ed2 at isa? port 0x00d8 irq 6 flags 0x300000
device ed7 at isa? port 0x00d0 irq 6 flags 0x900000
device ed6 at isa? port 0x0770 irq 6 flags 0x800000
device ed9 at isa? port 0x03d0 irq 6 flags 0xb00000
device ed8 at isa? port 0xa3d0 irq 6 iomem 0xd0000 iosiz 16384 flags 0xa00000
device ed11 at isa? port 0x00d0 irq 6 iomem 0xd0000 iosiz 32768 flags 0x610000
# NOTE: This removes the isa attachment so that the pccard unit numbers
# come out right.
device ep0 at isa? port 0x40d0 irq 3

View File

@ -1923,14 +1923,24 @@ ed_probe_SIC98(isa_dev)
/* Reset card to force it into a known state. */
outb(sc->asic_addr, 0x00);
DELAY(100);
outb(sc->asic_addr, 0x94);
DELAY(100);
outb(sc->asic_addr, 0x94);
if (ED_TYPE98SUB(isa_dev->id_flags) == 0) {
/* SIC-98/SIU-98 */
outb(sc->asic_addr, 0x94);
DELAY(100);
outb(sc->asic_addr, 0x94);
} else {
/* SIU-98-D */
outb(sc->asic_addr, 0x80);
DELAY(100);
outb(sc->asic_addr, 0x94);
DELAY(100);
outb(sc->asic_addr, 0x9e);
}
DELAY(100);
/* Here we check the card ROM, if the checksum passes, and the
* type code and ethernet address check out, then we know we have
* a SIC card.
* an SIC card.
*/
sum = sc->mem_start[6 * 2];
for (i = 0; i < ETHER_ADDR_LEN; ++i)
@ -1954,7 +1964,10 @@ ed_probe_SIC98(isa_dev)
/*
* SIC RAM page 0x0000-0x3fff(or 0x7fff)
*/
outb(sc->asic_addr, 0x90);
if (ED_TYPE98SUB(isa_dev->id_flags) == 0)
outb(sc->asic_addr, 0x90);
else
outb(sc->asic_addr, 0x8e);
DELAY(100);
/*