Skip site navigation (1)Skip section navigation (2)
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>