Support for Asix AX88796

From: Thomas Langås
Date: Tue Apr 10 2007 - 06:52:41 EST


I've got an DVB-C-box called Dreambox DM500-C and it uses the
AX88796-chip for networking. They (Dream Multimedia, makers of the
Dreambox) has patched the NE2000-drivers in the kernel (ne.c), but only to
get it working. As a result it doesn't seem to be performing more than
20-30 Mbps.

I found a driver [1] that I managed to patch into the linux 2.6.9-kernel, but
upon booting the dreambox it doesn't detect the networkcard. I suspect
it because of this (found inside the ne.c-file used by the dreambox):

static int __init do_ne_probe(struct net_device *dev)
{
#if defined(CONFIG_DM7020)
unsigned int base_addr = dev->base_addr = (unsigned
int)ioremap(0xf2000000,4096);
__u8 *p = (__u8*)base_addr;
if (*p == 0xFF)
{
shift_five=0;
base_addr = dev->base_addr = (unsigned
int)ioremap(0xf2000600,4096);
}
#elif defined(CONFIG_DM56xx)
unsigned int base_addr = dev->base_addr = (unsigned
int)ioremap(0xf2000600,4096);
#else
unsigned int base_addr = dev->base_addr;
#endif

#ifndef MODULE
int orig_irq = dev->irq = 29;
#endif


CONFIG_DM56xx is enabled, so there seems to be a hardcoded base_addr
used to probe for the networkchip (which is no surprise since this is for an
embedded device). But I'm a bit puzzled to where I should put this in the
driver below, because it didn't seem to start probing at all when I
added printk's
to try and debug.

Any pointers at all on where to start would be helpfull. :-)

In advance, thanks!

Links:
[1] - http://lwn.net/Articles/159224/


--
Thomas
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html