Comments in the notes by Jens Schönfeld, developer of the X-Surf, are marked with ">>" at the beginning of the line. Please report to both of us, Geert and Jens, if the Patch works or not. Our e-mail addresses are: geert@linux-m68k.org jens@jschoenfeld.de This Patch has also been CC'd to: Cc: Linux/PPC on APUS , Linux/m68k Subject: X-Surf (was: Re: Ethernet support) I think the patch below converts the Ariadne II driver into a driver for the X-Surf. If it works, I'll be happy to integrate it with the Ariadne II driver into one ne2k-zorro driver. Notes: - I assume the RTL8019AS on the X-Surf is not in PnP mode. Else we first have to do ISA PnP isolation and assignment. >>The RTL8019AS is in PnP mode on the X-Surf, but Isolation >>is not necessary in most cases, as 0x300 is the standard >>place for the chip. If you encounter problems, PnP isolation >>could be done either by the test-program of the X-Surf, or >>by opening and closing the sana2-driver before starting Linux. >>This will ensure that the RTL8019 is at 0x300 (that is, 0x8600 >>on the X-Surf) - At first I thought I could easily convert the Ariadne II driver in a Hydra driver as well, but this didn't turn out to be the case. The Hydra doesn't seem to have the 8390 reset register and the 8390 data port register (there's only 0x1f space for registers, at even offsets). I guess that's why the old Hydra driver accesses the on-board RAM directly instead of through the 8390 data port. But I'm sure a driver can be written that uses the generic 8390 driver core, it's just a bit more work. - From reading the specs, the X-Surf also seems to have 2 IDE interfaces. It doesn't seem to be that difficult to support, so if someone is interested in a driver, please speak up. >>It's true, it's not that difficult. Mind that only the >>lower 8 IDE registers are available on the X-Surf. No >>Alternate Status, and no software-reset! The address >>spacing is the same as on the A1200 and on the Buddha. - Anyone who knows what else is on the X-Surf that's worth to support? Disclaimer: I don't own any NE2000 compatible Amiga Ethernet cards. But I do wish you good luck! :-) >>I will change that this week! --- linux/drivers/net/ariadne2.c Tue Jul 18 14:04:53 2000 +++ linux/drivers/net/ariadne2_xsurf.c Sun Aug 6 16:20:57 2000 @@ -38,7 +38,7 @@ #include "8390.h" -#define ARIADNE2_BASE 0x0300 +#define XSURF_BASE 0x8600 #define ARIADNE2_BOOTROM 0xc000 @@ -86,9 +86,9 @@ unsigned long board, ioaddr; int err; - while ((z = zorro_find_device(ZORRO_PROD_VILLAGE_TRONIC_ARIADNE2, z))) { + while ((z = zorro_find_device(0x12121700, z))) { board = z->resource.start; - ioaddr = board+ARIADNE2_BASE*2; + ioaddr = board+XSURF_BASE; if (!request_mem_region(ioaddr, NE_IO_EXTENT*2, "RTL8019AS")) continue; if ((err = ariadne2_init(dev, ZTWO_VADDR(board)))) { @@ -111,7 +111,7 @@ 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e, }; - unsigned long ioaddr = board+ARIADNE2_BASE*2; + unsigned long ioaddr = board+XSURF_BASE; /* We should have a "dev" from Space.c or the static module table. */ if (dev == NULL) { Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds