Date: Wed, 17 Mar 1999 22:10:14 +0100 From: Gerald Heinig <heinig@hdz-ima.rwth-aachen.de> To: freebsd-isdn@freebsd.org, hm@hcs.de Subject: I/O base address for ISAC/HSCX Message-ID: <36F01A36.8EB476A8@hdz-ima.rwth-aachen.de>
next in thread | raw e-mail | index | archive | help
Hi, I've finally found the time again to have a look at the i4b internals and I have a question which has been bugging me for a while now: why do you do all that I/O address translation ie. base + offset - somethingelse in the Fritz card low-level driver? more specifically, the lines #define AVM_CONF_REG 0x1800 /* base offset for config register */ #define AVM_CONF_IRQ 0x1801 /* base offset for IRQ register */ /* config register write */ in i4b_avm_a1.c are a source of puzzlement. Where do you get the 0x1800 from? Aren't the first set of ISAC registers simply mapped consecutively at I/O address (one of: 0x200/0x240/0x300/0x340)? If they're mapped elsewhere, where did this info come from? [hmm.. let me guess... AVM? :-) ]. Another bit is where you do the following: i4b_avm_a1.c line 121 insb((int)base - 0x3e0, (u_char *)buf, (u_int)len); ^^^^^^^^^^^^^ Why the base +/- offset business? Cheers, Gerald -- "Would you like to buy an encyclopaedia to help your child get to college?" "He doesn't need it. He takes the bus!" To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-isdn" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?36F01A36.8EB476A8>