Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Jul 2002 02:08:04 -0500 (CDT)
From:      John Utz <john@utzweb.net>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        tony@valemount.com, <mobile@FreeBSD.ORG>, <andrew@unfortu.net>
Subject:   Re: PCI -> PCMCIA Adapter woes - patch
Message-ID:  <Pine.LNX.4.44.0207240149440.23175-100000@jupiter.linuxengine.net>
In-Reply-To: <20020723.150649.12657684.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Yah, i know there is newer mail on this thread, but the issue that i find 
to be most important is addressed quite well by MWL.....

On Tue, 23 Jul 2002, M. Warner Losh wrote:

> In message: <0f5001c23287$1a948530$114c35d1@tonyxp>
>             "Tony Toole" <tony@valemount.com> writes:
> : Here is my patch to solve the problem you are having.  It works very well,
> : and you can use regular PCI IRQ routing with no /boot/loader.conf tweaks
> : needed.  NEWCARD also had the same problem, so this patch with subtle
> : changes should fix it as well.
> : 
> : I have included the patch as an attachment as email tends to mangle them.
> 
> First off, the IRQMUX register is 12xx and newer.  The documentation
> for the MUX register indicates that it should be programmed once by
> the eeprom that's on the board.  Chances are that this is a workaround
> for a bug in the card in question.
> 
> However, a reasonable thing to do would likely be to do this if the
> low nibble of the word was 0 (configuring it for a GPIO input, that
> the code never uses), then set it up to do PCI signalling.
> 
> I'm a little loathe to do this by default, because the docs say that
> you have to have terminal resistors on these multifuction pins to use
> them as outputs.

I would be way loathe, IMHO. If you dont have the pullups ( the 
terminating resistors ) then you are basically gambling that card 'design 
slop' and chip fabrication process 'fudge factors' all work out in your 
favor. :-(

The resistors 'hold the voltage up' and limit the current thru that
portion of the circuit.

If the chip has a lot of it's circuitry in parallel with that pin, which
likely if it's multifunction, because that pin is designed to do more
things than usual??. 

Next, if the card designer didnt keep the impedence of his portion of the
design pretty high, then every time the chip tries to assert (set to
logical high) that pin ( or, heaven help you, *several* of them at the
same time ) then you will be mistreating that chip quite badly and it will
at the very least 'act weird' and at the worst, fry.

I dont think that the frying is likely, but 'act weird' is the
one that i'd be betting on.

And, if the card cost us$40.00, and you've spent the last N weeks of 
billable hours ( at a rate >=us$40.00/hr ) trying to figure out why the 
card 'spazzes out' periodically....wouldnt you have rathered that it had 
just cooked and died in the first few minutes and left a big cloud of 
smoke and an obviously discolored part on the PCB?

:-)

> However, given that this is the only way I know to drive the PCI bus, it
> may make good sense to do it anyway.
 
eek! i defer to your expertise.


> Warner
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-mobile" in the body of the message
> 

-- 

John L. Utz III
john@utzweb.net

Idiocy is the Impulse Function in the Convolution of Life


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.44.0207240149440.23175-100000>